; LLVM IR from weicao/cascadb :: test/t_node.ll (ZN19Tree_bootstrap_Test8TestBodyEv)

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

%"class.testing::AssertionResult" = type { i8, %"class.testing::internal::scoped_ptr" }
%"class.testing::internal::scoped_ptr" = type { ptr }
%"class.cascadb::Options" = type <{ ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i8, [3 x i8] }>
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }
%"class.testing::Message" = type { %"class.testing::internal::scoped_ptr.0" }
%"class.testing::internal::scoped_ptr.0" = type { ptr }
%"class.testing::internal::AssertHelper" = type { ptr }
%"class.testing::internal::String" = type { ptr, i64 }
%"class.cascadb::Slice" = type <{ ptr, i32, [4 x i8] }>
%"class.cascadb::Tree" = type { %"class.std::__cxx11::basic_string", %"class.cascadb::Options", ptr, ptr, ptr, ptr, ptr, ptr }
%"class.cascadb::Node" = type { ptr, %"class.std::__cxx11::basic_string", i64, %"class.cascadb::Mutex", i8, i8, i8, %struct.timeval, %struct.timeval, i32, i32, %"class.cascadb::RWLock" }
%"class.cascadb::Mutex" = type { i8, %union.pthread_mutex_t }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%struct.timeval = type { i64, i64 }
%"class.cascadb::RWLock" = type { %union.pthread_rwlock_t }
%union.pthread_rwlock_t = type { %struct.__pthread_rwlock_arch_t }
%struct.__pthread_rwlock_arch_t = type { i32, i32, i32, i32, i32, i32, i32, i32, i8, [7 x i8], i64, i32 }
%"class.cascadb::InnerNode" = type { %"class.cascadb::DataNode.base", i8, i64, ptr, %"class.cascadb::Slice", i32, i32, i32, i16, %"class.std::vector", i64, i64, i64 }
%"class.cascadb::DataNode.base" = type <{ %"class.cascadb::Node", ptr, i32 }>
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<cascadb::Pivot, std::allocator<cascadb::Pivot>>::_Vector_impl" }
%"struct.std::_Vector_base<cascadb::Pivot, std::allocator<cascadb::Pivot>>::_Vector_impl" = type { %"struct.std::_Vector_base<cascadb::Pivot, std::allocator<cascadb::Pivot>>::_Vector_impl_data" }
%"struct.std::_Vector_base<cascadb::Pivot, std::allocator<cascadb::Pivot>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.cascadb::LeafNode" = type { %"class.cascadb::DataNode.base", i8, i64, i64, i64, %"class.std::vector.33", %"class.cascadb::RecordBuckets" }
%"class.std::vector.33" = type { %"struct.std::_Vector_base.34" }
%"struct.std::_Vector_base.34" = type { %"struct.std::_Vector_base<cascadb::LeafNode::BucketInfo, std::allocator<cascadb::LeafNode::BucketInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<cascadb::LeafNode::BucketInfo, std::allocator<cascadb::LeafNode::BucketInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<cascadb::LeafNode::BucketInfo, std::allocator<cascadb::LeafNode::BucketInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<cascadb::LeafNode::BucketInfo, std::allocator<cascadb::LeafNode::BucketInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.cascadb::RecordBuckets" = type { i64, %"class.std::vector.38", i64, i64, i64 }
%"class.std::vector.38" = type { %"struct.std::_Vector_base.39" }
%"struct.std::_Vector_base.39" = type { %"struct.std::_Vector_base<cascadb::RecordBuckets::RecordBucketInfo, std::allocator<cascadb::RecordBuckets::RecordBucketInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<cascadb::RecordBuckets::RecordBucketInfo, std::allocator<cascadb::RecordBuckets::RecordBucketInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<cascadb::RecordBuckets::RecordBucketInfo, std::allocator<cascadb::RecordBuckets::RecordBucketInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<cascadb::RecordBuckets::RecordBucketInfo, std::allocator<cascadb::RecordBuckets::RecordBucketInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.cascadb::Record" = type { %"class.cascadb::Slice", %"class.cascadb::Slice" }
%"class.cascadb::Pivot" = type <{ %"class.cascadb::Slice", %"class.cascadb::Slice", i64, ptr, i32, i32, i32, i16, [2 x i8] }>
%"class.cascadb::Msg" = type { i32, [4 x i8], %"class.cascadb::Slice", %"class.cascadb::Slice" }

@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [24 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) #1

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19Tree_bootstrap_Test8TestBodyEv(ptr noundef nonnull align 8 dereferenceable(16) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca %"class.cascadb::Options", align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator.2", align 1
  %10 = alloca ptr, align 8
  %11 = alloca %"class.testing::AssertionResult", align 8
  %12 = alloca %"class.testing::Message", align 8
  %13 = alloca %"class.testing::internal::AssertHelper", align 8
  %14 = alloca %"class.testing::internal::String", align 8
  %15 = alloca i32, align 4
  %16 = alloca ptr, align 8
  %17 = alloca %"class.testing::AssertionResult", align 8
  %18 = alloca %"class.testing::Message", align 8
  %19 = alloca %"class.testing::internal::AssertHelper", align 8
  %20 = alloca %"class.testing::internal::String", align 8
  %21 = alloca ptr, align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator.2", align 1
  %24 = alloca i1, align 1
  %25 = alloca %"class.testing::AssertionResult", align 8
  %26 = alloca %"class.testing::Message", align 8
  %27 = alloca %"class.testing::internal::AssertHelper", align 8
  %28 = alloca %"class.testing::internal::String", align 8
  %29 = alloca ptr, align 8
  %30 = alloca %"class.testing::AssertionResult", align 8
  %31 = alloca i64, align 8
  %32 = alloca %"class.testing::Message", align 8
  %33 = alloca %"class.testing::internal::AssertHelper", align 8
  %34 = alloca %"class.cascadb::Slice", align 8
  %35 = alloca %"class.cascadb::Slice", align 8
  %36 = alloca %"class.cascadb::Slice", align 8
  %37 = alloca %"class.cascadb::Slice", align 8
  %38 = alloca %"class.cascadb::Slice", align 8
  %39 = alloca %"class.cascadb::Slice", align 8
  %40 = alloca %"class.testing::AssertionResult", align 8
  %41 = alloca i64, align 8
  %42 = alloca %"class.testing::Message", align 8
  %43 = alloca %"class.testing::internal::AssertHelper", align 8
  %44 = alloca %"class.testing::AssertionResult", align 8
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca %"class.testing::Message", align 8
  %48 = alloca %"class.testing::internal::AssertHelper", align 8
  %49 = alloca %"class.cascadb::Slice", align 8
  %50 = alloca %"class.cascadb::Slice", align 8
  %51 = alloca %"class.testing::AssertionResult", align 8
  %52 = alloca i32, align 4
  %53 = alloca i64, align 8
  %54 = alloca %"class.testing::Message", align 8
  %55 = alloca %"class.testing::internal::AssertHelper", align 8
  %56 = alloca %"class.testing::AssertionResult", align 8
  %57 = alloca %"class.testing::Message", align 8
  %58 = alloca %"class.testing::internal::AssertHelper", align 8
  %59 = alloca %"class.testing::internal::String", align 8
  %60 = alloca ptr, align 8
  %61 = alloca %"class.testing::AssertionResult", align 8
  %62 = alloca i64, align 8
  %63 = alloca %"class.testing::Message", align 8
  %64 = alloca %"class.testing::internal::AssertHelper", align 8
  %65 = alloca %"class.testing::AssertionResult", align 8
  %66 = alloca i32, align 4
  %67 = alloca i64, align 8
  %68 = alloca %"class.testing::Message", align 8
  %69 = alloca %"class.testing::internal::AssertHelper", align 8
  %70 = alloca %"class.testing::AssertionResult", align 8
  %71 = alloca %"class.testing::Message", align 8
  %72 = alloca %"class.testing::internal::AssertHelper", align 8
  %73 = alloca %"class.testing::AssertionResult", align 8
  %74 = alloca %"class.testing::Message", align 8
  %75 = alloca %"class.testing::internal::AssertHelper", align 8
  %76 = alloca %"class.testing::AssertionResult", align 8
  %77 = alloca %"class.testing::Message", align 8
  %78 = alloca %"class.testing::internal::AssertHelper", align 8
  %79 = alloca %"class.testing::AssertionResult", align 8
  %80 = alloca %"class.testing::Message", align 8
  %81 = alloca %"class.testing::internal::AssertHelper", align 8
  %82 = alloca %"class.testing::AssertionResult", align 8
  %83 = alloca %"class.testing::Message", align 8
  %84 = alloca %"class.testing::internal::AssertHelper", align 8
  %85 = alloca %"class.testing::AssertionResult", align 8
  %86 = alloca %"class.testing::Message", align 8
  %87 = alloca %"class.testing::internal::AssertHelper", align 8
  %88 = alloca %"class.testing::AssertionResult", align 8
  %89 = alloca %"class.testing::Message", align 8
  %90 = alloca %"class.testing::internal::AssertHelper", align 8
  %91 = alloca %"class.testing::AssertionResult", align 8
  %92 = alloca %"class.testing::Message", align 8
  %93 = alloca %"class.testing::internal::AssertHelper", align 8
  %94 = alloca %"class.cascadb::Slice", align 8
  %95 = alloca %"class.cascadb::Slice", align 8
  %96 = alloca %"class.cascadb::Slice", align 8
  %97 = alloca %"class.cascadb::Slice", align 8
  %98 = alloca %"class.cascadb::Slice", align 8
  %99 = alloca %"class.cascadb::Slice", align 8
  %100 = alloca %"class.testing::AssertionResult", align 8
  %101 = alloca i32, align 4
  %102 = alloca i64, align 8
  %103 = alloca %"class.testing::Message", align 8
  %104 = alloca %"class.testing::internal::AssertHelper", align 8
  %105 = alloca %"class.cascadb::Slice", align 8
  %106 = alloca %"class.cascadb::Slice", align 8
  %107 = alloca %"class.testing::AssertionResult", align 8
  %108 = alloca i32, align 4
  %109 = alloca i64, align 8
  %110 = alloca %"class.testing::Message", align 8
  %111 = alloca %"class.testing::internal::AssertHelper", align 8
  %112 = alloca %"class.testing::AssertionResult", align 8
  %113 = alloca %"class.testing::Message", align 8
  %114 = alloca %"class.testing::internal::AssertHelper", align 8
  %115 = alloca %"class.testing::AssertionResult", align 8
  %116 = alloca i32, align 4
  %117 = alloca i64, align 8
  %118 = alloca %"class.testing::Message", align 8
  %119 = alloca %"class.testing::internal::AssertHelper", align 8
  %120 = alloca %"class.testing::AssertionResult", align 8
  %121 = alloca %"class.cascadb::Slice", align 8
  %122 = alloca %"class.testing::Message", align 8
  %123 = alloca %"class.testing::internal::AssertHelper", align 8
  %124 = alloca %"class.testing::internal::String", align 8
  %125 = alloca %"class.testing::AssertionResult", align 8
  %126 = alloca %"class.testing::Message", align 8
  %127 = alloca %"class.testing::internal::AssertHelper", align 8
  %128 = alloca %"class.testing::internal::String", align 8
  %129 = alloca %"class.testing::AssertionResult", align 8
  %130 = alloca %"class.testing::Message", align 8
  %131 = alloca %"class.testing::internal::AssertHelper", align 8
  %132 = alloca %"class.testing::internal::String", align 8
  %133 = alloca ptr, align 8
  %134 = alloca %"class.testing::AssertionResult", align 8
  %135 = alloca i64, align 8
  %136 = alloca %"class.testing::Message", align 8
  %137 = alloca %"class.testing::internal::AssertHelper", align 8
  %138 = alloca %"class.testing::AssertionResult", align 8
  %139 = alloca i32, align 4
  %140 = alloca i64, align 8
  %141 = alloca %"class.testing::Message", align 8
  %142 = alloca %"class.testing::internal::AssertHelper", align 8
  %143 = alloca %"class.testing::AssertionResult", align 8
  %144 = alloca %"class.testing::Message", align 8
  %145 = alloca %"class.testing::internal::AssertHelper", align 8
  %146 = alloca %"class.testing::AssertionResult", align 8
  %147 = alloca %"class.testing::Message", align 8
  %148 = alloca %"class.testing::internal::AssertHelper", align 8
  %149 = alloca %"class.testing::AssertionResult", align 8
  %150 = alloca %"class.testing::Message", align 8
  %151 = alloca %"class.testing::internal::AssertHelper", align 8
  %152 = alloca %"class.testing::AssertionResult", align 8
  %153 = alloca %"class.testing::Message", align 8
  %154 = alloca %"class.testing::internal::AssertHelper", align 8
  %155 = alloca %"class.testing::AssertionResult", align 8
  %156 = alloca %"class.testing::Message", align 8
  %157 = alloca %"class.testing::internal::AssertHelper", align 8
  %158 = alloca %"class.testing::AssertionResult", align 8
  %159 = alloca %"class.testing::Message", align 8
  %160 = alloca %"class.testing::internal::AssertHelper", align 8
  %161 = alloca %"class.testing::AssertionResult", align 8
  %162 = alloca %"class.testing::Message", align 8
  %163 = alloca %"class.testing::internal::AssertHelper", align 8
  %164 = alloca %"class.testing::AssertionResult", align 8
  %165 = alloca %"class.testing::Message", align 8
  %166 = alloca %"class.testing::internal::AssertHelper", align 8
  %167 = alloca %"class.testing::AssertionResult", align 8
  %168 = alloca i32, align 4
  %169 = alloca i64, align 8
  %170 = alloca %"class.testing::Message", align 8
  %171 = alloca %"class.testing::internal::AssertHelper", align 8
  %172 = alloca %"class.testing::AssertionResult", align 8
  %173 = alloca %"class.testing::Message", align 8
  %174 = alloca %"class.testing::internal::AssertHelper", align 8
  %175 = alloca %"class.testing::AssertionResult", align 8
  %176 = alloca %"class.testing::Message", align 8
  %177 = alloca %"class.testing::internal::AssertHelper", align 8
  %178 = alloca %"class.testing::AssertionResult", align 8
  %179 = alloca %"class.testing::Message", align 8
  %180 = alloca %"class.testing::internal::AssertHelper", align 8
  %181 = alloca %"class.testing::AssertionResult", align 8
  %182 = alloca %"class.testing::Message", align 8
  %183 = alloca %"class.testing::internal::AssertHelper", align 8
  %184 = alloca %"class.testing::AssertionResult", align 8
  %185 = alloca %"class.testing::Message", align 8
  %186 = alloca %"class.testing::internal::AssertHelper", align 8
  %187 = alloca %"class.testing::AssertionResult", align 8
  %188 = alloca %"class.testing::Message", align 8
  %189 = alloca %"class.testing::internal::AssertHelper", align 8
  %190 = alloca %"class.testing::AssertionResult", align 8
  %191 = alloca %"class.testing::Message", align 8
  %192 = alloca %"class.testing::internal::AssertHelper", align 8
  %193 = alloca %"class.testing::AssertionResult", align 8
  %194 = alloca %"class.testing::Message", align 8
  %195 = alloca %"class.testing::internal::AssertHelper", align 8
  %196 = alloca %"class.cascadb::Slice", align 8
  %197 = alloca %"class.cascadb::Slice", align 8
  %198 = alloca %"class.cascadb::Slice", align 8
  %199 = alloca %"class.cascadb::Slice", align 8
  %200 = alloca %"class.cascadb::Slice", align 8
  %201 = alloca %"class.cascadb::Slice", align 8
  %202 = alloca %"class.testing::AssertionResult", align 8
  %203 = alloca i32, align 4
  %204 = alloca i64, align 8
  %205 = alloca %"class.testing::Message", align 8
  %206 = alloca %"class.testing::internal::AssertHelper", align 8
  %207 = alloca %"class.cascadb::Slice", align 8
  %208 = alloca %"class.cascadb::Slice", align 8
  %209 = alloca %"class.testing::AssertionResult", align 8
  %210 = alloca %"class.testing::Message", align 8
  %211 = alloca %"class.testing::internal::AssertHelper", align 8
  %212 = alloca ptr, align 8
  %213 = alloca %"class.testing::AssertionResult", align 8
  %214 = alloca i64, align 8
  %215 = alloca %"class.testing::Message", align 8
  %216 = alloca %"class.testing::internal::AssertHelper", align 8
  %217 = alloca %"class.testing::AssertionResult", align 8
  %218 = alloca %"class.testing::Message", align 8
  %219 = alloca %"class.testing::internal::AssertHelper", align 8
  %220 = alloca %"class.testing::AssertionResult", align 8
  %221 = alloca i64, align 8
  %222 = alloca i32, align 4
  %223 = alloca %"class.testing::Message", align 8
  %224 = alloca %"class.testing::internal::AssertHelper", align 8
  %225 = alloca %"class.testing::AssertionResult", align 8
  %226 = alloca i32, align 4
  %227 = alloca i64, align 8
  %228 = alloca %"class.testing::Message", align 8
  %229 = alloca %"class.testing::internal::AssertHelper", align 8
  %230 = alloca %"class.testing::AssertionResult", align 8
  %231 = alloca %"class.testing::Message", align 8
  %232 = alloca %"class.testing::internal::AssertHelper", align 8
  %233 = alloca %"class.testing::AssertionResult", align 8
  %234 = alloca i32, align 4
  %235 = alloca i64, align 8
  %236 = alloca %"class.testing::Message", align 8
  %237 = alloca %"class.testing::internal::AssertHelper", align 8
  %238 = alloca %"class.testing::AssertionResult", align 8
  %239 = alloca %"class.cascadb::Slice", align 8
  %240 = alloca %"class.testing::Message", align 8
  %241 = alloca %"class.testing::internal::AssertHelper", align 8
  %242 = alloca %"class.testing::internal::String", align 8
  %243 = alloca %"class.testing::AssertionResult", align 8
  %244 = alloca %"class.testing::Message", align 8
  %245 = alloca %"class.testing::internal::AssertHelper", align 8
  %246 = alloca %"class.testing::internal::String", align 8
  %247 = alloca %"class.testing::AssertionResult", align 8
  %248 = alloca %"class.testing::Message", align 8
  %249 = alloca %"class.testing::internal::AssertHelper", align 8
  %250 = alloca %"class.testing::internal::String", align 8
  %251 = alloca %"class.testing::AssertionResult", align 8
  %252 = alloca %"class.testing::Message", align 8
  %253 = alloca %"class.testing::internal::AssertHelper", align 8
  %254 = alloca %"class.testing::internal::String", align 8
  %255 = alloca ptr, align 8
  %256 = alloca %"class.testing::AssertionResult", align 8
  %257 = alloca i64, align 8
  %258 = alloca %"class.testing::Message", align 8
  %259 = alloca %"class.testing::internal::AssertHelper", align 8
  %260 = alloca %"class.testing::AssertionResult", align 8
  %261 = alloca i32, align 4
  %262 = alloca i64, align 8
  %263 = alloca %"class.testing::Message", align 8
  %264 = alloca %"class.testing::internal::AssertHelper", align 8
  %265 = alloca %"class.testing::AssertionResult", align 8
  %266 = alloca %"class.testing::Message", align 8
  %267 = alloca %"class.testing::internal::AssertHelper", align 8
  %268 = alloca %"class.testing::AssertionResult", align 8
  %269 = alloca %"class.testing::Message", align 8
  %270 = alloca %"class.testing::internal::AssertHelper", align 8
  %271 = alloca %"class.testing::AssertionResult", align 8
  %272 = alloca %"class.testing::Message", align 8
  %273 = alloca %"class.testing::internal::AssertHelper", align 8
  %274 = alloca %"class.testing::AssertionResult", align 8
  %275 = alloca %"class.testing::Message", align 8
  %276 = alloca %"class.testing::internal::AssertHelper", align 8
  %277 = alloca %"class.testing::AssertionResult", align 8
  %278 = alloca i32, align 4
  %279 = alloca i64, align 8
  %280 = alloca %"class.testing::Message", align 8
  %281 = alloca %"class.testing::internal::AssertHelper", align 8
  %282 = alloca %"class.testing::AssertionResult", align 8
  %283 = alloca %"class.testing::Message", align 8
  %284 = alloca %"class.testing::internal::AssertHelper", align 8
  %285 = alloca %"class.testing::AssertionResult", align 8
  %286 = alloca %"class.testing::Message", align 8
  %287 = alloca %"class.testing::internal::AssertHelper", align 8
  %288 = alloca %"class.testing::AssertionResult", align 8
  %289 = alloca %"class.testing::Message", align 8
  %290 = alloca %"class.testing::internal::AssertHelper", align 8
  %291 = alloca %"class.testing::AssertionResult", align 8
  %292 = alloca %"class.testing::Message", align 8
  %293 = alloca %"class.testing::internal::AssertHelper", align 8
  %294 = alloca %"class.testing::AssertionResult", align 8
  %295 = alloca %"class.testing::Message", align 8
  %296 = alloca %"class.testing::internal::AssertHelper", align 8
  %297 = alloca %"class.testing::AssertionResult", align 8
  %298 = alloca %"class.testing::Message", align 8
  %299 = alloca %"class.testing::internal::AssertHelper", align 8
  %300 = alloca %"class.testing::AssertionResult", align 8
  %301 = alloca i32, align 4
  %302 = alloca i64, align 8
  %303 = alloca %"class.testing::Message", align 8
  %304 = alloca %"class.testing::internal::AssertHelper", align 8
  %305 = alloca %"class.testing::AssertionResult", align 8
  %306 = alloca i64, align 8
  %307 = alloca i32, align 4
  %308 = alloca %"class.testing::Message", align 8
  %309 = alloca %"class.testing::internal::AssertHelper", align 8
  %310 = alloca %"class.testing::AssertionResult", align 8
  %311 = alloca %"class.cascadb::Slice", align 8
  %312 = alloca %"class.testing::Message", align 8
  %313 = alloca %"class.testing::internal::AssertHelper", align 8
  %314 = alloca %"class.testing::internal::String", align 8
  %315 = alloca %"class.testing::AssertionResult", align 8
  %316 = alloca %"class.testing::Message", align 8
  %317 = alloca %"class.testing::internal::AssertHelper", align 8
  %318 = alloca %"class.testing::internal::String", align 8
  %319 = alloca ptr, align 8
  %320 = alloca %"class.testing::AssertionResult", align 8
  %321 = alloca i64, align 8
  %322 = alloca %"class.testing::Message", align 8
  %323 = alloca %"class.testing::internal::AssertHelper", align 8
  %324 = alloca %"class.testing::AssertionResult", align 8
  %325 = alloca i32, align 4
  %326 = alloca i64, align 8
  %327 = alloca %"class.testing::Message", align 8
  %328 = alloca %"class.testing::internal::AssertHelper", align 8
  %329 = alloca %"class.testing::AssertionResult", align 8
  %330 = alloca i32, align 4
  %331 = alloca %"class.testing::Message", align 8
  %332 = alloca %"class.testing::internal::AssertHelper", align 8
  %333 = alloca %"class.testing::AssertionResult", align 8
  %334 = alloca %"class.testing::Message", align 8
  %335 = alloca %"class.testing::internal::AssertHelper", align 8
  %336 = alloca %"class.testing::AssertionResult", align 8
  %337 = alloca %"class.testing::Message", align 8
  %338 = alloca %"class.testing::internal::AssertHelper", align 8
  %339 = alloca %"class.testing::AssertionResult", align 8
  %340 = alloca %"class.testing::Message", align 8
  %341 = alloca %"class.testing::internal::AssertHelper", align 8
  %342 = alloca %"class.testing::AssertionResult", align 8
  %343 = alloca i32, align 4
  %344 = alloca i64, align 8
  %345 = alloca %"class.testing::Message", align 8
  %346 = alloca %"class.testing::internal::AssertHelper", align 8
  %347 = alloca %"class.testing::AssertionResult", align 8
  %348 = alloca i32, align 4
  %349 = alloca i64, align 8
  %350 = alloca %"class.testing::Message", align 8
  %351 = alloca %"class.testing::internal::AssertHelper", align 8
  %352 = alloca %"class.cascadb::Slice", align 8
  %353 = alloca %"class.cascadb::Slice", align 8
  %354 = alloca %"class.cascadb::Slice", align 8
  %355 = alloca %"class.cascadb::Slice", align 8
  %356 = alloca %"class.cascadb::Slice", align 8
  %357 = alloca %"class.cascadb::Slice", align 8
  %358 = alloca %"class.cascadb::Slice", align 8
  %359 = alloca %"class.cascadb::Slice", align 8
  %360 = alloca %"class.testing::AssertionResult", align 8
  %361 = alloca %"class.testing::Message", align 8
  %362 = alloca %"class.testing::internal::AssertHelper", align 8
  %363 = alloca %"class.testing::AssertionResult", align 8
  %364 = alloca i64, align 8
  %365 = alloca %"class.testing::Message", align 8
  %366 = alloca %"class.testing::internal::AssertHelper", align 8
  %367 = alloca %"class.testing::AssertionResult", align 8
  %368 = alloca %"class.testing::Message", align 8
  %369 = alloca %"class.testing::internal::AssertHelper", align 8
  %370 = alloca %"class.testing::AssertionResult", align 8
  %371 = alloca i32, align 4
  %372 = alloca i64, align 8
  %373 = alloca %"class.testing::Message", align 8
  %374 = alloca %"class.testing::internal::AssertHelper", align 8
  %375 = alloca %"class.testing::AssertionResult", align 8
  %376 = alloca %"class.testing::Message", align 8
  %377 = alloca %"class.testing::internal::AssertHelper", align 8
  %378 = alloca %"class.testing::AssertionResult", align 8
  %379 = alloca i32, align 4
  %380 = alloca i64, align 8
  %381 = alloca %"class.testing::Message", align 8
  %382 = alloca %"class.testing::internal::AssertHelper", align 8
  %383 = alloca %"class.testing::AssertionResult", align 8
  %384 = alloca i32, align 4
  %385 = alloca %"class.testing::Message", align 8
  %386 = alloca %"class.testing::internal::AssertHelper", align 8
  %387 = alloca %"class.testing::AssertionResult", align 8
  %388 = alloca %"class.testing::Message", align 8
  %389 = alloca %"class.testing::internal::AssertHelper", align 8
  %390 = alloca %"class.testing::AssertionResult", align 8
  %391 = alloca %"class.testing::Message", align 8
  %392 = alloca %"class.testing::internal::AssertHelper", align 8
  %393 = alloca %"class.testing::AssertionResult", align 8
  %394 = alloca i32, align 4
  %395 = alloca %"class.testing::Message", align 8
  %396 = alloca %"class.testing::internal::AssertHelper", align 8
  %397 = alloca %"class.testing::AssertionResult", align 8
  %398 = alloca %"class.testing::Message", align 8
  %399 = alloca %"class.testing::internal::AssertHelper", align 8
  %400 = alloca %"class.testing::AssertionResult", align 8
  %401 = alloca %"class.testing::Message", align 8
  %402 = alloca %"class.testing::internal::AssertHelper", align 8
  %403 = alloca %"class.testing::AssertionResult", align 8
  %404 = alloca i32, align 4
  %405 = alloca i64, align 8
  %406 = alloca %"class.testing::Message", align 8
  %407 = alloca %"class.testing::internal::AssertHelper", align 8
  %408 = alloca %"class.testing::AssertionResult", align 8
  %409 = alloca i32, align 4
  %410 = alloca %"class.testing::Message", align 8
  %411 = alloca %"class.testing::internal::AssertHelper", align 8
  %412 = alloca %"class.testing::AssertionResult", align 8
  %413 = alloca %"class.testing::Message", align 8
  %414 = alloca %"class.testing::internal::AssertHelper", align 8
  %415 = alloca %"class.testing::AssertionResult", align 8
  %416 = alloca %"class.testing::Message", align 8
  %417 = alloca %"class.testing::internal::AssertHelper", align 8
  %418 = alloca %"class.testing::AssertionResult", align 8
  %419 = alloca i32, align 4
  %420 = alloca i64, align 8
  %421 = alloca %"class.testing::Message", align 8
  %422 = alloca %"class.testing::internal::AssertHelper", align 8
  %423 = alloca %"class.testing::AssertionResult", align 8
  %424 = alloca i32, align 4
  %425 = alloca %"class.testing::Message", align 8
  %426 = alloca %"class.testing::internal::AssertHelper", align 8
  %427 = alloca %"class.testing::AssertionResult", align 8
  %428 = alloca %"class.testing::Message", align 8
  %429 = alloca %"class.testing::internal::AssertHelper", align 8
  %430 = alloca %"class.testing::AssertionResult", align 8
  %431 = alloca %"class.testing::Message", align 8
  %432 = alloca %"class.testing::internal::AssertHelper", align 8
  %433 = alloca %"class.cascadb::Slice", align 8
  %434 = alloca %"class.cascadb::Slice", align 8
  %435 = alloca %"class.cascadb::Slice", align 8
  %436 = alloca %"class.cascadb::Slice", align 8
  %437 = alloca %"class.testing::AssertionResult", align 8
  %438 = alloca %"class.testing::Message", align 8
  %439 = alloca %"class.testing::internal::AssertHelper", align 8
  %440 = alloca %"class.testing::internal::String", align 8
  %441 = alloca %"class.testing::AssertionResult", align 8
  %442 = alloca i64, align 8
  %443 = alloca %"class.testing::Message", align 8
  %444 = alloca %"class.testing::internal::AssertHelper", align 8
  %445 = alloca %"class.testing::AssertionResult", align 8
  %446 = alloca %"class.testing::Message", align 8
  %447 = alloca %"class.testing::internal::AssertHelper", align 8
  %448 = alloca %"class.testing::internal::String", align 8
  %449 = alloca %"class.testing::AssertionResult", align 8
  %450 = alloca i32, align 4
  %451 = alloca i64, align 8
  %452 = alloca %"class.testing::Message", align 8
  %453 = alloca %"class.testing::internal::AssertHelper", align 8
  %454 = alloca %"class.testing::AssertionResult", align 8
  %455 = alloca i32, align 4
  %456 = alloca %"class.testing::Message", align 8
  %457 = alloca %"class.testing::internal::AssertHelper", align 8
  %458 = alloca %"class.testing::AssertionResult", align 8
  %459 = alloca %"class.testing::Message", align 8
  %460 = alloca %"class.testing::internal::AssertHelper", align 8
  %461 = alloca %"class.testing::AssertionResult", align 8
  %462 = alloca %"class.testing::Message", align 8
  %463 = alloca %"class.testing::internal::AssertHelper", align 8
  %464 = alloca %"class.testing::AssertionResult", align 8
  %465 = alloca %"class.testing::Message", align 8
  %466 = alloca %"class.testing::internal::AssertHelper", align 8
  %467 = alloca %"class.testing::internal::String", align 8
  %468 = alloca %"class.testing::AssertionResult", align 8
  %469 = alloca i32, align 4
  %470 = alloca i64, align 8
  %471 = alloca %"class.testing::Message", align 8
  %472 = alloca %"class.testing::internal::AssertHelper", align 8
  %473 = alloca %"class.testing::AssertionResult", align 8
  %474 = alloca i32, align 4
  %475 = alloca i64, align 8
  %476 = alloca %"class.testing::Message", align 8
  %477 = alloca %"class.testing::internal::AssertHelper", align 8
  %478 = alloca %"class.testing::AssertionResult", align 8
  %479 = alloca %"class.testing::Message", align 8
  %480 = alloca %"class.testing::internal::AssertHelper", align 8
  %481 = alloca %"class.testing::internal::String", align 8
  %482 = alloca %"class.testing::AssertionResult", align 8
  %483 = alloca i32, align 4
  %484 = alloca i64, align 8
  %485 = alloca %"class.testing::Message", align 8
  %486 = alloca %"class.testing::internal::AssertHelper", align 8
  %487 = alloca %"class.testing::AssertionResult", align 8
  %488 = alloca %"class.testing::Message", align 8
  %489 = alloca %"class.testing::internal::AssertHelper", align 8
  %490 = alloca %"class.testing::internal::String", align 8
  %491 = alloca %"class.testing::AssertionResult", align 8
  %492 = alloca %"class.testing::Message", align 8
  %493 = alloca %"class.testing::internal::AssertHelper", align 8
  %494 = alloca %"class.testing::AssertionResult", align 8
  %495 = alloca i32, align 4
  %496 = alloca i64, align 8
  %497 = alloca %"class.testing::Message", align 8
  %498 = alloca %"class.testing::internal::AssertHelper", align 8
  %499 = alloca ptr, align 8
  %500 = alloca %"class.testing::AssertionResult", align 8
  %501 = alloca i64, align 8
  %502 = alloca %"class.testing::Message", align 8
  %503 = alloca %"class.testing::internal::AssertHelper", align 8
  %504 = alloca %"class.testing::AssertionResult", align 8
  %505 = alloca i32, align 4
  %506 = alloca i64, align 8
  %507 = alloca %"class.testing::Message", align 8
  %508 = alloca %"class.testing::internal::AssertHelper", align 8
  %509 = alloca %"class.testing::AssertionResult", align 8
  %510 = alloca %"class.testing::Message", align 8
  %511 = alloca %"class.testing::internal::AssertHelper", align 8
  %512 = alloca %"class.testing::AssertionResult", align 8
  %513 = alloca %"class.testing::Message", align 8
  %514 = alloca %"class.testing::internal::AssertHelper", align 8
  %515 = alloca %"class.testing::AssertionResult", align 8
  %516 = alloca %"class.testing::Message", align 8
  %517 = alloca %"class.testing::internal::AssertHelper", align 8
  %518 = alloca %"class.testing::AssertionResult", align 8
  %519 = alloca %"class.testing::Message", align 8
  %520 = alloca %"class.testing::internal::AssertHelper", align 8
  %521 = alloca %"class.testing::AssertionResult", align 8
  %522 = alloca i32, align 4
  %523 = alloca i64, align 8
  %524 = alloca %"class.testing::Message", align 8
  %525 = alloca %"class.testing::internal::AssertHelper", align 8
  %526 = alloca %"class.testing::AssertionResult", align 8
  %527 = alloca %"class.testing::Message", align 8
  %528 = alloca %"class.testing::internal::AssertHelper", align 8
  %529 = alloca %"class.testing::AssertionResult", align 8
  %530 = alloca %"class.testing::Message", align 8
  %531 = alloca %"class.testing::internal::AssertHelper", align 8
  %532 = alloca %"class.testing::AssertionResult", align 8
  %533 = alloca %"class.testing::Message", align 8
  %534 = alloca %"class.testing::internal::AssertHelper", align 8
  %535 = alloca %"class.testing::AssertionResult", align 8
  %536 = alloca %"class.testing::Message", align 8
  %537 = alloca %"class.testing::internal::AssertHelper", align 8
  %538 = alloca %"class.testing::AssertionResult", align 8
  %539 = alloca %"class.testing::Message", align 8
  %540 = alloca %"class.testing::internal::AssertHelper", align 8
  %541 = alloca %"class.testing::AssertionResult", align 8
  %542 = alloca %"class.testing::Message", align 8
  %543 = alloca %"class.testing::internal::AssertHelper", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %544 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 104, ptr %3) #10
  call void @_ZN7cascadb7OptionsC2Ev(ptr noundef nonnull align 8 dereferenceable(101) %3)
  %545 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 8) #11
  call void @llvm.memset.p0.i64(ptr align 8 %545, i8 0, i64 8, i1 false)
  call void @_ZN7cascadb17LexicalComparatorC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %545) #10
  %546 = getelementptr inbounds %"class.cascadb::Options", ptr %3, i32 0, i32 1
  store ptr %545, ptr %546, align 8, !tbaa !9
  %547 = getelementptr inbounds %"class.cascadb::Options", ptr %3, i32 0, i32 6
  store i64 4, ptr %547, align 8, !tbaa !15
  %548 = getelementptr inbounds %"class.cascadb::Options", ptr %3, i32 0, i32 3
  store i64 2, ptr %548, align 8, !tbaa !16
  %549 = getelementptr inbounds %"class.cascadb::Options", ptr %3, i32 0, i32 7
  store i64 4, ptr %549, align 8, !tbaa !17
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #10
  %550 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 104) #11
  invoke void @_ZN7cascadb12RAMDirectoryC2Ev(ptr noundef nonnull align 8 dereferenceable(104) %550)
          to label %551 unwind label %567

551:                                              ; preds = %1
  store ptr %550, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #10
  %552 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %553 unwind label %571

553:                                              ; preds = %551
  %554 = load ptr, ptr %552, align 8, !tbaa !18
  %555 = getelementptr inbounds ptr, ptr %554, i64 5
  %556 = load ptr, ptr %555, align 8
  %557 = invoke noundef ptr %556(ptr noundef nonnull align 8 dereferenceable(8) %552, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %558 unwind label %575

558:                                              ; preds = %553
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #10
  store ptr %557, ptr %7, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #10
  %559 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 600) #11
  %560 = load ptr, ptr %7, align 8, !tbaa !5
  invoke void @_ZN7cascadb6LayoutC1EPNS_7AIOFileEmRKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(600) %559, ptr noundef %560, i64 noundef 0, ptr noundef nonnull align 8 dereferenceable(101) %3)
          to label %561 unwind label %580

561:                                              ; preds = %558
  store ptr %559, ptr %10, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #10
  %562 = load ptr, ptr %10, align 8, !tbaa !5
  %563 = call noundef zeroext i1 @_ZN7cascadb6Layout4initEb(ptr noundef nonnull align 8 dereferenceable(600) %562, i1 noundef zeroext true)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %11, i1 noundef zeroext %563)
  %564 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %11)
          to label %565 unwind label %584

565:                                              ; preds = %561
  br i1 %564, label %566, label %588

566:                                              ; preds = %565
  br label %614

567:                                              ; preds = %1
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %5, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %6, align 4
  call void @_ZdlPvm(ptr noundef %550, i64 noundef 104) #12
  br label %5289

571:                                              ; preds = %551
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %5, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %6, align 4
  br label %579

575:                                              ; preds = %553
  %576 = landingpad { ptr, i32 }
          cleanup
  %577 = extractvalue { ptr, i32 } %576, 0
  store ptr %577, ptr %5, align 8
  %578 = extractvalue { ptr, i32 } %576, 1
  store i32 %578, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #10
  br label %579

579:                                              ; preds = %575, %571
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #10
  br label %5288

580:                                              ; preds = %558
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %5, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %6, align 4
  call void @_ZdlPvm(ptr noundef %559, i64 noundef 600) #12
  br label %5287

584:                                              ; preds = %561
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %5, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %6, align 4
  br label %625

588:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %589 unwind label %595

589:                                              ; preds = %588
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %14, ptr noundef nonnull align 8 dereferenceable(16) %11, ptr noundef @.str.16, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %590 unwind label %599

590:                                              ; preds = %589
  %591 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %14)
          to label %592 unwind label %603

592:                                              ; preds = %590
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %13, i32 noundef 2, ptr noundef @.str.7, i32 noundef 43, ptr noundef %591)
          to label %593 unwind label %603

593:                                              ; preds = %592
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %594 unwind label %607

594:                                              ; preds = %593
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  store i32 1, ptr %15, align 4
  br label %615

595:                                              ; preds = %588
  %596 = landingpad { ptr, i32 }
          cleanup
  %597 = extractvalue { ptr, i32 } %596, 0
  store ptr %597, ptr %5, align 8
  %598 = extractvalue { ptr, i32 } %596, 1
  store i32 %598, ptr %6, align 4
  br label %613

599:                                              ; preds = %589
  %600 = landingpad { ptr, i32 }
          cleanup
  %601 = extractvalue { ptr, i32 } %600, 0
  store ptr %601, ptr %5, align 8
  %602 = extractvalue { ptr, i32 } %600, 1
  store i32 %602, ptr %6, align 4
  br label %612

603:                                              ; preds = %592, %590
  %604 = landingpad { ptr, i32 }
          cleanup
  %605 = extractvalue { ptr, i32 } %604, 0
  store ptr %605, ptr %5, align 8
  %606 = extractvalue { ptr, i32 } %604, 1
  store i32 %606, ptr %6, align 4
  br label %611

607:                                              ; preds = %593
  %608 = landingpad { ptr, i32 }
          cleanup
  %609 = extractvalue { ptr, i32 } %608, 0
  store ptr %609, ptr %5, align 8
  %610 = extractvalue { ptr, i32 } %608, 1
  store i32 %610, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %13) #10
  br label %611

611:                                              ; preds = %607, %603
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %14) #10
  br label %612

612:                                              ; preds = %611, %599
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %12) #10
  br label %613

613:                                              ; preds = %612, %595
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  br label %625

614:                                              ; preds = %566
  store i32 0, ptr %15, align 4
  br label %615

615:                                              ; preds = %614, %594
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #10
  %616 = load i32, ptr %15, align 4
  switch i32 %616, label %5274 [
    i32 0, label %617
  ]

617:                                              ; preds = %615
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #10
  %618 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 432) #11
  invoke void @_ZN7cascadb5CacheC1ERKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(432) %618, ptr noundef nonnull align 8 dereferenceable(101) %3)
          to label %619 unwind label %626

619:                                              ; preds = %617
  store ptr %618, ptr %16, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #10
  %620 = load ptr, ptr %16, align 8, !tbaa !5
  %621 = call noundef zeroext i1 @_ZN7cascadb5Cache4initEv(ptr noundef nonnull align 8 dereferenceable(432) %620)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %17, i1 noundef zeroext %621)
  %622 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %623 unwind label %630

623:                                              ; preds = %619
  br i1 %622, label %624, label %634

624:                                              ; preds = %623
  br label %660

625:                                              ; preds = %613, %584
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %11) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #10
  br label %5287

626:                                              ; preds = %617
  %627 = landingpad { ptr, i32 }
          cleanup
  %628 = extractvalue { ptr, i32 } %627, 0
  store ptr %628, ptr %5, align 8
  %629 = extractvalue { ptr, i32 } %627, 1
  store i32 %629, ptr %6, align 4
  call void @_ZdlPvm(ptr noundef %618, i64 noundef 432) #12
  br label %5286

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

634:                                              ; preds = %623
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %635 unwind label %641

635:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %20, ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef @.str.19, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %636 unwind label %645

636:                                              ; preds = %635
  %637 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %638 unwind label %649

638:                                              ; preds = %636
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %19, i32 noundef 2, ptr noundef @.str.7, i32 noundef 45, ptr noundef %637)
          to label %639 unwind label %649

639:                                              ; preds = %638
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %640 unwind label %653

640:                                              ; preds = %639
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  store i32 1, ptr %15, align 4
  br label %661

641:                                              ; preds = %634
  %642 = landingpad { ptr, i32 }
          cleanup
  %643 = extractvalue { ptr, i32 } %642, 0
  store ptr %643, ptr %5, align 8
  %644 = extractvalue { ptr, i32 } %642, 1
  store i32 %644, ptr %6, align 4
  br label %659

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

649:                                              ; preds = %638, %636
  %650 = landingpad { ptr, i32 }
          cleanup
  %651 = extractvalue { ptr, i32 } %650, 0
  store ptr %651, ptr %5, align 8
  %652 = extractvalue { ptr, i32 } %650, 1
  store i32 %652, ptr %6, align 4
  br label %657

653:                                              ; preds = %639
  %654 = landingpad { ptr, i32 }
          cleanup
  %655 = extractvalue { ptr, i32 } %654, 0
  store ptr %655, ptr %5, align 8
  %656 = extractvalue { ptr, i32 } %654, 1
  store i32 %656, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %19) #10
  br label %657

657:                                              ; preds = %653, %649
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #10
  br label %658

658:                                              ; preds = %657, %645
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %18) #10
  br label %659

659:                                              ; preds = %658, %641
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #10
  br label %674

660:                                              ; preds = %624
  store i32 0, ptr %15, align 4
  br label %661

661:                                              ; preds = %660, %640
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #10
  %662 = load i32, ptr %15, align 4
  switch i32 %662, label %5273 [
    i32 0, label %663
  ]

663:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #10
  %664 = call noalias noundef nonnull ptr @_Znwm(i64 noundef 184) #11
  store i1 true, ptr %24, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr %22) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %665 unwind label %675

665:                                              ; preds = %663
  %666 = load ptr, ptr %16, align 8, !tbaa !5
  %667 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZN7cascadb4TreeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7OptionsEPNS_5CacheEPNS_6LayoutE(ptr noundef nonnull align 8 dereferenceable(184) %664, ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(101) %3, ptr noundef %666, ptr noundef %667)
          to label %668 unwind label %679

668:                                              ; preds = %665
  store i1 false, ptr %24, align 1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  store ptr %664, ptr %21, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #10
  %669 = load ptr, ptr %21, align 8, !tbaa !5
  %670 = call noundef zeroext i1 @_ZN7cascadb4Tree4initEv(ptr noundef nonnull align 8 dereferenceable(184) %669)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %25, i1 noundef zeroext %670)
  %671 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %672 unwind label %687

672:                                              ; preds = %668
  br i1 %671, label %673, label %691

673:                                              ; preds = %672
  br label %717

674:                                              ; preds = %659, %630
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #10
  br label %5286

675:                                              ; preds = %663
  %676 = landingpad { ptr, i32 }
          cleanup
  %677 = extractvalue { ptr, i32 } %676, 0
  store ptr %677, ptr %5, align 8
  %678 = extractvalue { ptr, i32 } %676, 1
  store i32 %678, ptr %6, align 4
  br label %683

679:                                              ; preds = %665
  %680 = landingpad { ptr, i32 }
          cleanup
  %681 = extractvalue { ptr, i32 } %680, 0
  store ptr %681, ptr %5, align 8
  %682 = extractvalue { ptr, i32 } %680, 1
  store i32 %682, ptr %6, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #10
  br label %683

683:                                              ; preds = %679, %675
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %22) #10
  %684 = load i1, ptr %24, align 1
  br i1 %684, label %685, label %686

685:                                              ; preds = %683
  call void @_ZdlPvm(ptr noundef %664, i64 noundef 184) #12
  br label %686

686:                                              ; preds = %685, %683
  br label %5285

687:                                              ; preds = %668
  %688 = landingpad { ptr, i32 }
          cleanup
  %689 = extractvalue { ptr, i32 } %688, 0
  store ptr %689, ptr %5, align 8
  %690 = extractvalue { ptr, i32 } %688, 1
  store i32 %690, ptr %6, align 4
  br label %729

691:                                              ; preds = %672
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %692 unwind label %698

692:                                              ; preds = %691
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %28, ptr noundef nonnull align 8 dereferenceable(16) %25, ptr noundef @.str.21, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %693 unwind label %702

693:                                              ; preds = %692
  %694 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %695 unwind label %706

695:                                              ; preds = %693
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %27, i32 noundef 2, ptr noundef @.str.7, i32 noundef 47, ptr noundef %694)
          to label %696 unwind label %706

696:                                              ; preds = %695
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %697 unwind label %710

697:                                              ; preds = %696
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  store i32 1, ptr %15, align 4
  br label %718

698:                                              ; preds = %691
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %5, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %6, align 4
  br label %716

702:                                              ; preds = %692
  %703 = landingpad { ptr, i32 }
          cleanup
  %704 = extractvalue { ptr, i32 } %703, 0
  store ptr %704, ptr %5, align 8
  %705 = extractvalue { ptr, i32 } %703, 1
  store i32 %705, ptr %6, align 4
  br label %715

706:                                              ; preds = %695, %693
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %5, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %6, align 4
  br label %714

710:                                              ; preds = %696
  %711 = landingpad { ptr, i32 }
          cleanup
  %712 = extractvalue { ptr, i32 } %711, 0
  store ptr %712, ptr %5, align 8
  %713 = extractvalue { ptr, i32 } %711, 1
  store i32 %713, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %27) #10
  br label %714

714:                                              ; preds = %710, %706
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #10
  br label %715

715:                                              ; preds = %714, %702
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %26) #10
  br label %716

716:                                              ; preds = %715, %698
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #10
  br label %729

717:                                              ; preds = %673
  store i32 0, ptr %15, align 4
  br label %718

718:                                              ; preds = %717, %697
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #10
  %719 = load i32, ptr %15, align 4
  switch i32 %719, label %5272 [
    i32 0, label %720
  ]

720:                                              ; preds = %718
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #10
  %721 = load ptr, ptr %21, align 8, !tbaa !5
  %722 = getelementptr inbounds %"class.cascadb::Tree", ptr %721, i32 0, i32 7
  %723 = load ptr, ptr %722, align 8, !tbaa !20
  store ptr %723, ptr %29, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #10
  store i64 2, ptr %31, align 8, !tbaa !24
  %724 = load ptr, ptr %29, align 8, !tbaa !5
  %725 = getelementptr inbounds %"class.cascadb::Node", ptr %724, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %30, ptr noundef @.str.22, ptr noundef @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %725)
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #10
  %726 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %727 unwind label %730

727:                                              ; preds = %720
  br i1 %726, label %728, label %734

728:                                              ; preds = %727
  br label %754

729:                                              ; preds = %716, %687
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %25) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #10
  br label %5285

730:                                              ; preds = %720
  %731 = landingpad { ptr, i32 }
          cleanup
  %732 = extractvalue { ptr, i32 } %731, 0
  store ptr %732, ptr %5, align 8
  %733 = extractvalue { ptr, i32 } %731, 1
  store i32 %733, ptr %6, align 4
  br label %790

734:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %735 unwind label %740

735:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #10
  %736 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %737 unwind label %744

737:                                              ; preds = %735
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %33, i32 noundef 1, ptr noundef @.str.7, i32 noundef 50, ptr noundef %736)
          to label %738 unwind label %744

738:                                              ; preds = %737
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %739 unwind label %748

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

740:                                              ; preds = %734
  %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
  br label %753

744:                                              ; preds = %737, %735
  %745 = landingpad { ptr, i32 }
          cleanup
  %746 = extractvalue { ptr, i32 } %745, 0
  store ptr %746, ptr %5, align 8
  %747 = extractvalue { ptr, i32 } %745, 1
  store i32 %747, ptr %6, align 4
  br label %752

748:                                              ; preds = %738
  %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
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #10
  br label %752

752:                                              ; preds = %748, %744
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #10
  br label %753

753:                                              ; preds = %752, %740
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #10
  br label %790

754:                                              ; preds = %739, %728
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #10
  %755 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %34, ptr noundef @.str.3)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %35, ptr noundef @.str.4)
  %756 = getelementptr inbounds { ptr, i32 }, ptr %34, i32 0, i32 0
  %757 = load ptr, ptr %756, align 8
  %758 = getelementptr inbounds { ptr, i32 }, ptr %34, i32 0, i32 1
  %759 = load i32, ptr %758, align 8
  %760 = getelementptr inbounds { ptr, i32 }, ptr %35, i32 0, i32 0
  %761 = load ptr, ptr %760, align 8
  %762 = getelementptr inbounds { ptr, i32 }, ptr %35, i32 0, i32 1
  %763 = load i32, ptr %762, align 8
  %764 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %755, ptr %757, i32 %759, ptr %761, i32 %763)
  %765 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %36, ptr noundef @.str.24)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %37, ptr noundef @.str.4)
  %766 = getelementptr inbounds { ptr, i32 }, ptr %36, i32 0, i32 0
  %767 = load ptr, ptr %766, align 8
  %768 = getelementptr inbounds { ptr, i32 }, ptr %36, i32 0, i32 1
  %769 = load i32, ptr %768, align 8
  %770 = getelementptr inbounds { ptr, i32 }, ptr %37, i32 0, i32 0
  %771 = load ptr, ptr %770, align 8
  %772 = getelementptr inbounds { ptr, i32 }, ptr %37, i32 0, i32 1
  %773 = load i32, ptr %772, align 8
  %774 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %765, ptr %767, i32 %769, ptr %771, i32 %773)
  %775 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %38, ptr noundef @.str.25)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %39, ptr noundef @.str.4)
  %776 = getelementptr inbounds { ptr, i32 }, ptr %38, i32 0, i32 0
  %777 = load ptr, ptr %776, align 8
  %778 = getelementptr inbounds { ptr, i32 }, ptr %38, i32 0, i32 1
  %779 = load i32, ptr %778, align 8
  %780 = getelementptr inbounds { ptr, i32 }, ptr %39, i32 0, i32 0
  %781 = load ptr, ptr %780, align 8
  %782 = getelementptr inbounds { ptr, i32 }, ptr %39, i32 0, i32 1
  %783 = load i32, ptr %782, align 8
  %784 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %775, ptr %777, i32 %779, ptr %781, i32 %783)
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  store i64 0, ptr %41, align 8, !tbaa !24
  %785 = load ptr, ptr %29, align 8, !tbaa !5
  %786 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %785, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %40, ptr noundef @.str.26, ptr noundef @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %786)
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  %787 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %788 unwind label %791

788:                                              ; preds = %754
  br i1 %787, label %789, label %795

789:                                              ; preds = %788
  br label %815

790:                                              ; preds = %753, %730
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #10
  br label %5284

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

795:                                              ; preds = %788
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %796 unwind label %801

796:                                              ; preds = %795
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %797 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %40)
          to label %798 unwind label %805

798:                                              ; preds = %796
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %43, i32 noundef 1, ptr noundef @.str.7, i32 noundef 56, ptr noundef %797)
          to label %799 unwind label %805

799:                                              ; preds = %798
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %42)
          to label %800 unwind label %809

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

801:                                              ; preds = %795
  %802 = landingpad { ptr, i32 }
          cleanup
  %803 = extractvalue { ptr, i32 } %802, 0
  store ptr %803, ptr %5, align 8
  %804 = extractvalue { ptr, i32 } %802, 1
  store i32 %804, ptr %6, align 4
  br label %814

805:                                              ; preds = %798, %796
  %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 %813

809:                                              ; preds = %799
  %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
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %43) #10
  br label %813

813:                                              ; preds = %809, %805
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %42) #10
  br label %814

814:                                              ; preds = %813, %801
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #10
  br label %823

815:                                              ; preds = %800, %789
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  store i32 3, ptr %45, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #10
  %816 = load ptr, ptr %29, align 8, !tbaa !5
  %817 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %816, i32 0, i32 3
  %818 = load ptr, ptr %817, align 8, !tbaa !26
  %819 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %818)
  store i64 %819, ptr %46, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %44, ptr noundef @.str.28, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %45, ptr noundef nonnull align 8 dereferenceable(8) %46)
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  %820 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %821 unwind label %824

821:                                              ; preds = %815
  br i1 %820, label %822, label %828

822:                                              ; preds = %821
  br label %848

823:                                              ; preds = %814, %791
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %40) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #10
  br label %5284

824:                                              ; preds = %815
  %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 %866

828:                                              ; preds = %821
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %829 unwind label %834

829:                                              ; preds = %828
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #10
  %830 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %44)
          to label %831 unwind label %838

831:                                              ; preds = %829
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, i32 noundef 1, ptr noundef @.str.7, i32 noundef 57, ptr noundef %830)
          to label %832 unwind label %838

832:                                              ; preds = %831
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %833 unwind label %842

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

834:                                              ; preds = %828
  %835 = landingpad { ptr, i32 }
          cleanup
  %836 = extractvalue { ptr, i32 } %835, 0
  store ptr %836, ptr %5, align 8
  %837 = extractvalue { ptr, i32 } %835, 1
  store i32 %837, ptr %6, align 4
  br label %847

838:                                              ; preds = %831, %829
  %839 = landingpad { ptr, i32 }
          cleanup
  %840 = extractvalue { ptr, i32 } %839, 0
  store ptr %840, ptr %5, align 8
  %841 = extractvalue { ptr, i32 } %839, 1
  store i32 %841, ptr %6, align 4
  br label %846

842:                                              ; preds = %832
  %843 = landingpad { ptr, i32 }
          cleanup
  %844 = extractvalue { ptr, i32 } %843, 0
  store ptr %844, ptr %5, align 8
  %845 = extractvalue { ptr, i32 } %843, 1
  store i32 %845, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #10
  br label %846

846:                                              ; preds = %842, %838
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #10
  br label %847

847:                                              ; preds = %846, %834
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  br label %866

848:                                              ; preds = %833, %822
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #10
  %849 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %49, ptr noundef @.str.30)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %50, ptr noundef @.str.4)
  %850 = getelementptr inbounds { ptr, i32 }, ptr %49, i32 0, i32 0
  %851 = load ptr, ptr %850, align 8
  %852 = getelementptr inbounds { ptr, i32 }, ptr %49, i32 0, i32 1
  %853 = load i32, ptr %852, align 8
  %854 = getelementptr inbounds { ptr, i32 }, ptr %50, i32 0, i32 0
  %855 = load ptr, ptr %854, align 8
  %856 = getelementptr inbounds { ptr, i32 }, ptr %50, i32 0, i32 1
  %857 = load i32, ptr %856, align 8
  %858 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %849, ptr %851, i32 %853, ptr %855, i32 %857)
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  store i32 0, ptr %52, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #10
  %859 = load ptr, ptr %29, align 8, !tbaa !5
  %860 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %859, i32 0, i32 3
  %861 = load ptr, ptr %860, align 8, !tbaa !26
  %862 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %861)
  store i64 %862, ptr %53, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %51, ptr noundef @.str.31, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %52, ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  %863 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %864 unwind label %867

864:                                              ; preds = %848
  br i1 %863, label %865, label %871

865:                                              ; preds = %864
  br label %891

866:                                              ; preds = %847, %824
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %44) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #10
  br label %5284

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

871:                                              ; preds = %864
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %872 unwind label %877

872:                                              ; preds = %871
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #10
  %873 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %874 unwind label %881

874:                                              ; preds = %872
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %55, i32 noundef 1, ptr noundef @.str.7, i32 noundef 61, ptr noundef %873)
          to label %875 unwind label %881

875:                                              ; preds = %874
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %55, ptr noundef nonnull align 8 dereferenceable(8) %54)
          to label %876 unwind label %885

876:                                              ; preds = %875
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %55) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  br label %891

877:                                              ; preds = %871
  %878 = landingpad { ptr, i32 }
          cleanup
  %879 = extractvalue { ptr, i32 } %878, 0
  store ptr %879, ptr %5, align 8
  %880 = extractvalue { ptr, i32 } %878, 1
  store i32 %880, ptr %6, align 4
  br label %890

881:                                              ; preds = %874, %872
  %882 = landingpad { ptr, i32 }
          cleanup
  %883 = extractvalue { ptr, i32 } %882, 0
  store ptr %883, ptr %5, align 8
  %884 = extractvalue { ptr, i32 } %882, 1
  store i32 %884, ptr %6, align 4
  br label %889

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

889:                                              ; preds = %885, %881
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %54) #10
  br label %890

890:                                              ; preds = %889, %877
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #10
  br label %899

891:                                              ; preds = %876, %865
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #10
  %892 = load ptr, ptr %29, align 8, !tbaa !5
  %893 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %892, i32 0, i32 2
  %894 = load i64, ptr %893, align 8, !tbaa !40
  %895 = icmp ne i64 %894, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %56, i1 noundef zeroext %895)
  %896 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %897 unwind label %900

897:                                              ; preds = %891
  br i1 %896, label %898, label %904

898:                                              ; preds = %897
  br label %930

899:                                              ; preds = %890, %867
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %51) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #10
  br label %5284

900:                                              ; preds = %891
  %901 = landingpad { ptr, i32 }
          cleanup
  %902 = extractvalue { ptr, i32 } %901, 0
  store ptr %902, ptr %5, align 8
  %903 = extractvalue { ptr, i32 } %901, 1
  store i32 %903, ptr %6, align 4
  br label %941

904:                                              ; preds = %897
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %905 unwind label %911

905:                                              ; preds = %904
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %56, ptr noundef @.str.32, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %906 unwind label %915

906:                                              ; preds = %905
  %907 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %59)
          to label %908 unwind label %919

908:                                              ; preds = %906
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %58, i32 noundef 1, ptr noundef @.str.7, i32 noundef 62, ptr noundef %907)
          to label %909 unwind label %919

909:                                              ; preds = %908
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %910 unwind label %923

910:                                              ; preds = %909
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %930

911:                                              ; preds = %904
  %912 = landingpad { ptr, i32 }
          cleanup
  %913 = extractvalue { ptr, i32 } %912, 0
  store ptr %913, ptr %5, align 8
  %914 = extractvalue { ptr, i32 } %912, 1
  store i32 %914, ptr %6, align 4
  br label %929

915:                                              ; preds = %905
  %916 = landingpad { ptr, i32 }
          cleanup
  %917 = extractvalue { ptr, i32 } %916, 0
  store ptr %917, ptr %5, align 8
  %918 = extractvalue { ptr, i32 } %916, 1
  store i32 %918, ptr %6, align 4
  br label %928

919:                                              ; preds = %908, %906
  %920 = landingpad { ptr, i32 }
          cleanup
  %921 = extractvalue { ptr, i32 } %920, 0
  store ptr %921, ptr %5, align 8
  %922 = extractvalue { ptr, i32 } %920, 1
  store i32 %922, ptr %6, align 4
  br label %927

923:                                              ; preds = %909
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %5, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #10
  br label %927

927:                                              ; preds = %923, %919
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #10
  br label %928

928:                                              ; preds = %927, %915
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #10
  br label %929

929:                                              ; preds = %928, %911
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #10
  br label %941

930:                                              ; preds = %910, %898
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #10
  %931 = load ptr, ptr %21, align 8, !tbaa !5
  %932 = load ptr, ptr %29, align 8, !tbaa !5
  %933 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %932, i32 0, i32 2
  %934 = load i64, ptr %933, align 8, !tbaa !40
  %935 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %931, i64 noundef %934, i1 noundef zeroext false)
  store ptr %935, ptr %60, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #10
  store i64 281474976710657, ptr %62, align 8, !tbaa !24
  %936 = load ptr, ptr %60, align 8, !tbaa !5
  %937 = getelementptr inbounds %"class.cascadb::Node", ptr %936, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %61, ptr noundef @.str.33, ptr noundef @.str.34, ptr noundef nonnull align 8 dereferenceable(8) %62, ptr noundef nonnull align 8 dereferenceable(8) %937)
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #10
  %938 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %61)
          to label %939 unwind label %942

939:                                              ; preds = %930
  br i1 %938, label %940, label %946

940:                                              ; preds = %939
  br label %966

941:                                              ; preds = %929, %900
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %56) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #10
  br label %5284

942:                                              ; preds = %930
  %943 = landingpad { ptr, i32 }
          cleanup
  %944 = extractvalue { ptr, i32 } %943, 0
  store ptr %944, ptr %5, align 8
  %945 = extractvalue { ptr, i32 } %943, 1
  store i32 %945, ptr %6, align 4
  br label %973

946:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %947 unwind label %952

947:                                              ; preds = %946
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #10
  %948 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %61)
          to label %949 unwind label %956

949:                                              ; preds = %947
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %64, i32 noundef 1, ptr noundef @.str.7, i32 noundef 64, ptr noundef %948)
          to label %950 unwind label %956

950:                                              ; preds = %949
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %951 unwind label %960

951:                                              ; preds = %950
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  br label %966

952:                                              ; preds = %946
  %953 = landingpad { ptr, i32 }
          cleanup
  %954 = extractvalue { ptr, i32 } %953, 0
  store ptr %954, ptr %5, align 8
  %955 = extractvalue { ptr, i32 } %953, 1
  store i32 %955, ptr %6, align 4
  br label %965

956:                                              ; preds = %949, %947
  %957 = landingpad { ptr, i32 }
          cleanup
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %5, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %6, align 4
  br label %964

960:                                              ; preds = %950
  %961 = landingpad { ptr, i32 }
          cleanup
  %962 = extractvalue { ptr, i32 } %961, 0
  store ptr %962, ptr %5, align 8
  %963 = extractvalue { ptr, i32 } %961, 1
  store i32 %963, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #10
  br label %964

964:                                              ; preds = %960, %956
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #10
  br label %965

965:                                              ; preds = %964, %952
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #10
  br label %973

966:                                              ; preds = %951, %940
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  store i32 4, ptr %66, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #10
  %967 = load ptr, ptr %60, align 8, !tbaa !5
  %968 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %967, i32 0, i32 6
  %969 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %968)
  store i64 %969, ptr %67, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %65, ptr noundef @.str.35, ptr noundef @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 8 dereferenceable(8) %67)
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  %970 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %65)
          to label %971 unwind label %974

971:                                              ; preds = %966
  br i1 %970, label %972, label %978

972:                                              ; preds = %971
  br label %998

973:                                              ; preds = %965, %942
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %61) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #10
  br label %5283

974:                                              ; preds = %966
  %975 = landingpad { ptr, i32 }
          cleanup
  %976 = extractvalue { ptr, i32 } %975, 0
  store ptr %976, ptr %5, align 8
  %977 = extractvalue { ptr, i32 } %975, 1
  store i32 %977, ptr %6, align 4
  br label %1006

978:                                              ; preds = %971
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %979 unwind label %984

979:                                              ; preds = %978
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #10
  %980 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %65)
          to label %981 unwind label %988

981:                                              ; preds = %979
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %69, i32 noundef 1, ptr noundef @.str.7, i32 noundef 65, ptr noundef %980)
          to label %982 unwind label %988

982:                                              ; preds = %981
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %69, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %983 unwind label %992

983:                                              ; preds = %982
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  br label %998

984:                                              ; preds = %978
  %985 = landingpad { ptr, i32 }
          cleanup
  %986 = extractvalue { ptr, i32 } %985, 0
  store ptr %986, ptr %5, align 8
  %987 = extractvalue { ptr, i32 } %985, 1
  store i32 %987, ptr %6, align 4
  br label %997

988:                                              ; preds = %981, %979
  %989 = landingpad { ptr, i32 }
          cleanup
  %990 = extractvalue { ptr, i32 } %989, 0
  store ptr %990, ptr %5, align 8
  %991 = extractvalue { ptr, i32 } %989, 1
  store i32 %991, ptr %6, align 4
  br label %996

992:                                              ; preds = %982
  %993 = landingpad { ptr, i32 }
          cleanup
  %994 = extractvalue { ptr, i32 } %993, 0
  store ptr %994, ptr %5, align 8
  %995 = extractvalue { ptr, i32 } %993, 1
  store i32 %995, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #10
  br label %996

996:                                              ; preds = %992, %988
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %68) #10
  br label %997

997:                                              ; preds = %996, %984
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #10
  br label %1006

998:                                              ; preds = %983, %972
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #10
  %999 = load ptr, ptr %60, align 8, !tbaa !5
  %1000 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %999, i32 0, i32 6
  %1001 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1000, i64 noundef 0)
  %1002 = getelementptr inbounds %"class.cascadb::Record", ptr %1001, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %70, ptr noundef @.str.8, ptr noundef @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %1002)
  %1003 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %1004 unwind label %1007

1004:                                             ; preds = %998
  br i1 %1003, label %1005, label %1011

1005:                                             ; preds = %1004
  br label %1031

1006:                                             ; preds = %997, %974
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #10
  br label %5283

1007:                                             ; preds = %998
  %1008 = landingpad { ptr, i32 }
          cleanup
  %1009 = extractvalue { ptr, i32 } %1008, 0
  store ptr %1009, ptr %5, align 8
  %1010 = extractvalue { ptr, i32 } %1008, 1
  store i32 %1010, ptr %6, align 4
  br label %1039

1011:                                             ; preds = %1004
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %1012 unwind label %1017

1012:                                             ; preds = %1011
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #10
  %1013 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %70)
          to label %1014 unwind label %1021

1014:                                             ; preds = %1012
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %72, i32 noundef 1, ptr noundef @.str.7, i32 noundef 66, ptr noundef %1013)
          to label %1015 unwind label %1021

1015:                                             ; preds = %1014
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %71)
          to label %1016 unwind label %1025

1016:                                             ; preds = %1015
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  br label %1031

1017:                                             ; preds = %1011
  %1018 = landingpad { ptr, i32 }
          cleanup
  %1019 = extractvalue { ptr, i32 } %1018, 0
  store ptr %1019, ptr %5, align 8
  %1020 = extractvalue { ptr, i32 } %1018, 1
  store i32 %1020, ptr %6, align 4
  br label %1030

1021:                                             ; preds = %1014, %1012
  %1022 = landingpad { ptr, i32 }
          cleanup
  %1023 = extractvalue { ptr, i32 } %1022, 0
  store ptr %1023, ptr %5, align 8
  %1024 = extractvalue { ptr, i32 } %1022, 1
  store i32 %1024, ptr %6, align 4
  br label %1029

1025:                                             ; preds = %1015
  %1026 = landingpad { ptr, i32 }
          cleanup
  %1027 = extractvalue { ptr, i32 } %1026, 0
  store ptr %1027, ptr %5, align 8
  %1028 = extractvalue { ptr, i32 } %1026, 1
  store i32 %1028, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #10
  br label %1029

1029:                                             ; preds = %1025, %1021
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %71) #10
  br label %1030

1030:                                             ; preds = %1029, %1017
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #10
  br label %1039

1031:                                             ; preds = %1016, %1005
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #10
  %1032 = load ptr, ptr %60, align 8, !tbaa !5
  %1033 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1032, i32 0, i32 6
  %1034 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1033, i64 noundef 0)
  %1035 = getelementptr inbounds %"class.cascadb::Record", ptr %1034, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %73, ptr noundef @.str.10, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1035)
  %1036 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %1037 unwind label %1040

1037:                                             ; preds = %1031
  br i1 %1036, label %1038, label %1044

1038:                                             ; preds = %1037
  br label %1064

1039:                                             ; preds = %1030, %1007
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %70) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #10
  br label %5283

1040:                                             ; preds = %1031
  %1041 = landingpad { ptr, i32 }
          cleanup
  %1042 = extractvalue { ptr, i32 } %1041, 0
  store ptr %1042, ptr %5, align 8
  %1043 = extractvalue { ptr, i32 } %1041, 1
  store i32 %1043, ptr %6, align 4
  br label %1072

1044:                                             ; preds = %1037
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %1045 unwind label %1050

1045:                                             ; preds = %1044
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #10
  %1046 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %73)
          to label %1047 unwind label %1054

1047:                                             ; preds = %1045
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %75, i32 noundef 1, ptr noundef @.str.7, i32 noundef 66, ptr noundef %1046)
          to label %1048 unwind label %1054

1048:                                             ; preds = %1047
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %74)
          to label %1049 unwind label %1058

1049:                                             ; preds = %1048
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #10
  br label %1064

1050:                                             ; preds = %1044
  %1051 = landingpad { ptr, i32 }
          cleanup
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %5, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %6, align 4
  br label %1063

1054:                                             ; preds = %1047, %1045
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %5, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %6, align 4
  br label %1062

1058:                                             ; preds = %1048
  %1059 = landingpad { ptr, i32 }
          cleanup
  %1060 = extractvalue { ptr, i32 } %1059, 0
  store ptr %1060, ptr %5, align 8
  %1061 = extractvalue { ptr, i32 } %1059, 1
  store i32 %1061, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #10
  br label %1062

1062:                                             ; preds = %1058, %1054
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %74) #10
  br label %1063

1063:                                             ; preds = %1062, %1050
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #10
  br label %1072

1064:                                             ; preds = %1049, %1038
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %76) #10
  %1065 = load ptr, ptr %60, align 8, !tbaa !5
  %1066 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1065, i32 0, i32 6
  %1067 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1066, i64 noundef 1)
  %1068 = getelementptr inbounds %"class.cascadb::Record", ptr %1067, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %76, ptr noundef @.str.39, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %1068)
  %1069 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %1070 unwind label %1073

1070:                                             ; preds = %1064
  br i1 %1069, label %1071, label %1077

1071:                                             ; preds = %1070
  br label %1097

1072:                                             ; preds = %1063, %1040
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %73) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #10
  br label %5283

1073:                                             ; preds = %1064
  %1074 = landingpad { ptr, i32 }
          cleanup
  %1075 = extractvalue { ptr, i32 } %1074, 0
  store ptr %1075, ptr %5, align 8
  %1076 = extractvalue { ptr, i32 } %1074, 1
  store i32 %1076, ptr %6, align 4
  br label %1105

1077:                                             ; preds = %1070
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1078 unwind label %1083

1078:                                             ; preds = %1077
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #10
  %1079 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %76)
          to label %1080 unwind label %1087

1080:                                             ; preds = %1078
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %78, i32 noundef 1, ptr noundef @.str.7, i32 noundef 67, ptr noundef %1079)
          to label %1081 unwind label %1087

1081:                                             ; preds = %1080
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %78, ptr noundef nonnull align 8 dereferenceable(8) %77)
          to label %1082 unwind label %1091

1082:                                             ; preds = %1081
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  br label %1097

1083:                                             ; preds = %1077
  %1084 = landingpad { ptr, i32 }
          cleanup
  %1085 = extractvalue { ptr, i32 } %1084, 0
  store ptr %1085, ptr %5, align 8
  %1086 = extractvalue { ptr, i32 } %1084, 1
  store i32 %1086, ptr %6, align 4
  br label %1096

1087:                                             ; preds = %1080, %1078
  %1088 = landingpad { ptr, i32 }
          cleanup
  %1089 = extractvalue { ptr, i32 } %1088, 0
  store ptr %1089, ptr %5, align 8
  %1090 = extractvalue { ptr, i32 } %1088, 1
  store i32 %1090, ptr %6, align 4
  br label %1095

1091:                                             ; preds = %1081
  %1092 = landingpad { ptr, i32 }
          cleanup
  %1093 = extractvalue { ptr, i32 } %1092, 0
  store ptr %1093, ptr %5, align 8
  %1094 = extractvalue { ptr, i32 } %1092, 1
  store i32 %1094, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #10
  br label %1095

1095:                                             ; preds = %1091, %1087
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %77) #10
  br label %1096

1096:                                             ; preds = %1095, %1083
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #10
  br label %1105

1097:                                             ; preds = %1082, %1071
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #10
  %1098 = load ptr, ptr %60, align 8, !tbaa !5
  %1099 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1098, i32 0, i32 6
  %1100 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1099, i64 noundef 1)
  %1101 = getelementptr inbounds %"class.cascadb::Record", ptr %1100, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %79, ptr noundef @.str.10, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1101)
  %1102 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %79)
          to label %1103 unwind label %1106

1103:                                             ; preds = %1097
  br i1 %1102, label %1104, label %1110

1104:                                             ; preds = %1103
  br label %1130

1105:                                             ; preds = %1096, %1073
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %76) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %76) #10
  br label %5283

1106:                                             ; preds = %1097
  %1107 = landingpad { ptr, i32 }
          cleanup
  %1108 = extractvalue { ptr, i32 } %1107, 0
  store ptr %1108, ptr %5, align 8
  %1109 = extractvalue { ptr, i32 } %1107, 1
  store i32 %1109, ptr %6, align 4
  br label %1138

1110:                                             ; preds = %1103
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %1111 unwind label %1116

1111:                                             ; preds = %1110
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #10
  %1112 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %79)
          to label %1113 unwind label %1120

1113:                                             ; preds = %1111
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %81, i32 noundef 1, ptr noundef @.str.7, i32 noundef 67, ptr noundef %1112)
          to label %1114 unwind label %1120

1114:                                             ; preds = %1113
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %80)
          to label %1115 unwind label %1124

1115:                                             ; preds = %1114
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %1130

1116:                                             ; preds = %1110
  %1117 = landingpad { ptr, i32 }
          cleanup
  %1118 = extractvalue { ptr, i32 } %1117, 0
  store ptr %1118, ptr %5, align 8
  %1119 = extractvalue { ptr, i32 } %1117, 1
  store i32 %1119, ptr %6, align 4
  br label %1129

1120:                                             ; preds = %1113, %1111
  %1121 = landingpad { ptr, i32 }
          cleanup
  %1122 = extractvalue { ptr, i32 } %1121, 0
  store ptr %1122, ptr %5, align 8
  %1123 = extractvalue { ptr, i32 } %1121, 1
  store i32 %1123, ptr %6, align 4
  br label %1128

1124:                                             ; preds = %1114
  %1125 = landingpad { ptr, i32 }
          cleanup
  %1126 = extractvalue { ptr, i32 } %1125, 0
  store ptr %1126, ptr %5, align 8
  %1127 = extractvalue { ptr, i32 } %1125, 1
  store i32 %1127, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #10
  br label %1128

1128:                                             ; preds = %1124, %1120
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %80) #10
  br label %1129

1129:                                             ; preds = %1128, %1116
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %1138

1130:                                             ; preds = %1115, %1104
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %82) #10
  %1131 = load ptr, ptr %60, align 8, !tbaa !5
  %1132 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1131, i32 0, i32 6
  %1133 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1132, i64 noundef 2)
  %1134 = getelementptr inbounds %"class.cascadb::Record", ptr %1133, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %82, ptr noundef @.str.42, ptr noundef @.str.43, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %1134)
  %1135 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %82)
          to label %1136 unwind label %1139

1136:                                             ; preds = %1130
  br i1 %1135, label %1137, label %1143

1137:                                             ; preds = %1136
  br label %1163

1138:                                             ; preds = %1129, %1106
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #10
  br label %5283

1139:                                             ; preds = %1130
  %1140 = landingpad { ptr, i32 }
          cleanup
  %1141 = extractvalue { ptr, i32 } %1140, 0
  store ptr %1141, ptr %5, align 8
  %1142 = extractvalue { ptr, i32 } %1140, 1
  store i32 %1142, ptr %6, align 4
  br label %1171

1143:                                             ; preds = %1136
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %1144 unwind label %1149

1144:                                             ; preds = %1143
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #10
  %1145 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %82)
          to label %1146 unwind label %1153

1146:                                             ; preds = %1144
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %84, i32 noundef 1, ptr noundef @.str.7, i32 noundef 68, ptr noundef %1145)
          to label %1147 unwind label %1153

1147:                                             ; preds = %1146
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull align 8 dereferenceable(8) %83)
          to label %1148 unwind label %1157

1148:                                             ; preds = %1147
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #10
  br label %1163

1149:                                             ; preds = %1143
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %5, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %6, align 4
  br label %1162

1153:                                             ; preds = %1146, %1144
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %5, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %6, align 4
  br label %1161

1157:                                             ; preds = %1147
  %1158 = landingpad { ptr, i32 }
          cleanup
  %1159 = extractvalue { ptr, i32 } %1158, 0
  store ptr %1159, ptr %5, align 8
  %1160 = extractvalue { ptr, i32 } %1158, 1
  store i32 %1160, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %84) #10
  br label %1161

1161:                                             ; preds = %1157, %1153
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %83) #10
  br label %1162

1162:                                             ; preds = %1161, %1149
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #10
  br label %1171

1163:                                             ; preds = %1148, %1137
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %85) #10
  %1164 = load ptr, ptr %60, align 8, !tbaa !5
  %1165 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1164, i32 0, i32 6
  %1166 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1165, i64 noundef 2)
  %1167 = getelementptr inbounds %"class.cascadb::Record", ptr %1166, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %85, ptr noundef @.str.10, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1167)
  %1168 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %1169 unwind label %1172

1169:                                             ; preds = %1163
  br i1 %1168, label %1170, label %1176

1170:                                             ; preds = %1169
  br label %1196

1171:                                             ; preds = %1162, %1139
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %82) #10
  br label %5283

1172:                                             ; preds = %1163
  %1173 = landingpad { ptr, i32 }
          cleanup
  %1174 = extractvalue { ptr, i32 } %1173, 0
  store ptr %1174, ptr %5, align 8
  %1175 = extractvalue { ptr, i32 } %1173, 1
  store i32 %1175, ptr %6, align 4
  br label %1204

1176:                                             ; preds = %1169
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %1177 unwind label %1182

1177:                                             ; preds = %1176
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #10
  %1178 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %1179 unwind label %1186

1179:                                             ; preds = %1177
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %87, i32 noundef 1, ptr noundef @.str.7, i32 noundef 68, ptr noundef %1178)
          to label %1180 unwind label %1186

1180:                                             ; preds = %1179
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull align 8 dereferenceable(8) %86)
          to label %1181 unwind label %1190

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

1182:                                             ; preds = %1176
  %1183 = landingpad { ptr, i32 }
          cleanup
  %1184 = extractvalue { ptr, i32 } %1183, 0
  store ptr %1184, ptr %5, align 8
  %1185 = extractvalue { ptr, i32 } %1183, 1
  store i32 %1185, ptr %6, align 4
  br label %1195

1186:                                             ; preds = %1179, %1177
  %1187 = landingpad { ptr, i32 }
          cleanup
  %1188 = extractvalue { ptr, i32 } %1187, 0
  store ptr %1188, ptr %5, align 8
  %1189 = extractvalue { ptr, i32 } %1187, 1
  store i32 %1189, ptr %6, align 4
  br label %1194

1190:                                             ; preds = %1180
  %1191 = landingpad { ptr, i32 }
          cleanup
  %1192 = extractvalue { ptr, i32 } %1191, 0
  store ptr %1192, ptr %5, align 8
  %1193 = extractvalue { ptr, i32 } %1191, 1
  store i32 %1193, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %87) #10
  br label %1194

1194:                                             ; preds = %1190, %1186
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %86) #10
  br label %1195

1195:                                             ; preds = %1194, %1182
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #10
  br label %1204

1196:                                             ; preds = %1181, %1170
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %88) #10
  %1197 = load ptr, ptr %60, align 8, !tbaa !5
  %1198 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1197, i32 0, i32 6
  %1199 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1198, i64 noundef 3)
  %1200 = getelementptr inbounds %"class.cascadb::Record", ptr %1199, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %88, ptr noundef @.str.45, ptr noundef @.str.46, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %1200)
  %1201 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %1202 unwind label %1205

1202:                                             ; preds = %1196
  br i1 %1201, label %1203, label %1209

1203:                                             ; preds = %1202
  br label %1229

1204:                                             ; preds = %1195, %1172
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %85) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %85) #10
  br label %5283

1205:                                             ; preds = %1196
  %1206 = landingpad { ptr, i32 }
          cleanup
  %1207 = extractvalue { ptr, i32 } %1206, 0
  store ptr %1207, ptr %5, align 8
  %1208 = extractvalue { ptr, i32 } %1206, 1
  store i32 %1208, ptr %6, align 4
  br label %1237

1209:                                             ; preds = %1202
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %1210 unwind label %1215

1210:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #10
  %1211 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %88)
          to label %1212 unwind label %1219

1212:                                             ; preds = %1210
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %90, i32 noundef 1, ptr noundef @.str.7, i32 noundef 69, ptr noundef %1211)
          to label %1213 unwind label %1219

1213:                                             ; preds = %1212
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %90, ptr noundef nonnull align 8 dereferenceable(8) %89)
          to label %1214 unwind label %1223

1214:                                             ; preds = %1213
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  br label %1229

1215:                                             ; preds = %1209
  %1216 = landingpad { ptr, i32 }
          cleanup
  %1217 = extractvalue { ptr, i32 } %1216, 0
  store ptr %1217, ptr %5, align 8
  %1218 = extractvalue { ptr, i32 } %1216, 1
  store i32 %1218, ptr %6, align 4
  br label %1228

1219:                                             ; preds = %1212, %1210
  %1220 = landingpad { ptr, i32 }
          cleanup
  %1221 = extractvalue { ptr, i32 } %1220, 0
  store ptr %1221, ptr %5, align 8
  %1222 = extractvalue { ptr, i32 } %1220, 1
  store i32 %1222, ptr %6, align 4
  br label %1227

1223:                                             ; preds = %1213
  %1224 = landingpad { ptr, i32 }
          cleanup
  %1225 = extractvalue { ptr, i32 } %1224, 0
  store ptr %1225, ptr %5, align 8
  %1226 = extractvalue { ptr, i32 } %1224, 1
  store i32 %1226, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %90) #10
  br label %1227

1227:                                             ; preds = %1223, %1219
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %89) #10
  br label %1228

1228:                                             ; preds = %1227, %1215
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #10
  br label %1237

1229:                                             ; preds = %1214, %1203
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %91) #10
  %1230 = load ptr, ptr %60, align 8, !tbaa !5
  %1231 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1230, i32 0, i32 6
  %1232 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1231, i64 noundef 3)
  %1233 = getelementptr inbounds %"class.cascadb::Record", ptr %1232, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %91, ptr noundef @.str.10, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1233)
  %1234 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %1235 unwind label %1238

1235:                                             ; preds = %1229
  br i1 %1234, label %1236, label %1242

1236:                                             ; preds = %1235
  br label %1262

1237:                                             ; preds = %1228, %1205
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %88) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %88) #10
  br label %5283

1238:                                             ; preds = %1229
  %1239 = landingpad { ptr, i32 }
          cleanup
  %1240 = extractvalue { ptr, i32 } %1239, 0
  store ptr %1240, ptr %5, align 8
  %1241 = extractvalue { ptr, i32 } %1239, 1
  store i32 %1241, ptr %6, align 4
  br label %1300

1242:                                             ; preds = %1235
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1243 unwind label %1248

1243:                                             ; preds = %1242
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #10
  %1244 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %91)
          to label %1245 unwind label %1252

1245:                                             ; preds = %1243
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %93, i32 noundef 1, ptr noundef @.str.7, i32 noundef 69, ptr noundef %1244)
          to label %1246 unwind label %1252

1246:                                             ; preds = %1245
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %1247 unwind label %1256

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

1248:                                             ; preds = %1242
  %1249 = landingpad { ptr, i32 }
          cleanup
  %1250 = extractvalue { ptr, i32 } %1249, 0
  store ptr %1250, ptr %5, align 8
  %1251 = extractvalue { ptr, i32 } %1249, 1
  store i32 %1251, ptr %6, align 4
  br label %1261

1252:                                             ; preds = %1245, %1243
  %1253 = landingpad { ptr, i32 }
          cleanup
  %1254 = extractvalue { ptr, i32 } %1253, 0
  store ptr %1254, ptr %5, align 8
  %1255 = extractvalue { ptr, i32 } %1253, 1
  store i32 %1255, ptr %6, align 4
  br label %1260

1256:                                             ; preds = %1246
  %1257 = landingpad { ptr, i32 }
          cleanup
  %1258 = extractvalue { ptr, i32 } %1257, 0
  store ptr %1258, ptr %5, align 8
  %1259 = extractvalue { ptr, i32 } %1257, 1
  store i32 %1259, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #10
  br label %1260

1260:                                             ; preds = %1256, %1252
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #10
  br label %1261

1261:                                             ; preds = %1260, %1248
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #10
  br label %1300

1262:                                             ; preds = %1247, %1236
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #10
  %1263 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %94, ptr noundef @.str.48)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %95, ptr noundef @.str.4)
  %1264 = getelementptr inbounds { ptr, i32 }, ptr %94, i32 0, i32 0
  %1265 = load ptr, ptr %1264, align 8
  %1266 = getelementptr inbounds { ptr, i32 }, ptr %94, i32 0, i32 1
  %1267 = load i32, ptr %1266, align 8
  %1268 = getelementptr inbounds { ptr, i32 }, ptr %95, i32 0, i32 0
  %1269 = load ptr, ptr %1268, align 8
  %1270 = getelementptr inbounds { ptr, i32 }, ptr %95, i32 0, i32 1
  %1271 = load i32, ptr %1270, align 8
  %1272 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1263, ptr %1265, i32 %1267, ptr %1269, i32 %1271)
  %1273 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %96, ptr noundef @.str.49)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %97, ptr noundef @.str.4)
  %1274 = getelementptr inbounds { ptr, i32 }, ptr %96, i32 0, i32 0
  %1275 = load ptr, ptr %1274, align 8
  %1276 = getelementptr inbounds { ptr, i32 }, ptr %96, i32 0, i32 1
  %1277 = load i32, ptr %1276, align 8
  %1278 = getelementptr inbounds { ptr, i32 }, ptr %97, i32 0, i32 0
  %1279 = load ptr, ptr %1278, align 8
  %1280 = getelementptr inbounds { ptr, i32 }, ptr %97, i32 0, i32 1
  %1281 = load i32, ptr %1280, align 8
  %1282 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1273, ptr %1275, i32 %1277, ptr %1279, i32 %1281)
  %1283 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %98, ptr noundef @.str.50)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %99, ptr noundef @.str.4)
  %1284 = getelementptr inbounds { ptr, i32 }, ptr %98, i32 0, i32 0
  %1285 = load ptr, ptr %1284, align 8
  %1286 = getelementptr inbounds { ptr, i32 }, ptr %98, i32 0, i32 1
  %1287 = load i32, ptr %1286, align 8
  %1288 = getelementptr inbounds { ptr, i32 }, ptr %99, i32 0, i32 0
  %1289 = load ptr, ptr %1288, align 8
  %1290 = getelementptr inbounds { ptr, i32 }, ptr %99, i32 0, i32 1
  %1291 = load i32, ptr %1290, align 8
  %1292 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1283, ptr %1285, i32 %1287, ptr %1289, i32 %1291)
  call void @llvm.lifetime.start.p0(i64 16, ptr %100) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  store i32 3, ptr %101, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #10
  %1293 = load ptr, ptr %29, align 8, !tbaa !5
  %1294 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1293, i32 0, i32 3
  %1295 = load ptr, ptr %1294, align 8, !tbaa !26
  %1296 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %1295)
  store i64 %1296, ptr %102, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %100, ptr noundef @.str.28, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %101, ptr noundef nonnull align 8 dereferenceable(8) %102)
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  %1297 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %100)
          to label %1298 unwind label %1301

1298:                                             ; preds = %1262
  br i1 %1297, label %1299, label %1305

1299:                                             ; preds = %1298
  br label %1325

1300:                                             ; preds = %1261, %1238
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %91) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %91) #10
  br label %5283

1301:                                             ; preds = %1262
  %1302 = landingpad { ptr, i32 }
          cleanup
  %1303 = extractvalue { ptr, i32 } %1302, 0
  store ptr %1303, ptr %5, align 8
  %1304 = extractvalue { ptr, i32 } %1302, 1
  store i32 %1304, ptr %6, align 4
  br label %1343

1305:                                             ; preds = %1298
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1306 unwind label %1311

1306:                                             ; preds = %1305
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #10
  %1307 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %100)
          to label %1308 unwind label %1315

1308:                                             ; preds = %1306
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %104, i32 noundef 1, ptr noundef @.str.7, i32 noundef 75, ptr noundef %1307)
          to label %1309 unwind label %1315

1309:                                             ; preds = %1308
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %104, ptr noundef nonnull align 8 dereferenceable(8) %103)
          to label %1310 unwind label %1319

1310:                                             ; preds = %1309
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #10
  br label %1325

1311:                                             ; preds = %1305
  %1312 = landingpad { ptr, i32 }
          cleanup
  %1313 = extractvalue { ptr, i32 } %1312, 0
  store ptr %1313, ptr %5, align 8
  %1314 = extractvalue { ptr, i32 } %1312, 1
  store i32 %1314, ptr %6, align 4
  br label %1324

1315:                                             ; preds = %1308, %1306
  %1316 = landingpad { ptr, i32 }
          cleanup
  %1317 = extractvalue { ptr, i32 } %1316, 0
  store ptr %1317, ptr %5, align 8
  %1318 = extractvalue { ptr, i32 } %1316, 1
  store i32 %1318, ptr %6, align 4
  br label %1323

1319:                                             ; preds = %1309
  %1320 = landingpad { ptr, i32 }
          cleanup
  %1321 = extractvalue { ptr, i32 } %1320, 0
  store ptr %1321, ptr %5, align 8
  %1322 = extractvalue { ptr, i32 } %1320, 1
  store i32 %1322, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %104) #10
  br label %1323

1323:                                             ; preds = %1319, %1315
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #10
  br label %1324

1324:                                             ; preds = %1323, %1311
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #10
  br label %1343

1325:                                             ; preds = %1310, %1299
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %100) #10
  %1326 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %105, ptr noundef @.str.51)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %106, ptr noundef @.str.4)
  %1327 = getelementptr inbounds { ptr, i32 }, ptr %105, i32 0, i32 0
  %1328 = load ptr, ptr %1327, align 8
  %1329 = getelementptr inbounds { ptr, i32 }, ptr %105, i32 0, i32 1
  %1330 = load i32, ptr %1329, align 8
  %1331 = getelementptr inbounds { ptr, i32 }, ptr %106, i32 0, i32 0
  %1332 = load ptr, ptr %1331, align 8
  %1333 = getelementptr inbounds { ptr, i32 }, ptr %106, i32 0, i32 1
  %1334 = load i32, ptr %1333, align 8
  %1335 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1326, ptr %1328, i32 %1330, ptr %1332, i32 %1334)
  call void @llvm.lifetime.start.p0(i64 16, ptr %107) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  store i32 0, ptr %108, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #10
  %1336 = load ptr, ptr %29, align 8, !tbaa !5
  %1337 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1336, i32 0, i32 3
  %1338 = load ptr, ptr %1337, align 8, !tbaa !26
  %1339 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %1338)
  store i64 %1339, ptr %109, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %107, ptr noundef @.str.31, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %108, ptr noundef nonnull align 8 dereferenceable(8) %109, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  %1340 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %1341 unwind label %1344

1341:                                             ; preds = %1325
  br i1 %1340, label %1342, label %1348

1342:                                             ; preds = %1341
  br label %1368

1343:                                             ; preds = %1324, %1301
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %100) #10
  br label %5283

1344:                                             ; preds = %1325
  %1345 = landingpad { ptr, i32 }
          cleanup
  %1346 = extractvalue { ptr, i32 } %1345, 0
  store ptr %1346, ptr %5, align 8
  %1347 = extractvalue { ptr, i32 } %1345, 1
  store i32 %1347, ptr %6, align 4
  br label %1376

1348:                                             ; preds = %1341
  call void @llvm.lifetime.start.p0(i64 8, ptr %110) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %1349 unwind label %1354

1349:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #10
  %1350 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %107)
          to label %1351 unwind label %1358

1351:                                             ; preds = %1349
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %111, i32 noundef 1, ptr noundef @.str.7, i32 noundef 79, ptr noundef %1350)
          to label %1352 unwind label %1358

1352:                                             ; preds = %1351
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %111, ptr noundef nonnull align 8 dereferenceable(8) %110)
          to label %1353 unwind label %1362

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

1354:                                             ; preds = %1348
  %1355 = landingpad { ptr, i32 }
          cleanup
  %1356 = extractvalue { ptr, i32 } %1355, 0
  store ptr %1356, ptr %5, align 8
  %1357 = extractvalue { ptr, i32 } %1355, 1
  store i32 %1357, ptr %6, align 4
  br label %1367

1358:                                             ; preds = %1351, %1349
  %1359 = landingpad { ptr, i32 }
          cleanup
  %1360 = extractvalue { ptr, i32 } %1359, 0
  store ptr %1360, ptr %5, align 8
  %1361 = extractvalue { ptr, i32 } %1359, 1
  store i32 %1361, ptr %6, align 4
  br label %1366

1362:                                             ; preds = %1352
  %1363 = landingpad { ptr, i32 }
          cleanup
  %1364 = extractvalue { ptr, i32 } %1363, 0
  store ptr %1364, ptr %5, align 8
  %1365 = extractvalue { ptr, i32 } %1363, 1
  store i32 %1365, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #10
  br label %1366

1366:                                             ; preds = %1362, %1358
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %110) #10
  br label %1367

1367:                                             ; preds = %1366, %1354
  call void @llvm.lifetime.end.p0(i64 8, ptr %110) #10
  br label %1376

1368:                                             ; preds = %1353, %1342
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %112) #10
  %1369 = load ptr, ptr %60, align 8, !tbaa !5
  %1370 = getelementptr inbounds %"class.cascadb::Node", ptr %1369, i32 0, i32 2
  %1371 = load ptr, ptr %29, align 8, !tbaa !5
  %1372 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1371, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %112, ptr noundef @.str.34, ptr noundef @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %1370, ptr noundef nonnull align 8 dereferenceable(8) %1372)
  %1373 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %112)
          to label %1374 unwind label %1377

1374:                                             ; preds = %1368
  br i1 %1373, label %1375, label %1381

1375:                                             ; preds = %1374
  br label %1401

1376:                                             ; preds = %1367, %1344
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %107) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %107) #10
  br label %5283

1377:                                             ; preds = %1368
  %1378 = landingpad { ptr, i32 }
          cleanup
  %1379 = extractvalue { ptr, i32 } %1378, 0
  store ptr %1379, ptr %5, align 8
  %1380 = extractvalue { ptr, i32 } %1378, 1
  store i32 %1380, ptr %6, align 4
  br label %1408

1381:                                             ; preds = %1374
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1382 unwind label %1387

1382:                                             ; preds = %1381
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #10
  %1383 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %112)
          to label %1384 unwind label %1391

1384:                                             ; preds = %1382
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %114, i32 noundef 1, ptr noundef @.str.7, i32 noundef 80, ptr noundef %1383)
          to label %1385 unwind label %1391

1385:                                             ; preds = %1384
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %114, ptr noundef nonnull align 8 dereferenceable(8) %113)
          to label %1386 unwind label %1395

1386:                                             ; preds = %1385
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #10
  br label %1401

1387:                                             ; preds = %1381
  %1388 = landingpad { ptr, i32 }
          cleanup
  %1389 = extractvalue { ptr, i32 } %1388, 0
  store ptr %1389, ptr %5, align 8
  %1390 = extractvalue { ptr, i32 } %1388, 1
  store i32 %1390, ptr %6, align 4
  br label %1400

1391:                                             ; preds = %1384, %1382
  %1392 = landingpad { ptr, i32 }
          cleanup
  %1393 = extractvalue { ptr, i32 } %1392, 0
  store ptr %1393, ptr %5, align 8
  %1394 = extractvalue { ptr, i32 } %1392, 1
  store i32 %1394, ptr %6, align 4
  br label %1399

1395:                                             ; preds = %1385
  %1396 = landingpad { ptr, i32 }
          cleanup
  %1397 = extractvalue { ptr, i32 } %1396, 0
  store ptr %1397, ptr %5, align 8
  %1398 = extractvalue { ptr, i32 } %1396, 1
  store i32 %1398, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %114) #10
  br label %1399

1399:                                             ; preds = %1395, %1391
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %113) #10
  br label %1400

1400:                                             ; preds = %1399, %1387
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #10
  br label %1408

1401:                                             ; preds = %1386, %1375
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %115) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  store i32 1, ptr %116, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #10
  %1402 = load ptr, ptr %29, align 8, !tbaa !5
  %1403 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1402, i32 0, i32 9
  %1404 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1403) #10
  store i64 %1404, ptr %117, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %115, ptr noundef @.str.52, ptr noundef @.str.53, ptr noundef nonnull align 4 dereferenceable(4) %116, ptr noundef nonnull align 8 dereferenceable(8) %117)
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  %1405 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %115)
          to label %1406 unwind label %1409

1406:                                             ; preds = %1401
  br i1 %1405, label %1407, label %1413

1407:                                             ; preds = %1406
  br label %1433

1408:                                             ; preds = %1400, %1377
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %112) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %112) #10
  br label %5283

1409:                                             ; preds = %1401
  %1410 = landingpad { ptr, i32 }
          cleanup
  %1411 = extractvalue { ptr, i32 } %1410, 0
  store ptr %1411, ptr %5, align 8
  %1412 = extractvalue { ptr, i32 } %1410, 1
  store i32 %1412, ptr %6, align 4
  br label %1442

1413:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 8, ptr %118) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1414 unwind label %1419

1414:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #10
  %1415 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %115)
          to label %1416 unwind label %1423

1416:                                             ; preds = %1414
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %119, i32 noundef 1, ptr noundef @.str.7, i32 noundef 81, ptr noundef %1415)
          to label %1417 unwind label %1423

1417:                                             ; preds = %1416
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %119, ptr noundef nonnull align 8 dereferenceable(8) %118)
          to label %1418 unwind label %1427

1418:                                             ; preds = %1417
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #10
  br label %1433

1419:                                             ; preds = %1413
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %5, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %6, align 4
  br label %1432

1423:                                             ; preds = %1416, %1414
  %1424 = landingpad { ptr, i32 }
          cleanup
  %1425 = extractvalue { ptr, i32 } %1424, 0
  store ptr %1425, ptr %5, align 8
  %1426 = extractvalue { ptr, i32 } %1424, 1
  store i32 %1426, ptr %6, align 4
  br label %1431

1427:                                             ; preds = %1417
  %1428 = landingpad { ptr, i32 }
          cleanup
  %1429 = extractvalue { ptr, i32 } %1428, 0
  store ptr %1429, ptr %5, align 8
  %1430 = extractvalue { ptr, i32 } %1428, 1
  store i32 %1430, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #10
  br label %1431

1431:                                             ; preds = %1427, %1423
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %118) #10
  br label %1432

1432:                                             ; preds = %1431, %1419
  call void @llvm.lifetime.end.p0(i64 8, ptr %118) #10
  br label %1442

1433:                                             ; preds = %1418, %1407
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %115) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %120) #10
  %1434 = load ptr, ptr %29, align 8, !tbaa !5
  %1435 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1434, i32 0, i32 9
  %1436 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1435, i64 noundef 0) #10
  %1437 = getelementptr inbounds %"class.cascadb::Pivot", ptr %1436, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 16, ptr %121) #10
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %121, ptr noundef @.str.48)
  %1438 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %1437, ptr noundef nonnull align 8 dereferenceable(12) %121)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %120, i1 noundef zeroext %1438)
  call void @llvm.lifetime.end.p0(i64 16, ptr %121) #10
  %1439 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %120)
          to label %1440 unwind label %1443

1440:                                             ; preds = %1433
  br i1 %1439, label %1441, label %1447

1441:                                             ; preds = %1440
  br label %1473

1442:                                             ; preds = %1432, %1409
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %115) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %115) #10
  br label %5283

1443:                                             ; preds = %1433
  %1444 = landingpad { ptr, i32 }
          cleanup
  %1445 = extractvalue { ptr, i32 } %1444, 0
  store ptr %1445, ptr %5, align 8
  %1446 = extractvalue { ptr, i32 } %1444, 1
  store i32 %1446, ptr %6, align 4
  br label %1483

1447:                                             ; preds = %1440
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %1448 unwind label %1454

1448:                                             ; preds = %1447
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %124) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %124, ptr noundef nonnull align 8 dereferenceable(16) %120, ptr noundef @.str.54, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %1449 unwind label %1458

1449:                                             ; preds = %1448
  %1450 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %124)
          to label %1451 unwind label %1462

1451:                                             ; preds = %1449
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %123, i32 noundef 1, ptr noundef @.str.7, i32 noundef 82, ptr noundef %1450)
          to label %1452 unwind label %1462

1452:                                             ; preds = %1451
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull align 8 dereferenceable(8) %122)
          to label %1453 unwind label %1466

1453:                                             ; preds = %1452
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #10
  br label %1473

1454:                                             ; preds = %1447
  %1455 = landingpad { ptr, i32 }
          cleanup
  %1456 = extractvalue { ptr, i32 } %1455, 0
  store ptr %1456, ptr %5, align 8
  %1457 = extractvalue { ptr, i32 } %1455, 1
  store i32 %1457, ptr %6, align 4
  br label %1472

1458:                                             ; preds = %1448
  %1459 = landingpad { ptr, i32 }
          cleanup
  %1460 = extractvalue { ptr, i32 } %1459, 0
  store ptr %1460, ptr %5, align 8
  %1461 = extractvalue { ptr, i32 } %1459, 1
  store i32 %1461, ptr %6, align 4
  br label %1471

1462:                                             ; preds = %1451, %1449
  %1463 = landingpad { ptr, i32 }
          cleanup
  %1464 = extractvalue { ptr, i32 } %1463, 0
  store ptr %1464, ptr %5, align 8
  %1465 = extractvalue { ptr, i32 } %1463, 1
  store i32 %1465, ptr %6, align 4
  br label %1470

1466:                                             ; preds = %1452
  %1467 = landingpad { ptr, i32 }
          cleanup
  %1468 = extractvalue { ptr, i32 } %1467, 0
  store ptr %1468, ptr %5, align 8
  %1469 = extractvalue { ptr, i32 } %1467, 1
  store i32 %1469, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %123) #10
  br label %1470

1470:                                             ; preds = %1466, %1462
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %124) #10
  br label %1471

1471:                                             ; preds = %1470, %1458
  call void @llvm.lifetime.end.p0(i64 16, ptr %124) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %122) #10
  br label %1472

1472:                                             ; preds = %1471, %1454
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #10
  br label %1483

1473:                                             ; preds = %1453, %1441
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %125) #10
  %1474 = load ptr, ptr %29, align 8, !tbaa !5
  %1475 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1474, i32 0, i32 9
  %1476 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1475, i64 noundef 0) #10
  %1477 = getelementptr inbounds %"class.cascadb::Pivot", ptr %1476, i32 0, i32 2
  %1478 = load i64, ptr %1477, align 8, !tbaa !41
  %1479 = icmp ne i64 %1478, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %125, i1 noundef zeroext %1479)
  %1480 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %125)
          to label %1481 unwind label %1484

1481:                                             ; preds = %1473
  br i1 %1480, label %1482, label %1488

1482:                                             ; preds = %1481
  br label %1514

1483:                                             ; preds = %1472, %1443
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %120) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %120) #10
  br label %5283

1484:                                             ; preds = %1473
  %1485 = landingpad { ptr, i32 }
          cleanup
  %1486 = extractvalue { ptr, i32 } %1485, 0
  store ptr %1486, ptr %5, align 8
  %1487 = extractvalue { ptr, i32 } %1485, 1
  store i32 %1487, ptr %6, align 4
  br label %1524

1488:                                             ; preds = %1481
  call void @llvm.lifetime.start.p0(i64 8, ptr %126) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %1489 unwind label %1495

1489:                                             ; preds = %1488
  call void @llvm.lifetime.start.p0(i64 8, ptr %127) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %128, ptr noundef nonnull align 8 dereferenceable(16) %125, ptr noundef @.str.55, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %1490 unwind label %1499

1490:                                             ; preds = %1489
  %1491 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %1492 unwind label %1503

1492:                                             ; preds = %1490
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %127, i32 noundef 1, ptr noundef @.str.7, i32 noundef 83, ptr noundef %1491)
          to label %1493 unwind label %1503

1493:                                             ; preds = %1492
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %127, ptr noundef nonnull align 8 dereferenceable(8) %126)
          to label %1494 unwind label %1507

1494:                                             ; preds = %1493
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #10
  br label %1514

1495:                                             ; preds = %1488
  %1496 = landingpad { ptr, i32 }
          cleanup
  %1497 = extractvalue { ptr, i32 } %1496, 0
  store ptr %1497, ptr %5, align 8
  %1498 = extractvalue { ptr, i32 } %1496, 1
  store i32 %1498, ptr %6, align 4
  br label %1513

1499:                                             ; preds = %1489
  %1500 = landingpad { ptr, i32 }
          cleanup
  %1501 = extractvalue { ptr, i32 } %1500, 0
  store ptr %1501, ptr %5, align 8
  %1502 = extractvalue { ptr, i32 } %1500, 1
  store i32 %1502, ptr %6, align 4
  br label %1512

1503:                                             ; preds = %1492, %1490
  %1504 = landingpad { ptr, i32 }
          cleanup
  %1505 = extractvalue { ptr, i32 } %1504, 0
  store ptr %1505, ptr %5, align 8
  %1506 = extractvalue { ptr, i32 } %1504, 1
  store i32 %1506, ptr %6, align 4
  br label %1511

1507:                                             ; preds = %1493
  %1508 = landingpad { ptr, i32 }
          cleanup
  %1509 = extractvalue { ptr, i32 } %1508, 0
  store ptr %1509, ptr %5, align 8
  %1510 = extractvalue { ptr, i32 } %1508, 1
  store i32 %1510, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %127) #10
  br label %1511

1511:                                             ; preds = %1507, %1503
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %128) #10
  br label %1512

1512:                                             ; preds = %1511, %1499
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %127) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %126) #10
  br label %1513

1513:                                             ; preds = %1512, %1495
  call void @llvm.lifetime.end.p0(i64 8, ptr %126) #10
  br label %1524

1514:                                             ; preds = %1494, %1482
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %125) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %129) #10
  %1515 = load ptr, ptr %29, align 8, !tbaa !5
  %1516 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1515, i32 0, i32 9
  %1517 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1516, i64 noundef 0) #10
  %1518 = getelementptr inbounds %"class.cascadb::Pivot", ptr %1517, i32 0, i32 3
  %1519 = load ptr, ptr %1518, align 8, !tbaa !43
  %1520 = icmp ne ptr %1519, null
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %129, i1 noundef zeroext %1520)
  %1521 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %129)
          to label %1522 unwind label %1525

1522:                                             ; preds = %1514
  br i1 %1521, label %1523, label %1529

1523:                                             ; preds = %1522
  br label %1555

1524:                                             ; preds = %1513, %1484
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %125) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %125) #10
  br label %5283

1525:                                             ; preds = %1514
  %1526 = landingpad { ptr, i32 }
          cleanup
  %1527 = extractvalue { ptr, i32 } %1526, 0
  store ptr %1527, ptr %5, align 8
  %1528 = extractvalue { ptr, i32 } %1526, 1
  store i32 %1528, ptr %6, align 4
  br label %1568

1529:                                             ; preds = %1522
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %1530 unwind label %1536

1530:                                             ; preds = %1529
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %132) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %132, ptr noundef nonnull align 8 dereferenceable(16) %129, ptr noundef @.str.56, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %1531 unwind label %1540

1531:                                             ; preds = %1530
  %1532 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %132)
          to label %1533 unwind label %1544

1533:                                             ; preds = %1531
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %131, i32 noundef 1, ptr noundef @.str.7, i32 noundef 84, ptr noundef %1532)
          to label %1534 unwind label %1544

1534:                                             ; preds = %1533
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %131, ptr noundef nonnull align 8 dereferenceable(8) %130)
          to label %1535 unwind label %1548

1535:                                             ; preds = %1534
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #10
  br label %1555

1536:                                             ; preds = %1529
  %1537 = landingpad { ptr, i32 }
          cleanup
  %1538 = extractvalue { ptr, i32 } %1537, 0
  store ptr %1538, ptr %5, align 8
  %1539 = extractvalue { ptr, i32 } %1537, 1
  store i32 %1539, ptr %6, align 4
  br label %1554

1540:                                             ; preds = %1530
  %1541 = landingpad { ptr, i32 }
          cleanup
  %1542 = extractvalue { ptr, i32 } %1541, 0
  store ptr %1542, ptr %5, align 8
  %1543 = extractvalue { ptr, i32 } %1541, 1
  store i32 %1543, ptr %6, align 4
  br label %1553

1544:                                             ; preds = %1533, %1531
  %1545 = landingpad { ptr, i32 }
          cleanup
  %1546 = extractvalue { ptr, i32 } %1545, 0
  store ptr %1546, ptr %5, align 8
  %1547 = extractvalue { ptr, i32 } %1545, 1
  store i32 %1547, ptr %6, align 4
  br label %1552

1548:                                             ; preds = %1534
  %1549 = landingpad { ptr, i32 }
          cleanup
  %1550 = extractvalue { ptr, i32 } %1549, 0
  store ptr %1550, ptr %5, align 8
  %1551 = extractvalue { ptr, i32 } %1549, 1
  store i32 %1551, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %131) #10
  br label %1552

1552:                                             ; preds = %1548, %1544
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %132) #10
  br label %1553

1553:                                             ; preds = %1552, %1540
  call void @llvm.lifetime.end.p0(i64 16, ptr %132) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #10
  br label %1554

1554:                                             ; preds = %1553, %1536
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #10
  br label %1568

1555:                                             ; preds = %1535, %1523
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %129) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %133) #10
  %1556 = load ptr, ptr %21, align 8, !tbaa !5
  %1557 = load ptr, ptr %29, align 8, !tbaa !5
  %1558 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %1557, i32 0, i32 9
  %1559 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1558, i64 noundef 0) #10
  %1560 = getelementptr inbounds %"class.cascadb::Pivot", ptr %1559, i32 0, i32 2
  %1561 = load i64, ptr %1560, align 8, !tbaa !41
  %1562 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %1556, i64 noundef %1561, i1 noundef zeroext false)
  store ptr %1562, ptr %133, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %134) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #10
  store i64 281474976710658, ptr %135, align 8, !tbaa !24
  %1563 = load ptr, ptr %133, align 8, !tbaa !5
  %1564 = getelementptr inbounds %"class.cascadb::Node", ptr %1563, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %134, ptr noundef @.str.57, ptr noundef @.str.58, ptr noundef nonnull align 8 dereferenceable(8) %135, ptr noundef nonnull align 8 dereferenceable(8) %1564)
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #10
  %1565 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %1566 unwind label %1569

1566:                                             ; preds = %1555
  br i1 %1565, label %1567, label %1573

1567:                                             ; preds = %1566
  br label %1593

1568:                                             ; preds = %1554, %1525
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %129) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %129) #10
  br label %5283

1569:                                             ; preds = %1555
  %1570 = landingpad { ptr, i32 }
          cleanup
  %1571 = extractvalue { ptr, i32 } %1570, 0
  store ptr %1571, ptr %5, align 8
  %1572 = extractvalue { ptr, i32 } %1570, 1
  store i32 %1572, ptr %6, align 4
  br label %1600

1573:                                             ; preds = %1566
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %1574 unwind label %1579

1574:                                             ; preds = %1573
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #10
  %1575 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %1576 unwind label %1583

1576:                                             ; preds = %1574
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %137, i32 noundef 1, ptr noundef @.str.7, i32 noundef 86, ptr noundef %1575)
          to label %1577 unwind label %1583

1577:                                             ; preds = %1576
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %137, ptr noundef nonnull align 8 dereferenceable(8) %136)
          to label %1578 unwind label %1587

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

1579:                                             ; preds = %1573
  %1580 = landingpad { ptr, i32 }
          cleanup
  %1581 = extractvalue { ptr, i32 } %1580, 0
  store ptr %1581, ptr %5, align 8
  %1582 = extractvalue { ptr, i32 } %1580, 1
  store i32 %1582, ptr %6, align 4
  br label %1592

1583:                                             ; preds = %1576, %1574
  %1584 = landingpad { ptr, i32 }
          cleanup
  %1585 = extractvalue { ptr, i32 } %1584, 0
  store ptr %1585, ptr %5, align 8
  %1586 = extractvalue { ptr, i32 } %1584, 1
  store i32 %1586, ptr %6, align 4
  br label %1591

1587:                                             ; preds = %1577
  %1588 = landingpad { ptr, i32 }
          cleanup
  %1589 = extractvalue { ptr, i32 } %1588, 0
  store ptr %1589, ptr %5, align 8
  %1590 = extractvalue { ptr, i32 } %1588, 1
  store i32 %1590, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %137) #10
  br label %1591

1591:                                             ; preds = %1587, %1583
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #10
  br label %1592

1592:                                             ; preds = %1591, %1579
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #10
  br label %1600

1593:                                             ; preds = %1578, %1567
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %138) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  store i32 4, ptr %139, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #10
  %1594 = load ptr, ptr %60, align 8, !tbaa !5
  %1595 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1594, i32 0, i32 6
  %1596 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %1595)
  store i64 %1596, ptr %140, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %138, ptr noundef @.str.35, ptr noundef @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %139, ptr noundef nonnull align 8 dereferenceable(8) %140)
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  %1597 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %138)
          to label %1598 unwind label %1601

1598:                                             ; preds = %1593
  br i1 %1597, label %1599, label %1605

1599:                                             ; preds = %1598
  br label %1625

1600:                                             ; preds = %1592, %1569
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %134) #10
  br label %5282

1601:                                             ; preds = %1593
  %1602 = landingpad { ptr, i32 }
          cleanup
  %1603 = extractvalue { ptr, i32 } %1602, 0
  store ptr %1603, ptr %5, align 8
  %1604 = extractvalue { ptr, i32 } %1602, 1
  store i32 %1604, ptr %6, align 4
  br label %1633

1605:                                             ; preds = %1598
  call void @llvm.lifetime.start.p0(i64 8, ptr %141) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141)
          to label %1606 unwind label %1611

1606:                                             ; preds = %1605
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #10
  %1607 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %138)
          to label %1608 unwind label %1615

1608:                                             ; preds = %1606
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %142, i32 noundef 1, ptr noundef @.str.7, i32 noundef 87, ptr noundef %1607)
          to label %1609 unwind label %1615

1609:                                             ; preds = %1608
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 8 dereferenceable(8) %141)
          to label %1610 unwind label %1619

1610:                                             ; preds = %1609
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #10
  br label %1625

1611:                                             ; preds = %1605
  %1612 = landingpad { ptr, i32 }
          cleanup
  %1613 = extractvalue { ptr, i32 } %1612, 0
  store ptr %1613, ptr %5, align 8
  %1614 = extractvalue { ptr, i32 } %1612, 1
  store i32 %1614, ptr %6, align 4
  br label %1624

1615:                                             ; preds = %1608, %1606
  %1616 = landingpad { ptr, i32 }
          cleanup
  %1617 = extractvalue { ptr, i32 } %1616, 0
  store ptr %1617, ptr %5, align 8
  %1618 = extractvalue { ptr, i32 } %1616, 1
  store i32 %1618, ptr %6, align 4
  br label %1623

1619:                                             ; preds = %1609
  %1620 = landingpad { ptr, i32 }
          cleanup
  %1621 = extractvalue { ptr, i32 } %1620, 0
  store ptr %1621, ptr %5, align 8
  %1622 = extractvalue { ptr, i32 } %1620, 1
  store i32 %1622, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #10
  br label %1623

1623:                                             ; preds = %1619, %1615
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #10
  br label %1624

1624:                                             ; preds = %1623, %1611
  call void @llvm.lifetime.end.p0(i64 8, ptr %141) #10
  br label %1633

1625:                                             ; preds = %1610, %1599
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %138) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %143) #10
  %1626 = load ptr, ptr %60, align 8, !tbaa !5
  %1627 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1626, i32 0, i32 6
  %1628 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1627, i64 noundef 0)
  %1629 = getelementptr inbounds %"class.cascadb::Record", ptr %1628, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %143, ptr noundef @.str.8, ptr noundef @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %1629)
  %1630 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %1631 unwind label %1634

1631:                                             ; preds = %1625
  br i1 %1630, label %1632, label %1638

1632:                                             ; preds = %1631
  br label %1658

1633:                                             ; preds = %1624, %1601
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %138) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %138) #10
  br label %5282

1634:                                             ; preds = %1625
  %1635 = landingpad { ptr, i32 }
          cleanup
  %1636 = extractvalue { ptr, i32 } %1635, 0
  store ptr %1636, ptr %5, align 8
  %1637 = extractvalue { ptr, i32 } %1635, 1
  store i32 %1637, ptr %6, align 4
  br label %1666

1638:                                             ; preds = %1631
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %1639 unwind label %1644

1639:                                             ; preds = %1638
  call void @llvm.lifetime.start.p0(i64 8, ptr %145) #10
  %1640 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %1641 unwind label %1648

1641:                                             ; preds = %1639
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %145, i32 noundef 1, ptr noundef @.str.7, i32 noundef 88, ptr noundef %1640)
          to label %1642 unwind label %1648

1642:                                             ; preds = %1641
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %1643 unwind label %1652

1643:                                             ; preds = %1642
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #10
  br label %1658

1644:                                             ; preds = %1638
  %1645 = landingpad { ptr, i32 }
          cleanup
  %1646 = extractvalue { ptr, i32 } %1645, 0
  store ptr %1646, ptr %5, align 8
  %1647 = extractvalue { ptr, i32 } %1645, 1
  store i32 %1647, ptr %6, align 4
  br label %1657

1648:                                             ; preds = %1641, %1639
  %1649 = landingpad { ptr, i32 }
          cleanup
  %1650 = extractvalue { ptr, i32 } %1649, 0
  store ptr %1650, ptr %5, align 8
  %1651 = extractvalue { ptr, i32 } %1649, 1
  store i32 %1651, ptr %6, align 4
  br label %1656

1652:                                             ; preds = %1642
  %1653 = landingpad { ptr, i32 }
          cleanup
  %1654 = extractvalue { ptr, i32 } %1653, 0
  store ptr %1654, ptr %5, align 8
  %1655 = extractvalue { ptr, i32 } %1653, 1
  store i32 %1655, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #10
  br label %1656

1656:                                             ; preds = %1652, %1648
  call void @llvm.lifetime.end.p0(i64 8, ptr %145) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #10
  br label %1657

1657:                                             ; preds = %1656, %1644
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #10
  br label %1666

1658:                                             ; preds = %1643, %1632
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %143) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %146) #10
  %1659 = load ptr, ptr %60, align 8, !tbaa !5
  %1660 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1659, i32 0, i32 6
  %1661 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1660, i64 noundef 0)
  %1662 = getelementptr inbounds %"class.cascadb::Record", ptr %1661, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %146, ptr noundef @.str.10, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1662)
  %1663 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %146)
          to label %1664 unwind label %1667

1664:                                             ; preds = %1658
  br i1 %1663, label %1665, label %1671

1665:                                             ; preds = %1664
  br label %1691

1666:                                             ; preds = %1657, %1634
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %143) #10
  br label %5282

1667:                                             ; preds = %1658
  %1668 = landingpad { ptr, i32 }
          cleanup
  %1669 = extractvalue { ptr, i32 } %1668, 0
  store ptr %1669, ptr %5, align 8
  %1670 = extractvalue { ptr, i32 } %1668, 1
  store i32 %1670, ptr %6, align 4
  br label %1699

1671:                                             ; preds = %1664
  call void @llvm.lifetime.start.p0(i64 8, ptr %147) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %1672 unwind label %1677

1672:                                             ; preds = %1671
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #10
  %1673 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %146)
          to label %1674 unwind label %1681

1674:                                             ; preds = %1672
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %148, i32 noundef 1, ptr noundef @.str.7, i32 noundef 88, ptr noundef %1673)
          to label %1675 unwind label %1681

1675:                                             ; preds = %1674
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %1676 unwind label %1685

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

1677:                                             ; preds = %1671
  %1678 = landingpad { ptr, i32 }
          cleanup
  %1679 = extractvalue { ptr, i32 } %1678, 0
  store ptr %1679, ptr %5, align 8
  %1680 = extractvalue { ptr, i32 } %1678, 1
  store i32 %1680, ptr %6, align 4
  br label %1690

1681:                                             ; preds = %1674, %1672
  %1682 = landingpad { ptr, i32 }
          cleanup
  %1683 = extractvalue { ptr, i32 } %1682, 0
  store ptr %1683, ptr %5, align 8
  %1684 = extractvalue { ptr, i32 } %1682, 1
  store i32 %1684, ptr %6, align 4
  br label %1689

1685:                                             ; preds = %1675
  %1686 = landingpad { ptr, i32 }
          cleanup
  %1687 = extractvalue { ptr, i32 } %1686, 0
  store ptr %1687, ptr %5, align 8
  %1688 = extractvalue { ptr, i32 } %1686, 1
  store i32 %1688, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #10
  br label %1689

1689:                                             ; preds = %1685, %1681
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #10
  br label %1690

1690:                                             ; preds = %1689, %1677
  call void @llvm.lifetime.end.p0(i64 8, ptr %147) #10
  br label %1699

1691:                                             ; preds = %1676, %1665
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %149) #10
  %1692 = load ptr, ptr %60, align 8, !tbaa !5
  %1693 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1692, i32 0, i32 6
  %1694 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1693, i64 noundef 1)
  %1695 = getelementptr inbounds %"class.cascadb::Record", ptr %1694, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %149, ptr noundef @.str.39, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %1695)
  %1696 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %1697 unwind label %1700

1697:                                             ; preds = %1691
  br i1 %1696, label %1698, label %1704

1698:                                             ; preds = %1697
  br label %1724

1699:                                             ; preds = %1690, %1667
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %146) #10
  br label %5282

1700:                                             ; preds = %1691
  %1701 = landingpad { ptr, i32 }
          cleanup
  %1702 = extractvalue { ptr, i32 } %1701, 0
  store ptr %1702, ptr %5, align 8
  %1703 = extractvalue { ptr, i32 } %1701, 1
  store i32 %1703, ptr %6, align 4
  br label %1732

1704:                                             ; preds = %1697
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %1705 unwind label %1710

1705:                                             ; preds = %1704
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #10
  %1706 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %1707 unwind label %1714

1707:                                             ; preds = %1705
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %151, i32 noundef 1, ptr noundef @.str.7, i32 noundef 89, ptr noundef %1706)
          to label %1708 unwind label %1714

1708:                                             ; preds = %1707
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %1709 unwind label %1718

1709:                                             ; preds = %1708
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #10
  br label %1724

1710:                                             ; preds = %1704
  %1711 = landingpad { ptr, i32 }
          cleanup
  %1712 = extractvalue { ptr, i32 } %1711, 0
  store ptr %1712, ptr %5, align 8
  %1713 = extractvalue { ptr, i32 } %1711, 1
  store i32 %1713, ptr %6, align 4
  br label %1723

1714:                                             ; preds = %1707, %1705
  %1715 = landingpad { ptr, i32 }
          cleanup
  %1716 = extractvalue { ptr, i32 } %1715, 0
  store ptr %1716, ptr %5, align 8
  %1717 = extractvalue { ptr, i32 } %1715, 1
  store i32 %1717, ptr %6, align 4
  br label %1722

1718:                                             ; preds = %1708
  %1719 = landingpad { ptr, i32 }
          cleanup
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %5, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #10
  br label %1722

1722:                                             ; preds = %1718, %1714
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #10
  br label %1723

1723:                                             ; preds = %1722, %1710
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #10
  br label %1732

1724:                                             ; preds = %1709, %1698
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %152) #10
  %1725 = load ptr, ptr %60, align 8, !tbaa !5
  %1726 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1725, i32 0, i32 6
  %1727 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1726, i64 noundef 1)
  %1728 = getelementptr inbounds %"class.cascadb::Record", ptr %1727, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %152, ptr noundef @.str.10, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1728)
  %1729 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %152)
          to label %1730 unwind label %1733

1730:                                             ; preds = %1724
  br i1 %1729, label %1731, label %1737

1731:                                             ; preds = %1730
  br label %1757

1732:                                             ; preds = %1723, %1700
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %149) #10
  br label %5282

1733:                                             ; preds = %1724
  %1734 = landingpad { ptr, i32 }
          cleanup
  %1735 = extractvalue { ptr, i32 } %1734, 0
  store ptr %1735, ptr %5, align 8
  %1736 = extractvalue { ptr, i32 } %1734, 1
  store i32 %1736, ptr %6, align 4
  br label %1765

1737:                                             ; preds = %1730
  call void @llvm.lifetime.start.p0(i64 8, ptr %153) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %1738 unwind label %1743

1738:                                             ; preds = %1737
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #10
  %1739 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %152)
          to label %1740 unwind label %1747

1740:                                             ; preds = %1738
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %154, i32 noundef 1, ptr noundef @.str.7, i32 noundef 89, ptr noundef %1739)
          to label %1741 unwind label %1747

1741:                                             ; preds = %1740
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %1742 unwind label %1751

1742:                                             ; preds = %1741
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #10
  br label %1757

1743:                                             ; preds = %1737
  %1744 = landingpad { ptr, i32 }
          cleanup
  %1745 = extractvalue { ptr, i32 } %1744, 0
  store ptr %1745, ptr %5, align 8
  %1746 = extractvalue { ptr, i32 } %1744, 1
  store i32 %1746, ptr %6, align 4
  br label %1756

1747:                                             ; preds = %1740, %1738
  %1748 = landingpad { ptr, i32 }
          cleanup
  %1749 = extractvalue { ptr, i32 } %1748, 0
  store ptr %1749, ptr %5, align 8
  %1750 = extractvalue { ptr, i32 } %1748, 1
  store i32 %1750, ptr %6, align 4
  br label %1755

1751:                                             ; preds = %1741
  %1752 = landingpad { ptr, i32 }
          cleanup
  %1753 = extractvalue { ptr, i32 } %1752, 0
  store ptr %1753, ptr %5, align 8
  %1754 = extractvalue { ptr, i32 } %1752, 1
  store i32 %1754, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #10
  br label %1755

1755:                                             ; preds = %1751, %1747
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #10
  br label %1756

1756:                                             ; preds = %1755, %1743
  call void @llvm.lifetime.end.p0(i64 8, ptr %153) #10
  br label %1765

1757:                                             ; preds = %1742, %1731
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %155) #10
  %1758 = load ptr, ptr %60, align 8, !tbaa !5
  %1759 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1758, i32 0, i32 6
  %1760 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1759, i64 noundef 2)
  %1761 = getelementptr inbounds %"class.cascadb::Record", ptr %1760, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %155, ptr noundef @.str.42, ptr noundef @.str.43, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %1761)
  %1762 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %155)
          to label %1763 unwind label %1766

1763:                                             ; preds = %1757
  br i1 %1762, label %1764, label %1770

1764:                                             ; preds = %1763
  br label %1790

1765:                                             ; preds = %1756, %1733
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %152) #10
  br label %5282

1766:                                             ; preds = %1757
  %1767 = landingpad { ptr, i32 }
          cleanup
  %1768 = extractvalue { ptr, i32 } %1767, 0
  store ptr %1768, ptr %5, align 8
  %1769 = extractvalue { ptr, i32 } %1767, 1
  store i32 %1769, ptr %6, align 4
  br label %1798

1770:                                             ; preds = %1763
  call void @llvm.lifetime.start.p0(i64 8, ptr %156) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %1771 unwind label %1776

1771:                                             ; preds = %1770
  call void @llvm.lifetime.start.p0(i64 8, ptr %157) #10
  %1772 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %155)
          to label %1773 unwind label %1780

1773:                                             ; preds = %1771
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %157, i32 noundef 1, ptr noundef @.str.7, i32 noundef 90, ptr noundef %1772)
          to label %1774 unwind label %1780

1774:                                             ; preds = %1773
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %157, ptr noundef nonnull align 8 dereferenceable(8) %156)
          to label %1775 unwind label %1784

1775:                                             ; preds = %1774
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #10
  br label %1790

1776:                                             ; preds = %1770
  %1777 = landingpad { ptr, i32 }
          cleanup
  %1778 = extractvalue { ptr, i32 } %1777, 0
  store ptr %1778, ptr %5, align 8
  %1779 = extractvalue { ptr, i32 } %1777, 1
  store i32 %1779, ptr %6, align 4
  br label %1789

1780:                                             ; preds = %1773, %1771
  %1781 = landingpad { ptr, i32 }
          cleanup
  %1782 = extractvalue { ptr, i32 } %1781, 0
  store ptr %1782, ptr %5, align 8
  %1783 = extractvalue { ptr, i32 } %1781, 1
  store i32 %1783, ptr %6, align 4
  br label %1788

1784:                                             ; preds = %1774
  %1785 = landingpad { ptr, i32 }
          cleanup
  %1786 = extractvalue { ptr, i32 } %1785, 0
  store ptr %1786, ptr %5, align 8
  %1787 = extractvalue { ptr, i32 } %1785, 1
  store i32 %1787, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %157) #10
  br label %1788

1788:                                             ; preds = %1784, %1780
  call void @llvm.lifetime.end.p0(i64 8, ptr %157) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %156) #10
  br label %1789

1789:                                             ; preds = %1788, %1776
  call void @llvm.lifetime.end.p0(i64 8, ptr %156) #10
  br label %1798

1790:                                             ; preds = %1775, %1764
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %158) #10
  %1791 = load ptr, ptr %60, align 8, !tbaa !5
  %1792 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1791, i32 0, i32 6
  %1793 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1792, i64 noundef 2)
  %1794 = getelementptr inbounds %"class.cascadb::Record", ptr %1793, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %158, ptr noundef @.str.10, ptr noundef @.str.44, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1794)
  %1795 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %158)
          to label %1796 unwind label %1799

1796:                                             ; preds = %1790
  br i1 %1795, label %1797, label %1803

1797:                                             ; preds = %1796
  br label %1823

1798:                                             ; preds = %1789, %1766
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %155) #10
  br label %5282

1799:                                             ; preds = %1790
  %1800 = landingpad { ptr, i32 }
          cleanup
  %1801 = extractvalue { ptr, i32 } %1800, 0
  store ptr %1801, ptr %5, align 8
  %1802 = extractvalue { ptr, i32 } %1800, 1
  store i32 %1802, ptr %6, align 4
  br label %1831

1803:                                             ; preds = %1796
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159)
          to label %1804 unwind label %1809

1804:                                             ; preds = %1803
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #10
  %1805 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %158)
          to label %1806 unwind label %1813

1806:                                             ; preds = %1804
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %160, i32 noundef 1, ptr noundef @.str.7, i32 noundef 90, ptr noundef %1805)
          to label %1807 unwind label %1813

1807:                                             ; preds = %1806
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %160, ptr noundef nonnull align 8 dereferenceable(8) %159)
          to label %1808 unwind label %1817

1808:                                             ; preds = %1807
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #10
  br label %1823

1809:                                             ; preds = %1803
  %1810 = landingpad { ptr, i32 }
          cleanup
  %1811 = extractvalue { ptr, i32 } %1810, 0
  store ptr %1811, ptr %5, align 8
  %1812 = extractvalue { ptr, i32 } %1810, 1
  store i32 %1812, ptr %6, align 4
  br label %1822

1813:                                             ; preds = %1806, %1804
  %1814 = landingpad { ptr, i32 }
          cleanup
  %1815 = extractvalue { ptr, i32 } %1814, 0
  store ptr %1815, ptr %5, align 8
  %1816 = extractvalue { ptr, i32 } %1814, 1
  store i32 %1816, ptr %6, align 4
  br label %1821

1817:                                             ; preds = %1807
  %1818 = landingpad { ptr, i32 }
          cleanup
  %1819 = extractvalue { ptr, i32 } %1818, 0
  store ptr %1819, ptr %5, align 8
  %1820 = extractvalue { ptr, i32 } %1818, 1
  store i32 %1820, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %160) #10
  br label %1821

1821:                                             ; preds = %1817, %1813
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #10
  br label %1822

1822:                                             ; preds = %1821, %1809
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #10
  br label %1831

1823:                                             ; preds = %1808, %1797
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %158) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %161) #10
  %1824 = load ptr, ptr %60, align 8, !tbaa !5
  %1825 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1824, i32 0, i32 6
  %1826 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1825, i64 noundef 3)
  %1827 = getelementptr inbounds %"class.cascadb::Record", ptr %1826, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %161, ptr noundef @.str.45, ptr noundef @.str.46, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %1827)
  %1828 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %161)
          to label %1829 unwind label %1832

1829:                                             ; preds = %1823
  br i1 %1828, label %1830, label %1836

1830:                                             ; preds = %1829
  br label %1856

1831:                                             ; preds = %1822, %1799
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %158) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %158) #10
  br label %5282

1832:                                             ; preds = %1823
  %1833 = landingpad { ptr, i32 }
          cleanup
  %1834 = extractvalue { ptr, i32 } %1833, 0
  store ptr %1834, ptr %5, align 8
  %1835 = extractvalue { ptr, i32 } %1833, 1
  store i32 %1835, ptr %6, align 4
  br label %1864

1836:                                             ; preds = %1829
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %1837 unwind label %1842

1837:                                             ; preds = %1836
  call void @llvm.lifetime.start.p0(i64 8, ptr %163) #10
  %1838 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %161)
          to label %1839 unwind label %1846

1839:                                             ; preds = %1837
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %163, i32 noundef 1, ptr noundef @.str.7, i32 noundef 91, ptr noundef %1838)
          to label %1840 unwind label %1846

1840:                                             ; preds = %1839
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %163, ptr noundef nonnull align 8 dereferenceable(8) %162)
          to label %1841 unwind label %1850

1841:                                             ; preds = %1840
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #10
  br label %1856

1842:                                             ; preds = %1836
  %1843 = landingpad { ptr, i32 }
          cleanup
  %1844 = extractvalue { ptr, i32 } %1843, 0
  store ptr %1844, ptr %5, align 8
  %1845 = extractvalue { ptr, i32 } %1843, 1
  store i32 %1845, ptr %6, align 4
  br label %1855

1846:                                             ; preds = %1839, %1837
  %1847 = landingpad { ptr, i32 }
          cleanup
  %1848 = extractvalue { ptr, i32 } %1847, 0
  store ptr %1848, ptr %5, align 8
  %1849 = extractvalue { ptr, i32 } %1847, 1
  store i32 %1849, ptr %6, align 4
  br label %1854

1850:                                             ; preds = %1840
  %1851 = landingpad { ptr, i32 }
          cleanup
  %1852 = extractvalue { ptr, i32 } %1851, 0
  store ptr %1852, ptr %5, align 8
  %1853 = extractvalue { ptr, i32 } %1851, 1
  store i32 %1853, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %163) #10
  br label %1854

1854:                                             ; preds = %1850, %1846
  call void @llvm.lifetime.end.p0(i64 8, ptr %163) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #10
  br label %1855

1855:                                             ; preds = %1854, %1842
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #10
  br label %1864

1856:                                             ; preds = %1841, %1830
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %161) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %164) #10
  %1857 = load ptr, ptr %60, align 8, !tbaa !5
  %1858 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1857, i32 0, i32 6
  %1859 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1858, i64 noundef 3)
  %1860 = getelementptr inbounds %"class.cascadb::Record", ptr %1859, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %164, ptr noundef @.str.10, ptr noundef @.str.47, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1860)
  %1861 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %164)
          to label %1862 unwind label %1865

1862:                                             ; preds = %1856
  br i1 %1861, label %1863, label %1869

1863:                                             ; preds = %1862
  br label %1889

1864:                                             ; preds = %1855, %1832
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %161) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %161) #10
  br label %5282

1865:                                             ; preds = %1856
  %1866 = landingpad { ptr, i32 }
          cleanup
  %1867 = extractvalue { ptr, i32 } %1866, 0
  store ptr %1867, ptr %5, align 8
  %1868 = extractvalue { ptr, i32 } %1866, 1
  store i32 %1868, ptr %6, align 4
  br label %1896

1869:                                             ; preds = %1862
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %1870 unwind label %1875

1870:                                             ; preds = %1869
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #10
  %1871 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %164)
          to label %1872 unwind label %1879

1872:                                             ; preds = %1870
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %166, i32 noundef 1, ptr noundef @.str.7, i32 noundef 91, ptr noundef %1871)
          to label %1873 unwind label %1879

1873:                                             ; preds = %1872
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %166, ptr noundef nonnull align 8 dereferenceable(8) %165)
          to label %1874 unwind label %1883

1874:                                             ; preds = %1873
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #10
  br label %1889

1875:                                             ; preds = %1869
  %1876 = landingpad { ptr, i32 }
          cleanup
  %1877 = extractvalue { ptr, i32 } %1876, 0
  store ptr %1877, ptr %5, align 8
  %1878 = extractvalue { ptr, i32 } %1876, 1
  store i32 %1878, ptr %6, align 4
  br label %1888

1879:                                             ; preds = %1872, %1870
  %1880 = landingpad { ptr, i32 }
          cleanup
  %1881 = extractvalue { ptr, i32 } %1880, 0
  store ptr %1881, ptr %5, align 8
  %1882 = extractvalue { ptr, i32 } %1880, 1
  store i32 %1882, ptr %6, align 4
  br label %1887

1883:                                             ; preds = %1873
  %1884 = landingpad { ptr, i32 }
          cleanup
  %1885 = extractvalue { ptr, i32 } %1884, 0
  store ptr %1885, ptr %5, align 8
  %1886 = extractvalue { ptr, i32 } %1884, 1
  store i32 %1886, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %166) #10
  br label %1887

1887:                                             ; preds = %1883, %1879
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #10
  br label %1888

1888:                                             ; preds = %1887, %1875
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #10
  br label %1896

1889:                                             ; preds = %1874, %1863
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %164) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %167) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  store i32 4, ptr %168, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #10
  %1890 = load ptr, ptr %133, align 8, !tbaa !5
  %1891 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1890, i32 0, i32 6
  %1892 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %1891)
  store i64 %1892, ptr %169, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %167, ptr noundef @.str.35, ptr noundef @.str.59, ptr noundef nonnull align 4 dereferenceable(4) %168, ptr noundef nonnull align 8 dereferenceable(8) %169)
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  %1893 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %167)
          to label %1894 unwind label %1897

1894:                                             ; preds = %1889
  br i1 %1893, label %1895, label %1901

1895:                                             ; preds = %1894
  br label %1921

1896:                                             ; preds = %1888, %1865
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %164) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %164) #10
  br label %5282

1897:                                             ; preds = %1889
  %1898 = landingpad { ptr, i32 }
          cleanup
  %1899 = extractvalue { ptr, i32 } %1898, 0
  store ptr %1899, ptr %5, align 8
  %1900 = extractvalue { ptr, i32 } %1898, 1
  store i32 %1900, ptr %6, align 4
  br label %1929

1901:                                             ; preds = %1894
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1902 unwind label %1907

1902:                                             ; preds = %1901
  call void @llvm.lifetime.start.p0(i64 8, ptr %171) #10
  %1903 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %167)
          to label %1904 unwind label %1911

1904:                                             ; preds = %1902
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %171, i32 noundef 1, ptr noundef @.str.7, i32 noundef 92, ptr noundef %1903)
          to label %1905 unwind label %1911

1905:                                             ; preds = %1904
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %171, ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1906 unwind label %1915

1906:                                             ; preds = %1905
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #10
  br label %1921

1907:                                             ; preds = %1901
  %1908 = landingpad { ptr, i32 }
          cleanup
  %1909 = extractvalue { ptr, i32 } %1908, 0
  store ptr %1909, ptr %5, align 8
  %1910 = extractvalue { ptr, i32 } %1908, 1
  store i32 %1910, ptr %6, align 4
  br label %1920

1911:                                             ; preds = %1904, %1902
  %1912 = landingpad { ptr, i32 }
          cleanup
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %5, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %6, align 4
  br label %1919

1915:                                             ; preds = %1905
  %1916 = landingpad { ptr, i32 }
          cleanup
  %1917 = extractvalue { ptr, i32 } %1916, 0
  store ptr %1917, ptr %5, align 8
  %1918 = extractvalue { ptr, i32 } %1916, 1
  store i32 %1918, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #10
  br label %1919

1919:                                             ; preds = %1915, %1911
  call void @llvm.lifetime.end.p0(i64 8, ptr %171) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #10
  br label %1920

1920:                                             ; preds = %1919, %1907
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #10
  br label %1929

1921:                                             ; preds = %1906, %1895
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %172) #10
  %1922 = load ptr, ptr %133, align 8, !tbaa !5
  %1923 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1922, i32 0, i32 6
  %1924 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1923, i64 noundef 0)
  %1925 = getelementptr inbounds %"class.cascadb::Record", ptr %1924, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %172, ptr noundef @.str.60, ptr noundef @.str.61, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %1925)
  %1926 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %172)
          to label %1927 unwind label %1930

1927:                                             ; preds = %1921
  br i1 %1926, label %1928, label %1934

1928:                                             ; preds = %1927
  br label %1954

1929:                                             ; preds = %1920, %1897
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %167) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %167) #10
  br label %5282

1930:                                             ; preds = %1921
  %1931 = landingpad { ptr, i32 }
          cleanup
  %1932 = extractvalue { ptr, i32 } %1931, 0
  store ptr %1932, ptr %5, align 8
  %1933 = extractvalue { ptr, i32 } %1931, 1
  store i32 %1933, ptr %6, align 4
  br label %1962

1934:                                             ; preds = %1927
  call void @llvm.lifetime.start.p0(i64 8, ptr %173) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %1935 unwind label %1940

1935:                                             ; preds = %1934
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #10
  %1936 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %172)
          to label %1937 unwind label %1944

1937:                                             ; preds = %1935
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 noundef 1, ptr noundef @.str.7, i32 noundef 93, ptr noundef %1936)
          to label %1938 unwind label %1944

1938:                                             ; preds = %1937
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %1939 unwind label %1948

1939:                                             ; preds = %1938
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #10
  br label %1954

1940:                                             ; preds = %1934
  %1941 = landingpad { ptr, i32 }
          cleanup
  %1942 = extractvalue { ptr, i32 } %1941, 0
  store ptr %1942, ptr %5, align 8
  %1943 = extractvalue { ptr, i32 } %1941, 1
  store i32 %1943, ptr %6, align 4
  br label %1953

1944:                                             ; preds = %1937, %1935
  %1945 = landingpad { ptr, i32 }
          cleanup
  %1946 = extractvalue { ptr, i32 } %1945, 0
  store ptr %1946, ptr %5, align 8
  %1947 = extractvalue { ptr, i32 } %1945, 1
  store i32 %1947, ptr %6, align 4
  br label %1952

1948:                                             ; preds = %1938
  %1949 = landingpad { ptr, i32 }
          cleanup
  %1950 = extractvalue { ptr, i32 } %1949, 0
  store ptr %1950, ptr %5, align 8
  %1951 = extractvalue { ptr, i32 } %1949, 1
  store i32 %1951, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #10
  br label %1952

1952:                                             ; preds = %1948, %1944
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #10
  br label %1953

1953:                                             ; preds = %1952, %1940
  call void @llvm.lifetime.end.p0(i64 8, ptr %173) #10
  br label %1962

1954:                                             ; preds = %1939, %1928
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %175) #10
  %1955 = load ptr, ptr %133, align 8, !tbaa !5
  %1956 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1955, i32 0, i32 6
  %1957 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1956, i64 noundef 0)
  %1958 = getelementptr inbounds %"class.cascadb::Record", ptr %1957, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %175, ptr noundef @.str.10, ptr noundef @.str.62, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1958)
  %1959 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %175)
          to label %1960 unwind label %1963

1960:                                             ; preds = %1954
  br i1 %1959, label %1961, label %1967

1961:                                             ; preds = %1960
  br label %1987

1962:                                             ; preds = %1953, %1930
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %172) #10
  br label %5282

1963:                                             ; preds = %1954
  %1964 = landingpad { ptr, i32 }
          cleanup
  %1965 = extractvalue { ptr, i32 } %1964, 0
  store ptr %1965, ptr %5, align 8
  %1966 = extractvalue { ptr, i32 } %1964, 1
  store i32 %1966, ptr %6, align 4
  br label %1995

1967:                                             ; preds = %1960
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %1968 unwind label %1973

1968:                                             ; preds = %1967
  call void @llvm.lifetime.start.p0(i64 8, ptr %177) #10
  %1969 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %175)
          to label %1970 unwind label %1977

1970:                                             ; preds = %1968
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %177, i32 noundef 1, ptr noundef @.str.7, i32 noundef 93, ptr noundef %1969)
          to label %1971 unwind label %1977

1971:                                             ; preds = %1970
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %1972 unwind label %1981

1972:                                             ; preds = %1971
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #10
  br label %1987

1973:                                             ; preds = %1967
  %1974 = landingpad { ptr, i32 }
          cleanup
  %1975 = extractvalue { ptr, i32 } %1974, 0
  store ptr %1975, ptr %5, align 8
  %1976 = extractvalue { ptr, i32 } %1974, 1
  store i32 %1976, ptr %6, align 4
  br label %1986

1977:                                             ; preds = %1970, %1968
  %1978 = landingpad { ptr, i32 }
          cleanup
  %1979 = extractvalue { ptr, i32 } %1978, 0
  store ptr %1979, ptr %5, align 8
  %1980 = extractvalue { ptr, i32 } %1978, 1
  store i32 %1980, ptr %6, align 4
  br label %1985

1981:                                             ; preds = %1971
  %1982 = landingpad { ptr, i32 }
          cleanup
  %1983 = extractvalue { ptr, i32 } %1982, 0
  store ptr %1983, ptr %5, align 8
  %1984 = extractvalue { ptr, i32 } %1982, 1
  store i32 %1984, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #10
  br label %1985

1985:                                             ; preds = %1981, %1977
  call void @llvm.lifetime.end.p0(i64 8, ptr %177) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #10
  br label %1986

1986:                                             ; preds = %1985, %1973
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #10
  br label %1995

1987:                                             ; preds = %1972, %1961
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %175) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %178) #10
  %1988 = load ptr, ptr %133, align 8, !tbaa !5
  %1989 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %1988, i32 0, i32 6
  %1990 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1989, i64 noundef 1)
  %1991 = getelementptr inbounds %"class.cascadb::Record", ptr %1990, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %178, ptr noundef @.str.63, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %1991)
  %1992 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %178)
          to label %1993 unwind label %1996

1993:                                             ; preds = %1987
  br i1 %1992, label %1994, label %2000

1994:                                             ; preds = %1993
  br label %2020

1995:                                             ; preds = %1986, %1963
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %175) #10
  br label %5282

1996:                                             ; preds = %1987
  %1997 = landingpad { ptr, i32 }
          cleanup
  %1998 = extractvalue { ptr, i32 } %1997, 0
  store ptr %1998, ptr %5, align 8
  %1999 = extractvalue { ptr, i32 } %1997, 1
  store i32 %1999, ptr %6, align 4
  br label %2028

2000:                                             ; preds = %1993
  call void @llvm.lifetime.start.p0(i64 8, ptr %179) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179)
          to label %2001 unwind label %2006

2001:                                             ; preds = %2000
  call void @llvm.lifetime.start.p0(i64 8, ptr %180) #10
  %2002 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %178)
          to label %2003 unwind label %2010

2003:                                             ; preds = %2001
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %180, i32 noundef 1, ptr noundef @.str.7, i32 noundef 94, ptr noundef %2002)
          to label %2004 unwind label %2010

2004:                                             ; preds = %2003
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef nonnull align 8 dereferenceable(8) %179)
          to label %2005 unwind label %2014

2005:                                             ; preds = %2004
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #10
  br label %2020

2006:                                             ; preds = %2000
  %2007 = landingpad { ptr, i32 }
          cleanup
  %2008 = extractvalue { ptr, i32 } %2007, 0
  store ptr %2008, ptr %5, align 8
  %2009 = extractvalue { ptr, i32 } %2007, 1
  store i32 %2009, ptr %6, align 4
  br label %2019

2010:                                             ; preds = %2003, %2001
  %2011 = landingpad { ptr, i32 }
          cleanup
  %2012 = extractvalue { ptr, i32 } %2011, 0
  store ptr %2012, ptr %5, align 8
  %2013 = extractvalue { ptr, i32 } %2011, 1
  store i32 %2013, ptr %6, align 4
  br label %2018

2014:                                             ; preds = %2004
  %2015 = landingpad { ptr, i32 }
          cleanup
  %2016 = extractvalue { ptr, i32 } %2015, 0
  store ptr %2016, ptr %5, align 8
  %2017 = extractvalue { ptr, i32 } %2015, 1
  store i32 %2017, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #10
  br label %2018

2018:                                             ; preds = %2014, %2010
  call void @llvm.lifetime.end.p0(i64 8, ptr %180) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #10
  br label %2019

2019:                                             ; preds = %2018, %2006
  call void @llvm.lifetime.end.p0(i64 8, ptr %179) #10
  br label %2028

2020:                                             ; preds = %2005, %1994
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %181) #10
  %2021 = load ptr, ptr %133, align 8, !tbaa !5
  %2022 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2021, i32 0, i32 6
  %2023 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2022, i64 noundef 1)
  %2024 = getelementptr inbounds %"class.cascadb::Record", ptr %2023, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %181, ptr noundef @.str.10, ptr noundef @.str.65, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2024)
  %2025 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
          to label %2026 unwind label %2029

2026:                                             ; preds = %2020
  br i1 %2025, label %2027, label %2033

2027:                                             ; preds = %2026
  br label %2053

2028:                                             ; preds = %2019, %1996
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %178) #10
  br label %5282

2029:                                             ; preds = %2020
  %2030 = landingpad { ptr, i32 }
          cleanup
  %2031 = extractvalue { ptr, i32 } %2030, 0
  store ptr %2031, ptr %5, align 8
  %2032 = extractvalue { ptr, i32 } %2030, 1
  store i32 %2032, ptr %6, align 4
  br label %2061

2033:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 8, ptr %182) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %2034 unwind label %2039

2034:                                             ; preds = %2033
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #10
  %2035 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
          to label %2036 unwind label %2043

2036:                                             ; preds = %2034
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %183, i32 noundef 1, ptr noundef @.str.7, i32 noundef 94, ptr noundef %2035)
          to label %2037 unwind label %2043

2037:                                             ; preds = %2036
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %183, ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %2038 unwind label %2047

2038:                                             ; preds = %2037
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #10
  br label %2053

2039:                                             ; preds = %2033
  %2040 = landingpad { ptr, i32 }
          cleanup
  %2041 = extractvalue { ptr, i32 } %2040, 0
  store ptr %2041, ptr %5, align 8
  %2042 = extractvalue { ptr, i32 } %2040, 1
  store i32 %2042, ptr %6, align 4
  br label %2052

2043:                                             ; preds = %2036, %2034
  %2044 = landingpad { ptr, i32 }
          cleanup
  %2045 = extractvalue { ptr, i32 } %2044, 0
  store ptr %2045, ptr %5, align 8
  %2046 = extractvalue { ptr, i32 } %2044, 1
  store i32 %2046, ptr %6, align 4
  br label %2051

2047:                                             ; preds = %2037
  %2048 = landingpad { ptr, i32 }
          cleanup
  %2049 = extractvalue { ptr, i32 } %2048, 0
  store ptr %2049, ptr %5, align 8
  %2050 = extractvalue { ptr, i32 } %2048, 1
  store i32 %2050, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #10
  br label %2051

2051:                                             ; preds = %2047, %2043
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #10
  br label %2052

2052:                                             ; preds = %2051, %2039
  call void @llvm.lifetime.end.p0(i64 8, ptr %182) #10
  br label %2061

2053:                                             ; preds = %2038, %2027
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %184) #10
  %2054 = load ptr, ptr %133, align 8, !tbaa !5
  %2055 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2054, i32 0, i32 6
  %2056 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2055, i64 noundef 2)
  %2057 = getelementptr inbounds %"class.cascadb::Record", ptr %2056, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %184, ptr noundef @.str.66, ptr noundef @.str.67, ptr noundef nonnull align 1 dereferenceable(2) @.str.50, ptr noundef nonnull align 8 dereferenceable(12) %2057)
  %2058 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %184)
          to label %2059 unwind label %2062

2059:                                             ; preds = %2053
  br i1 %2058, label %2060, label %2066

2060:                                             ; preds = %2059
  br label %2086

2061:                                             ; preds = %2052, %2029
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %181) #10
  br label %5282

2062:                                             ; preds = %2053
  %2063 = landingpad { ptr, i32 }
          cleanup
  %2064 = extractvalue { ptr, i32 } %2063, 0
  store ptr %2064, ptr %5, align 8
  %2065 = extractvalue { ptr, i32 } %2063, 1
  store i32 %2065, ptr %6, align 4
  br label %2094

2066:                                             ; preds = %2059
  call void @llvm.lifetime.start.p0(i64 8, ptr %185) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %185)
          to label %2067 unwind label %2072

2067:                                             ; preds = %2066
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #10
  %2068 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %184)
          to label %2069 unwind label %2076

2069:                                             ; preds = %2067
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %186, i32 noundef 1, ptr noundef @.str.7, i32 noundef 95, ptr noundef %2068)
          to label %2070 unwind label %2076

2070:                                             ; preds = %2069
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %186, ptr noundef nonnull align 8 dereferenceable(8) %185)
          to label %2071 unwind label %2080

2071:                                             ; preds = %2070
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %185) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #10
  br label %2086

2072:                                             ; preds = %2066
  %2073 = landingpad { ptr, i32 }
          cleanup
  %2074 = extractvalue { ptr, i32 } %2073, 0
  store ptr %2074, ptr %5, align 8
  %2075 = extractvalue { ptr, i32 } %2073, 1
  store i32 %2075, ptr %6, align 4
  br label %2085

2076:                                             ; preds = %2069, %2067
  %2077 = landingpad { ptr, i32 }
          cleanup
  %2078 = extractvalue { ptr, i32 } %2077, 0
  store ptr %2078, ptr %5, align 8
  %2079 = extractvalue { ptr, i32 } %2077, 1
  store i32 %2079, ptr %6, align 4
  br label %2084

2080:                                             ; preds = %2070
  %2081 = landingpad { ptr, i32 }
          cleanup
  %2082 = extractvalue { ptr, i32 } %2081, 0
  store ptr %2082, ptr %5, align 8
  %2083 = extractvalue { ptr, i32 } %2081, 1
  store i32 %2083, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %186) #10
  br label %2084

2084:                                             ; preds = %2080, %2076
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %185) #10
  br label %2085

2085:                                             ; preds = %2084, %2072
  call void @llvm.lifetime.end.p0(i64 8, ptr %185) #10
  br label %2094

2086:                                             ; preds = %2071, %2060
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %184) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %187) #10
  %2087 = load ptr, ptr %133, align 8, !tbaa !5
  %2088 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2087, i32 0, i32 6
  %2089 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2088, i64 noundef 2)
  %2090 = getelementptr inbounds %"class.cascadb::Record", ptr %2089, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %187, ptr noundef @.str.10, ptr noundef @.str.68, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2090)
  %2091 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %187)
          to label %2092 unwind label %2095

2092:                                             ; preds = %2086
  br i1 %2091, label %2093, label %2099

2093:                                             ; preds = %2092
  br label %2119

2094:                                             ; preds = %2085, %2062
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %184) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %184) #10
  br label %5282

2095:                                             ; preds = %2086
  %2096 = landingpad { ptr, i32 }
          cleanup
  %2097 = extractvalue { ptr, i32 } %2096, 0
  store ptr %2097, ptr %5, align 8
  %2098 = extractvalue { ptr, i32 } %2096, 1
  store i32 %2098, ptr %6, align 4
  br label %2127

2099:                                             ; preds = %2092
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188)
          to label %2100 unwind label %2105

2100:                                             ; preds = %2099
  call void @llvm.lifetime.start.p0(i64 8, ptr %189) #10
  %2101 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %187)
          to label %2102 unwind label %2109

2102:                                             ; preds = %2100
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %189, i32 noundef 1, ptr noundef @.str.7, i32 noundef 95, ptr noundef %2101)
          to label %2103 unwind label %2109

2103:                                             ; preds = %2102
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %189, ptr noundef nonnull align 8 dereferenceable(8) %188)
          to label %2104 unwind label %2113

2104:                                             ; preds = %2103
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #10
  br label %2119

2105:                                             ; preds = %2099
  %2106 = landingpad { ptr, i32 }
          cleanup
  %2107 = extractvalue { ptr, i32 } %2106, 0
  store ptr %2107, ptr %5, align 8
  %2108 = extractvalue { ptr, i32 } %2106, 1
  store i32 %2108, ptr %6, align 4
  br label %2118

2109:                                             ; preds = %2102, %2100
  %2110 = landingpad { ptr, i32 }
          cleanup
  %2111 = extractvalue { ptr, i32 } %2110, 0
  store ptr %2111, ptr %5, align 8
  %2112 = extractvalue { ptr, i32 } %2110, 1
  store i32 %2112, ptr %6, align 4
  br label %2117

2113:                                             ; preds = %2103
  %2114 = landingpad { ptr, i32 }
          cleanup
  %2115 = extractvalue { ptr, i32 } %2114, 0
  store ptr %2115, ptr %5, align 8
  %2116 = extractvalue { ptr, i32 } %2114, 1
  store i32 %2116, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %189) #10
  br label %2117

2117:                                             ; preds = %2113, %2109
  call void @llvm.lifetime.end.p0(i64 8, ptr %189) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %188) #10
  br label %2118

2118:                                             ; preds = %2117, %2105
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #10
  br label %2127

2119:                                             ; preds = %2104, %2093
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %187) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %187) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %190) #10
  %2120 = load ptr, ptr %133, align 8, !tbaa !5
  %2121 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2120, i32 0, i32 6
  %2122 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2121, i64 noundef 3)
  %2123 = getelementptr inbounds %"class.cascadb::Record", ptr %2122, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %190, ptr noundef @.str.69, ptr noundef @.str.70, ptr noundef nonnull align 1 dereferenceable(2) @.str.51, ptr noundef nonnull align 8 dereferenceable(12) %2123)
  %2124 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %190)
          to label %2125 unwind label %2128

2125:                                             ; preds = %2119
  br i1 %2124, label %2126, label %2132

2126:                                             ; preds = %2125
  br label %2152

2127:                                             ; preds = %2118, %2095
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %187) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %187) #10
  br label %5282

2128:                                             ; preds = %2119
  %2129 = landingpad { ptr, i32 }
          cleanup
  %2130 = extractvalue { ptr, i32 } %2129, 0
  store ptr %2130, ptr %5, align 8
  %2131 = extractvalue { ptr, i32 } %2129, 1
  store i32 %2131, ptr %6, align 4
  br label %2160

2132:                                             ; preds = %2125
  call void @llvm.lifetime.start.p0(i64 8, ptr %191) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191)
          to label %2133 unwind label %2138

2133:                                             ; preds = %2132
  call void @llvm.lifetime.start.p0(i64 8, ptr %192) #10
  %2134 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %190)
          to label %2135 unwind label %2142

2135:                                             ; preds = %2133
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %192, i32 noundef 1, ptr noundef @.str.7, i32 noundef 96, ptr noundef %2134)
          to label %2136 unwind label %2142

2136:                                             ; preds = %2135
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %192, ptr noundef nonnull align 8 dereferenceable(8) %191)
          to label %2137 unwind label %2146

2137:                                             ; preds = %2136
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #10
  br label %2152

2138:                                             ; preds = %2132
  %2139 = landingpad { ptr, i32 }
          cleanup
  %2140 = extractvalue { ptr, i32 } %2139, 0
  store ptr %2140, ptr %5, align 8
  %2141 = extractvalue { ptr, i32 } %2139, 1
  store i32 %2141, ptr %6, align 4
  br label %2151

2142:                                             ; preds = %2135, %2133
  %2143 = landingpad { ptr, i32 }
          cleanup
  %2144 = extractvalue { ptr, i32 } %2143, 0
  store ptr %2144, ptr %5, align 8
  %2145 = extractvalue { ptr, i32 } %2143, 1
  store i32 %2145, ptr %6, align 4
  br label %2150

2146:                                             ; preds = %2136
  %2147 = landingpad { ptr, i32 }
          cleanup
  %2148 = extractvalue { ptr, i32 } %2147, 0
  store ptr %2148, ptr %5, align 8
  %2149 = extractvalue { ptr, i32 } %2147, 1
  store i32 %2149, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %192) #10
  br label %2150

2150:                                             ; preds = %2146, %2142
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %191) #10
  br label %2151

2151:                                             ; preds = %2150, %2138
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #10
  br label %2160

2152:                                             ; preds = %2137, %2126
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %193) #10
  %2153 = load ptr, ptr %133, align 8, !tbaa !5
  %2154 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2153, i32 0, i32 6
  %2155 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2154, i64 noundef 3)
  %2156 = getelementptr inbounds %"class.cascadb::Record", ptr %2155, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %193, ptr noundef @.str.10, ptr noundef @.str.71, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2156)
  %2157 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %193)
          to label %2158 unwind label %2161

2158:                                             ; preds = %2152
  br i1 %2157, label %2159, label %2165

2159:                                             ; preds = %2158
  br label %2185

2160:                                             ; preds = %2151, %2128
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %190) #10
  br label %5282

2161:                                             ; preds = %2152
  %2162 = landingpad { ptr, i32 }
          cleanup
  %2163 = extractvalue { ptr, i32 } %2162, 0
  store ptr %2163, ptr %5, align 8
  %2164 = extractvalue { ptr, i32 } %2162, 1
  store i32 %2164, ptr %6, align 4
  br label %2224

2165:                                             ; preds = %2158
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194)
          to label %2166 unwind label %2171

2166:                                             ; preds = %2165
  call void @llvm.lifetime.start.p0(i64 8, ptr %195) #10
  %2167 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %193)
          to label %2168 unwind label %2175

2168:                                             ; preds = %2166
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %195, i32 noundef 1, ptr noundef @.str.7, i32 noundef 96, ptr noundef %2167)
          to label %2169 unwind label %2175

2169:                                             ; preds = %2168
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %195, ptr noundef nonnull align 8 dereferenceable(8) %194)
          to label %2170 unwind label %2179

2170:                                             ; preds = %2169
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #10
  br label %2185

2171:                                             ; preds = %2165
  %2172 = landingpad { ptr, i32 }
          cleanup
  %2173 = extractvalue { ptr, i32 } %2172, 0
  store ptr %2173, ptr %5, align 8
  %2174 = extractvalue { ptr, i32 } %2172, 1
  store i32 %2174, ptr %6, align 4
  br label %2184

2175:                                             ; preds = %2168, %2166
  %2176 = landingpad { ptr, i32 }
          cleanup
  %2177 = extractvalue { ptr, i32 } %2176, 0
  store ptr %2177, ptr %5, align 8
  %2178 = extractvalue { ptr, i32 } %2176, 1
  store i32 %2178, ptr %6, align 4
  br label %2183

2179:                                             ; preds = %2169
  %2180 = landingpad { ptr, i32 }
          cleanup
  %2181 = extractvalue { ptr, i32 } %2180, 0
  store ptr %2181, ptr %5, align 8
  %2182 = extractvalue { ptr, i32 } %2180, 1
  store i32 %2182, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %195) #10
  br label %2183

2183:                                             ; preds = %2179, %2175
  call void @llvm.lifetime.end.p0(i64 8, ptr %195) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #10
  br label %2184

2184:                                             ; preds = %2183, %2171
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #10
  br label %2224

2185:                                             ; preds = %2170, %2159
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %193) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %193) #10
  %2186 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %196, ptr noundef @.str.3)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %197, ptr noundef @.str.72)
  %2187 = getelementptr inbounds { ptr, i32 }, ptr %196, i32 0, i32 0
  %2188 = load ptr, ptr %2187, align 8
  %2189 = getelementptr inbounds { ptr, i32 }, ptr %196, i32 0, i32 1
  %2190 = load i32, ptr %2189, align 8
  %2191 = getelementptr inbounds { ptr, i32 }, ptr %197, i32 0, i32 0
  %2192 = load ptr, ptr %2191, align 8
  %2193 = getelementptr inbounds { ptr, i32 }, ptr %197, i32 0, i32 1
  %2194 = load i32, ptr %2193, align 8
  %2195 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2186, ptr %2188, i32 %2190, ptr %2192, i32 %2194)
  %2196 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %198, ptr noundef @.str.24)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %199, ptr noundef @.str.72)
  %2197 = getelementptr inbounds { ptr, i32 }, ptr %198, i32 0, i32 0
  %2198 = load ptr, ptr %2197, align 8
  %2199 = getelementptr inbounds { ptr, i32 }, ptr %198, i32 0, i32 1
  %2200 = load i32, ptr %2199, align 8
  %2201 = getelementptr inbounds { ptr, i32 }, ptr %199, i32 0, i32 0
  %2202 = load ptr, ptr %2201, align 8
  %2203 = getelementptr inbounds { ptr, i32 }, ptr %199, i32 0, i32 1
  %2204 = load i32, ptr %2203, align 8
  %2205 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2196, ptr %2198, i32 %2200, ptr %2202, i32 %2204)
  %2206 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %200, ptr noundef @.str.73)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %201, ptr noundef @.str.4)
  %2207 = getelementptr inbounds { ptr, i32 }, ptr %200, i32 0, i32 0
  %2208 = load ptr, ptr %2207, align 8
  %2209 = getelementptr inbounds { ptr, i32 }, ptr %200, i32 0, i32 1
  %2210 = load i32, ptr %2209, align 8
  %2211 = getelementptr inbounds { ptr, i32 }, ptr %201, i32 0, i32 0
  %2212 = load ptr, ptr %2211, align 8
  %2213 = getelementptr inbounds { ptr, i32 }, ptr %201, i32 0, i32 1
  %2214 = load i32, ptr %2213, align 8
  %2215 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2206, ptr %2208, i32 %2210, ptr %2212, i32 %2214)
  call void @llvm.lifetime.start.p0(i64 16, ptr %202) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  store i32 96, ptr %203, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %204) #10
  %2216 = load ptr, ptr %29, align 8, !tbaa !5
  %2217 = load ptr, ptr %2216, align 8, !tbaa !18
  %2218 = getelementptr inbounds ptr, ptr %2217, i64 2
  %2219 = load ptr, ptr %2218, align 8
  %2220 = call noundef i64 %2219(ptr noundef nonnull align 8 dereferenceable(312) %2216)
  store i64 %2220, ptr %204, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %202, ptr noundef @.str.74, ptr noundef @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %203, ptr noundef nonnull align 8 dereferenceable(8) %204)
  call void @llvm.lifetime.end.p0(i64 8, ptr %204) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  %2221 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %202)
          to label %2222 unwind label %2225

2222:                                             ; preds = %2185
  br i1 %2221, label %2223, label %2229

2223:                                             ; preds = %2222
  br label %2249

2224:                                             ; preds = %2184, %2161
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %193) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %193) #10
  br label %5282

2225:                                             ; preds = %2185
  %2226 = landingpad { ptr, i32 }
          cleanup
  %2227 = extractvalue { ptr, i32 } %2226, 0
  store ptr %2227, ptr %5, align 8
  %2228 = extractvalue { ptr, i32 } %2226, 1
  store i32 %2228, ptr %6, align 4
  br label %2265

2229:                                             ; preds = %2222
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205)
          to label %2230 unwind label %2235

2230:                                             ; preds = %2229
  call void @llvm.lifetime.start.p0(i64 8, ptr %206) #10
  %2231 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %202)
          to label %2232 unwind label %2239

2232:                                             ; preds = %2230
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %206, i32 noundef 1, ptr noundef @.str.7, i32 noundef 101, ptr noundef %2231)
          to label %2233 unwind label %2239

2233:                                             ; preds = %2232
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %206, ptr noundef nonnull align 8 dereferenceable(8) %205)
          to label %2234 unwind label %2243

2234:                                             ; preds = %2233
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #10
  br label %2249

2235:                                             ; preds = %2229
  %2236 = landingpad { ptr, i32 }
          cleanup
  %2237 = extractvalue { ptr, i32 } %2236, 0
  store ptr %2237, ptr %5, align 8
  %2238 = extractvalue { ptr, i32 } %2236, 1
  store i32 %2238, ptr %6, align 4
  br label %2248

2239:                                             ; preds = %2232, %2230
  %2240 = landingpad { ptr, i32 }
          cleanup
  %2241 = extractvalue { ptr, i32 } %2240, 0
  store ptr %2241, ptr %5, align 8
  %2242 = extractvalue { ptr, i32 } %2240, 1
  store i32 %2242, ptr %6, align 4
  br label %2247

2243:                                             ; preds = %2233
  %2244 = landingpad { ptr, i32 }
          cleanup
  %2245 = extractvalue { ptr, i32 } %2244, 0
  store ptr %2245, ptr %5, align 8
  %2246 = extractvalue { ptr, i32 } %2244, 1
  store i32 %2246, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #10
  br label %2247

2247:                                             ; preds = %2243, %2239
  call void @llvm.lifetime.end.p0(i64 8, ptr %206) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %205) #10
  br label %2248

2248:                                             ; preds = %2247, %2235
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #10
  br label %2265

2249:                                             ; preds = %2234, %2223
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %202) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %202) #10
  %2250 = load ptr, ptr %29, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %207, ptr noundef @.str.48)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %208, ptr noundef @.str.72)
  %2251 = getelementptr inbounds { ptr, i32 }, ptr %207, i32 0, i32 0
  %2252 = load ptr, ptr %2251, align 8
  %2253 = getelementptr inbounds { ptr, i32 }, ptr %207, i32 0, i32 1
  %2254 = load i32, ptr %2253, align 8
  %2255 = getelementptr inbounds { ptr, i32 }, ptr %208, i32 0, i32 0
  %2256 = load ptr, ptr %2255, align 8
  %2257 = getelementptr inbounds { ptr, i32 }, ptr %208, i32 0, i32 1
  %2258 = load i32, ptr %2257, align 8
  %2259 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2250, ptr %2252, i32 %2254, ptr %2256, i32 %2258)
  call void @llvm.lifetime.start.p0(i64 16, ptr %209) #10
  %2260 = load ptr, ptr %21, align 8, !tbaa !5
  %2261 = getelementptr inbounds %"class.cascadb::Tree", ptr %2260, i32 0, i32 7
  call void @_ZN7testing8internal11CmpHelperNEIPN7cascadb9InnerNodeES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %209, ptr noundef @.str.76, ptr noundef @.str.77, ptr noundef nonnull align 8 dereferenceable(8) %2261, ptr noundef nonnull align 8 dereferenceable(8) %29)
  %2262 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %209)
          to label %2263 unwind label %2266

2263:                                             ; preds = %2249
  br i1 %2262, label %2264, label %2270

2264:                                             ; preds = %2263
  br label %2290

2265:                                             ; preds = %2248, %2225
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %202) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %202) #10
  br label %5282

2266:                                             ; preds = %2249
  %2267 = landingpad { ptr, i32 }
          cleanup
  %2268 = extractvalue { ptr, i32 } %2267, 0
  store ptr %2268, ptr %5, align 8
  %2269 = extractvalue { ptr, i32 } %2267, 1
  store i32 %2269, ptr %6, align 4
  br label %2299

2270:                                             ; preds = %2263
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %210)
          to label %2271 unwind label %2276

2271:                                             ; preds = %2270
  call void @llvm.lifetime.start.p0(i64 8, ptr %211) #10
  %2272 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %209)
          to label %2273 unwind label %2280

2273:                                             ; preds = %2271
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %211, i32 noundef 1, ptr noundef @.str.7, i32 noundef 109, ptr noundef %2272)
          to label %2274 unwind label %2280

2274:                                             ; preds = %2273
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %211, ptr noundef nonnull align 8 dereferenceable(8) %210)
          to label %2275 unwind label %2284

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

2276:                                             ; preds = %2270
  %2277 = landingpad { ptr, i32 }
          cleanup
  %2278 = extractvalue { ptr, i32 } %2277, 0
  store ptr %2278, ptr %5, align 8
  %2279 = extractvalue { ptr, i32 } %2277, 1
  store i32 %2279, ptr %6, align 4
  br label %2289

2280:                                             ; preds = %2273, %2271
  %2281 = landingpad { ptr, i32 }
          cleanup
  %2282 = extractvalue { ptr, i32 } %2281, 0
  store ptr %2282, ptr %5, align 8
  %2283 = extractvalue { ptr, i32 } %2281, 1
  store i32 %2283, ptr %6, align 4
  br label %2288

2284:                                             ; preds = %2274
  %2285 = landingpad { ptr, i32 }
          cleanup
  %2286 = extractvalue { ptr, i32 } %2285, 0
  store ptr %2286, ptr %5, align 8
  %2287 = extractvalue { ptr, i32 } %2285, 1
  store i32 %2287, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %211) #10
  br label %2288

2288:                                             ; preds = %2284, %2280
  call void @llvm.lifetime.end.p0(i64 8, ptr %211) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %210) #10
  br label %2289

2289:                                             ; preds = %2288, %2276
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #10
  br label %2299

2290:                                             ; preds = %2275, %2264
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %209) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %209) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %212) #10
  %2291 = load ptr, ptr %21, align 8, !tbaa !5
  %2292 = getelementptr inbounds %"class.cascadb::Tree", ptr %2291, i32 0, i32 7
  %2293 = load ptr, ptr %2292, align 8, !tbaa !20
  store ptr %2293, ptr %212, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %213) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %214) #10
  store i64 4, ptr %214, align 8, !tbaa !24
  %2294 = load ptr, ptr %212, align 8, !tbaa !5
  %2295 = getelementptr inbounds %"class.cascadb::Node", ptr %2294, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %213, ptr noundef @.str.78, ptr noundef @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %214, ptr noundef nonnull align 8 dereferenceable(8) %2295)
  call void @llvm.lifetime.end.p0(i64 8, ptr %214) #10
  %2296 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %213)
          to label %2297 unwind label %2300

2297:                                             ; preds = %2290
  br i1 %2296, label %2298, label %2304

2298:                                             ; preds = %2297
  br label %2324

2299:                                             ; preds = %2289, %2266
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %209) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %209) #10
  br label %5282

2300:                                             ; preds = %2290
  %2301 = landingpad { ptr, i32 }
          cleanup
  %2302 = extractvalue { ptr, i32 } %2301, 0
  store ptr %2302, ptr %5, align 8
  %2303 = extractvalue { ptr, i32 } %2301, 1
  store i32 %2303, ptr %6, align 4
  br label %2332

2304:                                             ; preds = %2297
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %215)
          to label %2305 unwind label %2310

2305:                                             ; preds = %2304
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #10
  %2306 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %213)
          to label %2307 unwind label %2314

2307:                                             ; preds = %2305
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %216, i32 noundef 1, ptr noundef @.str.7, i32 noundef 111, ptr noundef %2306)
          to label %2308 unwind label %2314

2308:                                             ; preds = %2307
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %216, ptr noundef nonnull align 8 dereferenceable(8) %215)
          to label %2309 unwind label %2318

2309:                                             ; preds = %2308
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %215) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #10
  br label %2324

2310:                                             ; preds = %2304
  %2311 = landingpad { ptr, i32 }
          cleanup
  %2312 = extractvalue { ptr, i32 } %2311, 0
  store ptr %2312, ptr %5, align 8
  %2313 = extractvalue { ptr, i32 } %2311, 1
  store i32 %2313, ptr %6, align 4
  br label %2323

2314:                                             ; preds = %2307, %2305
  %2315 = landingpad { ptr, i32 }
          cleanup
  %2316 = extractvalue { ptr, i32 } %2315, 0
  store ptr %2316, ptr %5, align 8
  %2317 = extractvalue { ptr, i32 } %2315, 1
  store i32 %2317, ptr %6, align 4
  br label %2322

2318:                                             ; preds = %2308
  %2319 = landingpad { ptr, i32 }
          cleanup
  %2320 = extractvalue { ptr, i32 } %2319, 0
  store ptr %2320, ptr %5, align 8
  %2321 = extractvalue { ptr, i32 } %2319, 1
  store i32 %2321, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #10
  br label %2322

2322:                                             ; preds = %2318, %2314
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %215) #10
  br label %2323

2323:                                             ; preds = %2322, %2310
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #10
  br label %2332

2324:                                             ; preds = %2309, %2298
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %217) #10
  %2325 = load ptr, ptr %212, align 8, !tbaa !5
  %2326 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2325, i32 0, i32 2
  %2327 = load ptr, ptr %29, align 8, !tbaa !5
  %2328 = getelementptr inbounds %"class.cascadb::Node", ptr %2327, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %217, ptr noundef @.str.80, ptr noundef @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %2326, ptr noundef nonnull align 8 dereferenceable(8) %2328)
  %2329 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %217)
          to label %2330 unwind label %2333

2330:                                             ; preds = %2324
  br i1 %2329, label %2331, label %2337

2331:                                             ; preds = %2330
  br label %2357

2332:                                             ; preds = %2323, %2300
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %213) #10
  br label %5281

2333:                                             ; preds = %2324
  %2334 = landingpad { ptr, i32 }
          cleanup
  %2335 = extractvalue { ptr, i32 } %2334, 0
  store ptr %2335, ptr %5, align 8
  %2336 = extractvalue { ptr, i32 } %2334, 1
  store i32 %2336, ptr %6, align 4
  br label %2365

2337:                                             ; preds = %2330
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %218)
          to label %2338 unwind label %2343

2338:                                             ; preds = %2337
  call void @llvm.lifetime.start.p0(i64 8, ptr %219) #10
  %2339 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %217)
          to label %2340 unwind label %2347

2340:                                             ; preds = %2338
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %219, i32 noundef 1, ptr noundef @.str.7, i32 noundef 112, ptr noundef %2339)
          to label %2341 unwind label %2347

2341:                                             ; preds = %2340
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %219, ptr noundef nonnull align 8 dereferenceable(8) %218)
          to label %2342 unwind label %2351

2342:                                             ; preds = %2341
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %218) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #10
  br label %2357

2343:                                             ; preds = %2337
  %2344 = landingpad { ptr, i32 }
          cleanup
  %2345 = extractvalue { ptr, i32 } %2344, 0
  store ptr %2345, ptr %5, align 8
  %2346 = extractvalue { ptr, i32 } %2344, 1
  store i32 %2346, ptr %6, align 4
  br label %2356

2347:                                             ; preds = %2340, %2338
  %2348 = landingpad { ptr, i32 }
          cleanup
  %2349 = extractvalue { ptr, i32 } %2348, 0
  store ptr %2349, ptr %5, align 8
  %2350 = extractvalue { ptr, i32 } %2348, 1
  store i32 %2350, ptr %6, align 4
  br label %2355

2351:                                             ; preds = %2341
  %2352 = landingpad { ptr, i32 }
          cleanup
  %2353 = extractvalue { ptr, i32 } %2352, 0
  store ptr %2353, ptr %5, align 8
  %2354 = extractvalue { ptr, i32 } %2352, 1
  store i32 %2354, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #10
  br label %2355

2355:                                             ; preds = %2351, %2347
  call void @llvm.lifetime.end.p0(i64 8, ptr %219) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %218) #10
  br label %2356

2356:                                             ; preds = %2355, %2343
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #10
  br label %2365

2357:                                             ; preds = %2342, %2331
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %217) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %217) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %220) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %221) #10
  %2358 = load ptr, ptr %212, align 8, !tbaa !5
  %2359 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2358, i32 0, i32 3
  %2360 = load ptr, ptr %2359, align 8, !tbaa !26
  %2361 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2360)
  store i64 %2361, ptr %221, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #10
  store i32 0, ptr %222, align 4, !tbaa !25
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImjEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %220, ptr noundef @.str.81, ptr noundef @.str.31, ptr noundef nonnull align 8 dereferenceable(8) %221, ptr noundef nonnull align 4 dereferenceable(4) %222)
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %221) #10
  %2362 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %220)
          to label %2363 unwind label %2366

2363:                                             ; preds = %2357
  br i1 %2362, label %2364, label %2370

2364:                                             ; preds = %2363
  br label %2390

2365:                                             ; preds = %2356, %2333
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %217) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %217) #10
  br label %5281

2366:                                             ; preds = %2357
  %2367 = landingpad { ptr, i32 }
          cleanup
  %2368 = extractvalue { ptr, i32 } %2367, 0
  store ptr %2368, ptr %5, align 8
  %2369 = extractvalue { ptr, i32 } %2367, 1
  store i32 %2369, ptr %6, align 4
  br label %2398

2370:                                             ; preds = %2363
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %223)
          to label %2371 unwind label %2376

2371:                                             ; preds = %2370
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #10
  %2372 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %220)
          to label %2373 unwind label %2380

2373:                                             ; preds = %2371
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %224, i32 noundef 1, ptr noundef @.str.7, i32 noundef 113, ptr noundef %2372)
          to label %2374 unwind label %2380

2374:                                             ; preds = %2373
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %224, ptr noundef nonnull align 8 dereferenceable(8) %223)
          to label %2375 unwind label %2384

2375:                                             ; preds = %2374
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %223) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #10
  br label %2390

2376:                                             ; preds = %2370
  %2377 = landingpad { ptr, i32 }
          cleanup
  %2378 = extractvalue { ptr, i32 } %2377, 0
  store ptr %2378, ptr %5, align 8
  %2379 = extractvalue { ptr, i32 } %2377, 1
  store i32 %2379, ptr %6, align 4
  br label %2389

2380:                                             ; preds = %2373, %2371
  %2381 = landingpad { ptr, i32 }
          cleanup
  %2382 = extractvalue { ptr, i32 } %2381, 0
  store ptr %2382, ptr %5, align 8
  %2383 = extractvalue { ptr, i32 } %2381, 1
  store i32 %2383, ptr %6, align 4
  br label %2388

2384:                                             ; preds = %2374
  %2385 = landingpad { ptr, i32 }
          cleanup
  %2386 = extractvalue { ptr, i32 } %2385, 0
  store ptr %2386, ptr %5, align 8
  %2387 = extractvalue { ptr, i32 } %2385, 1
  store i32 %2387, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #10
  br label %2388

2388:                                             ; preds = %2384, %2380
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %223) #10
  br label %2389

2389:                                             ; preds = %2388, %2376
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #10
  br label %2398

2390:                                             ; preds = %2375, %2364
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %220) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %220) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %225) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  store i32 0, ptr %226, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %227) #10
  %2391 = load ptr, ptr %29, align 8, !tbaa !5
  %2392 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2391, i32 0, i32 3
  %2393 = load ptr, ptr %2392, align 8, !tbaa !26
  %2394 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2393)
  store i64 %2394, ptr %227, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %225, ptr noundef @.str.31, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %226, ptr noundef nonnull align 8 dereferenceable(8) %227, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %227) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  %2395 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %225)
          to label %2396 unwind label %2399

2396:                                             ; preds = %2390
  br i1 %2395, label %2397, label %2403

2397:                                             ; preds = %2396
  br label %2423

2398:                                             ; preds = %2389, %2366
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %220) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %220) #10
  br label %5281

2399:                                             ; preds = %2390
  %2400 = landingpad { ptr, i32 }
          cleanup
  %2401 = extractvalue { ptr, i32 } %2400, 0
  store ptr %2401, ptr %5, align 8
  %2402 = extractvalue { ptr, i32 } %2400, 1
  store i32 %2402, ptr %6, align 4
  br label %2431

2403:                                             ; preds = %2396
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228)
          to label %2404 unwind label %2409

2404:                                             ; preds = %2403
  call void @llvm.lifetime.start.p0(i64 8, ptr %229) #10
  %2405 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %225)
          to label %2406 unwind label %2413

2406:                                             ; preds = %2404
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %229, i32 noundef 1, ptr noundef @.str.7, i32 noundef 116, ptr noundef %2405)
          to label %2407 unwind label %2413

2407:                                             ; preds = %2406
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull align 8 dereferenceable(8) %228)
          to label %2408 unwind label %2417

2408:                                             ; preds = %2407
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #10
  br label %2423

2409:                                             ; preds = %2403
  %2410 = landingpad { ptr, i32 }
          cleanup
  %2411 = extractvalue { ptr, i32 } %2410, 0
  store ptr %2411, ptr %5, align 8
  %2412 = extractvalue { ptr, i32 } %2410, 1
  store i32 %2412, ptr %6, align 4
  br label %2422

2413:                                             ; preds = %2406, %2404
  %2414 = landingpad { ptr, i32 }
          cleanup
  %2415 = extractvalue { ptr, i32 } %2414, 0
  store ptr %2415, ptr %5, align 8
  %2416 = extractvalue { ptr, i32 } %2414, 1
  store i32 %2416, ptr %6, align 4
  br label %2421

2417:                                             ; preds = %2407
  %2418 = landingpad { ptr, i32 }
          cleanup
  %2419 = extractvalue { ptr, i32 } %2418, 0
  store ptr %2419, ptr %5, align 8
  %2420 = extractvalue { ptr, i32 } %2418, 1
  store i32 %2420, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #10
  br label %2421

2421:                                             ; preds = %2417, %2413
  call void @llvm.lifetime.end.p0(i64 8, ptr %229) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #10
  br label %2422

2422:                                             ; preds = %2421, %2409
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #10
  br label %2431

2423:                                             ; preds = %2408, %2397
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %225) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %230) #10
  %2424 = load ptr, ptr %60, align 8, !tbaa !5
  %2425 = getelementptr inbounds %"class.cascadb::Node", ptr %2424, i32 0, i32 2
  %2426 = load ptr, ptr %29, align 8, !tbaa !5
  %2427 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2426, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %230, ptr noundef @.str.34, ptr noundef @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %2425, ptr noundef nonnull align 8 dereferenceable(8) %2427)
  %2428 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %230)
          to label %2429 unwind label %2432

2429:                                             ; preds = %2423
  br i1 %2428, label %2430, label %2436

2430:                                             ; preds = %2429
  br label %2456

2431:                                             ; preds = %2422, %2399
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %225) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %225) #10
  br label %5281

2432:                                             ; preds = %2423
  %2433 = landingpad { ptr, i32 }
          cleanup
  %2434 = extractvalue { ptr, i32 } %2433, 0
  store ptr %2434, ptr %5, align 8
  %2435 = extractvalue { ptr, i32 } %2433, 1
  store i32 %2435, ptr %6, align 4
  br label %2463

2436:                                             ; preds = %2429
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %231)
          to label %2437 unwind label %2442

2437:                                             ; preds = %2436
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #10
  %2438 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %230)
          to label %2439 unwind label %2446

2439:                                             ; preds = %2437
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %232, i32 noundef 1, ptr noundef @.str.7, i32 noundef 117, ptr noundef %2438)
          to label %2440 unwind label %2446

2440:                                             ; preds = %2439
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %232, ptr noundef nonnull align 8 dereferenceable(8) %231)
          to label %2441 unwind label %2450

2441:                                             ; preds = %2440
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %232) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %231) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #10
  br label %2456

2442:                                             ; preds = %2436
  %2443 = landingpad { ptr, i32 }
          cleanup
  %2444 = extractvalue { ptr, i32 } %2443, 0
  store ptr %2444, ptr %5, align 8
  %2445 = extractvalue { ptr, i32 } %2443, 1
  store i32 %2445, ptr %6, align 4
  br label %2455

2446:                                             ; preds = %2439, %2437
  %2447 = landingpad { ptr, i32 }
          cleanup
  %2448 = extractvalue { ptr, i32 } %2447, 0
  store ptr %2448, ptr %5, align 8
  %2449 = extractvalue { ptr, i32 } %2447, 1
  store i32 %2449, ptr %6, align 4
  br label %2454

2450:                                             ; preds = %2440
  %2451 = landingpad { ptr, i32 }
          cleanup
  %2452 = extractvalue { ptr, i32 } %2451, 0
  store ptr %2452, ptr %5, align 8
  %2453 = extractvalue { ptr, i32 } %2451, 1
  store i32 %2453, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %232) #10
  br label %2454

2454:                                             ; preds = %2450, %2446
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %231) #10
  br label %2455

2455:                                             ; preds = %2454, %2442
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #10
  br label %2463

2456:                                             ; preds = %2441, %2430
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %230) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %233) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #10
  store i32 1, ptr %234, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %235) #10
  %2457 = load ptr, ptr %29, align 8, !tbaa !5
  %2458 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2457, i32 0, i32 9
  %2459 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2458) #10
  store i64 %2459, ptr %235, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %233, ptr noundef @.str.52, ptr noundef @.str.53, ptr noundef nonnull align 4 dereferenceable(4) %234, ptr noundef nonnull align 8 dereferenceable(8) %235)
  call void @llvm.lifetime.end.p0(i64 8, ptr %235) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #10
  %2460 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %233)
          to label %2461 unwind label %2464

2461:                                             ; preds = %2456
  br i1 %2460, label %2462, label %2468

2462:                                             ; preds = %2461
  br label %2488

2463:                                             ; preds = %2455, %2432
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %230) #10
  br label %5281

2464:                                             ; preds = %2456
  %2465 = landingpad { ptr, i32 }
          cleanup
  %2466 = extractvalue { ptr, i32 } %2465, 0
  store ptr %2466, ptr %5, align 8
  %2467 = extractvalue { ptr, i32 } %2465, 1
  store i32 %2467, ptr %6, align 4
  br label %2497

2468:                                             ; preds = %2461
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236)
          to label %2469 unwind label %2474

2469:                                             ; preds = %2468
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #10
  %2470 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %233)
          to label %2471 unwind label %2478

2471:                                             ; preds = %2469
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %237, i32 noundef 1, ptr noundef @.str.7, i32 noundef 118, ptr noundef %2470)
          to label %2472 unwind label %2478

2472:                                             ; preds = %2471
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %237, ptr noundef nonnull align 8 dereferenceable(8) %236)
          to label %2473 unwind label %2482

2473:                                             ; preds = %2472
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %237) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #10
  br label %2488

2474:                                             ; preds = %2468
  %2475 = landingpad { ptr, i32 }
          cleanup
  %2476 = extractvalue { ptr, i32 } %2475, 0
  store ptr %2476, ptr %5, align 8
  %2477 = extractvalue { ptr, i32 } %2475, 1
  store i32 %2477, ptr %6, align 4
  br label %2487

2478:                                             ; preds = %2471, %2469
  %2479 = landingpad { ptr, i32 }
          cleanup
  %2480 = extractvalue { ptr, i32 } %2479, 0
  store ptr %2480, ptr %5, align 8
  %2481 = extractvalue { ptr, i32 } %2479, 1
  store i32 %2481, ptr %6, align 4
  br label %2486

2482:                                             ; preds = %2472
  %2483 = landingpad { ptr, i32 }
          cleanup
  %2484 = extractvalue { ptr, i32 } %2483, 0
  store ptr %2484, ptr %5, align 8
  %2485 = extractvalue { ptr, i32 } %2483, 1
  store i32 %2485, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %237) #10
  br label %2486

2486:                                             ; preds = %2482, %2478
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236) #10
  br label %2487

2487:                                             ; preds = %2486, %2474
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #10
  br label %2497

2488:                                             ; preds = %2473, %2462
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %233) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %233) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %238) #10
  %2489 = load ptr, ptr %29, align 8, !tbaa !5
  %2490 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2489, i32 0, i32 9
  %2491 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2490, i64 noundef 0) #10
  %2492 = getelementptr inbounds %"class.cascadb::Pivot", ptr %2491, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 16, ptr %239) #10
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %239, ptr noundef @.str.73)
  %2493 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %2492, ptr noundef nonnull align 8 dereferenceable(12) %239)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %238, i1 noundef zeroext %2493)
  call void @llvm.lifetime.end.p0(i64 16, ptr %239) #10
  %2494 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %238)
          to label %2495 unwind label %2498

2495:                                             ; preds = %2488
  br i1 %2494, label %2496, label %2502

2496:                                             ; preds = %2495
  br label %2528

2497:                                             ; preds = %2487, %2464
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %233) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %233) #10
  br label %5281

2498:                                             ; preds = %2488
  %2499 = landingpad { ptr, i32 }
          cleanup
  %2500 = extractvalue { ptr, i32 } %2499, 0
  store ptr %2500, ptr %5, align 8
  %2501 = extractvalue { ptr, i32 } %2499, 1
  store i32 %2501, ptr %6, align 4
  br label %2538

2502:                                             ; preds = %2495
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %2503 unwind label %2509

2503:                                             ; preds = %2502
  call void @llvm.lifetime.start.p0(i64 8, ptr %241) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %242) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %242, ptr noundef nonnull align 8 dereferenceable(16) %238, ptr noundef @.str.82, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %2504 unwind label %2513

2504:                                             ; preds = %2503
  %2505 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %242)
          to label %2506 unwind label %2517

2506:                                             ; preds = %2504
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %241, i32 noundef 1, ptr noundef @.str.7, i32 noundef 119, ptr noundef %2505)
          to label %2507 unwind label %2517

2507:                                             ; preds = %2506
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %2508 unwind label %2521

2508:                                             ; preds = %2507
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %242) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %242) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %241) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #10
  br label %2528

2509:                                             ; preds = %2502
  %2510 = landingpad { ptr, i32 }
          cleanup
  %2511 = extractvalue { ptr, i32 } %2510, 0
  store ptr %2511, ptr %5, align 8
  %2512 = extractvalue { ptr, i32 } %2510, 1
  store i32 %2512, ptr %6, align 4
  br label %2527

2513:                                             ; preds = %2503
  %2514 = landingpad { ptr, i32 }
          cleanup
  %2515 = extractvalue { ptr, i32 } %2514, 0
  store ptr %2515, ptr %5, align 8
  %2516 = extractvalue { ptr, i32 } %2514, 1
  store i32 %2516, ptr %6, align 4
  br label %2526

2517:                                             ; preds = %2506, %2504
  %2518 = landingpad { ptr, i32 }
          cleanup
  %2519 = extractvalue { ptr, i32 } %2518, 0
  store ptr %2519, ptr %5, align 8
  %2520 = extractvalue { ptr, i32 } %2518, 1
  store i32 %2520, ptr %6, align 4
  br label %2525

2521:                                             ; preds = %2507
  %2522 = landingpad { ptr, i32 }
          cleanup
  %2523 = extractvalue { ptr, i32 } %2522, 0
  store ptr %2523, ptr %5, align 8
  %2524 = extractvalue { ptr, i32 } %2522, 1
  store i32 %2524, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #10
  br label %2525

2525:                                             ; preds = %2521, %2517
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %242) #10
  br label %2526

2526:                                             ; preds = %2525, %2513
  call void @llvm.lifetime.end.p0(i64 16, ptr %242) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %241) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240) #10
  br label %2527

2527:                                             ; preds = %2526, %2509
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #10
  br label %2538

2528:                                             ; preds = %2508, %2496
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %238) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %238) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %243) #10
  %2529 = load ptr, ptr %29, align 8, !tbaa !5
  %2530 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2529, i32 0, i32 9
  %2531 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2530, i64 noundef 0) #10
  %2532 = getelementptr inbounds %"class.cascadb::Pivot", ptr %2531, i32 0, i32 2
  %2533 = load i64, ptr %2532, align 8, !tbaa !41
  %2534 = icmp ne i64 %2533, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %243, i1 noundef zeroext %2534)
  %2535 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %243)
          to label %2536 unwind label %2539

2536:                                             ; preds = %2528
  br i1 %2535, label %2537, label %2543

2537:                                             ; preds = %2536
  br label %2569

2538:                                             ; preds = %2527, %2498
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %238) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %238) #10
  br label %5281

2539:                                             ; preds = %2528
  %2540 = landingpad { ptr, i32 }
          cleanup
  %2541 = extractvalue { ptr, i32 } %2540, 0
  store ptr %2541, ptr %5, align 8
  %2542 = extractvalue { ptr, i32 } %2540, 1
  store i32 %2542, ptr %6, align 4
  br label %2582

2543:                                             ; preds = %2536
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %244)
          to label %2544 unwind label %2550

2544:                                             ; preds = %2543
  call void @llvm.lifetime.start.p0(i64 8, ptr %245) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %246) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %246, ptr noundef nonnull align 8 dereferenceable(16) %243, ptr noundef @.str.55, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %2545 unwind label %2554

2545:                                             ; preds = %2544
  %2546 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %246)
          to label %2547 unwind label %2558

2547:                                             ; preds = %2545
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %245, i32 noundef 1, ptr noundef @.str.7, i32 noundef 120, ptr noundef %2546)
          to label %2548 unwind label %2558

2548:                                             ; preds = %2547
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %245, ptr noundef nonnull align 8 dereferenceable(8) %244)
          to label %2549 unwind label %2562

2549:                                             ; preds = %2548
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %245) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %246) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %246) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %244) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #10
  br label %2569

2550:                                             ; preds = %2543
  %2551 = landingpad { ptr, i32 }
          cleanup
  %2552 = extractvalue { ptr, i32 } %2551, 0
  store ptr %2552, ptr %5, align 8
  %2553 = extractvalue { ptr, i32 } %2551, 1
  store i32 %2553, ptr %6, align 4
  br label %2568

2554:                                             ; preds = %2544
  %2555 = landingpad { ptr, i32 }
          cleanup
  %2556 = extractvalue { ptr, i32 } %2555, 0
  store ptr %2556, ptr %5, align 8
  %2557 = extractvalue { ptr, i32 } %2555, 1
  store i32 %2557, ptr %6, align 4
  br label %2567

2558:                                             ; preds = %2547, %2545
  %2559 = landingpad { ptr, i32 }
          cleanup
  %2560 = extractvalue { ptr, i32 } %2559, 0
  store ptr %2560, ptr %5, align 8
  %2561 = extractvalue { ptr, i32 } %2559, 1
  store i32 %2561, ptr %6, align 4
  br label %2566

2562:                                             ; preds = %2548
  %2563 = landingpad { ptr, i32 }
          cleanup
  %2564 = extractvalue { ptr, i32 } %2563, 0
  store ptr %2564, ptr %5, align 8
  %2565 = extractvalue { ptr, i32 } %2563, 1
  store i32 %2565, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %245) #10
  br label %2566

2566:                                             ; preds = %2562, %2558
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %246) #10
  br label %2567

2567:                                             ; preds = %2566, %2554
  call void @llvm.lifetime.end.p0(i64 16, ptr %246) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %244) #10
  br label %2568

2568:                                             ; preds = %2567, %2550
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #10
  br label %2582

2569:                                             ; preds = %2549, %2537
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %243) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %243) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %247) #10
  %2570 = load ptr, ptr %29, align 8, !tbaa !5
  %2571 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2570, i32 0, i32 9
  %2572 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2571, i64 noundef 0) #10
  %2573 = getelementptr inbounds %"class.cascadb::Pivot", ptr %2572, i32 0, i32 2
  %2574 = load i64, ptr %2573, align 8, !tbaa !41
  %2575 = load ptr, ptr %133, align 8, !tbaa !5
  %2576 = getelementptr inbounds %"class.cascadb::Node", ptr %2575, i32 0, i32 2
  %2577 = load i64, ptr %2576, align 8, !tbaa !44
  %2578 = icmp ne i64 %2574, %2577
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %247, i1 noundef zeroext %2578)
  %2579 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %247)
          to label %2580 unwind label %2583

2580:                                             ; preds = %2569
  br i1 %2579, label %2581, label %2587

2581:                                             ; preds = %2580
  br label %2613

2582:                                             ; preds = %2568, %2539
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %243) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %243) #10
  br label %5281

2583:                                             ; preds = %2569
  %2584 = landingpad { ptr, i32 }
          cleanup
  %2585 = extractvalue { ptr, i32 } %2584, 0
  store ptr %2585, ptr %5, align 8
  %2586 = extractvalue { ptr, i32 } %2584, 1
  store i32 %2586, ptr %6, align 4
  br label %2623

2587:                                             ; preds = %2580
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %248)
          to label %2588 unwind label %2594

2588:                                             ; preds = %2587
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %250) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %250, ptr noundef nonnull align 8 dereferenceable(16) %247, ptr noundef @.str.83, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %2589 unwind label %2598

2589:                                             ; preds = %2588
  %2590 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %250)
          to label %2591 unwind label %2602

2591:                                             ; preds = %2589
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %249, i32 noundef 1, ptr noundef @.str.7, i32 noundef 121, ptr noundef %2590)
          to label %2592 unwind label %2602

2592:                                             ; preds = %2591
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %249, ptr noundef nonnull align 8 dereferenceable(8) %248)
          to label %2593 unwind label %2606

2593:                                             ; preds = %2592
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %249) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %250) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %250) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %248) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #10
  br label %2613

2594:                                             ; preds = %2587
  %2595 = landingpad { ptr, i32 }
          cleanup
  %2596 = extractvalue { ptr, i32 } %2595, 0
  store ptr %2596, ptr %5, align 8
  %2597 = extractvalue { ptr, i32 } %2595, 1
  store i32 %2597, ptr %6, align 4
  br label %2612

2598:                                             ; preds = %2588
  %2599 = landingpad { ptr, i32 }
          cleanup
  %2600 = extractvalue { ptr, i32 } %2599, 0
  store ptr %2600, ptr %5, align 8
  %2601 = extractvalue { ptr, i32 } %2599, 1
  store i32 %2601, ptr %6, align 4
  br label %2611

2602:                                             ; preds = %2591, %2589
  %2603 = landingpad { ptr, i32 }
          cleanup
  %2604 = extractvalue { ptr, i32 } %2603, 0
  store ptr %2604, ptr %5, align 8
  %2605 = extractvalue { ptr, i32 } %2603, 1
  store i32 %2605, ptr %6, align 4
  br label %2610

2606:                                             ; preds = %2592
  %2607 = landingpad { ptr, i32 }
          cleanup
  %2608 = extractvalue { ptr, i32 } %2607, 0
  store ptr %2608, ptr %5, align 8
  %2609 = extractvalue { ptr, i32 } %2607, 1
  store i32 %2609, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %249) #10
  br label %2610

2610:                                             ; preds = %2606, %2602
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %250) #10
  br label %2611

2611:                                             ; preds = %2610, %2598
  call void @llvm.lifetime.end.p0(i64 16, ptr %250) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %248) #10
  br label %2612

2612:                                             ; preds = %2611, %2594
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #10
  br label %2623

2613:                                             ; preds = %2593, %2581
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %251) #10
  %2614 = load ptr, ptr %29, align 8, !tbaa !5
  %2615 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2614, i32 0, i32 9
  %2616 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2615, i64 noundef 0) #10
  %2617 = getelementptr inbounds %"class.cascadb::Pivot", ptr %2616, i32 0, i32 3
  %2618 = load ptr, ptr %2617, align 8, !tbaa !43
  %2619 = icmp ne ptr %2618, null
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %251, i1 noundef zeroext %2619)
  %2620 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %251)
          to label %2621 unwind label %2624

2621:                                             ; preds = %2613
  br i1 %2620, label %2622, label %2628

2622:                                             ; preds = %2621
  br label %2654

2623:                                             ; preds = %2612, %2583
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %247) #10
  br label %5281

2624:                                             ; preds = %2613
  %2625 = landingpad { ptr, i32 }
          cleanup
  %2626 = extractvalue { ptr, i32 } %2625, 0
  store ptr %2626, ptr %5, align 8
  %2627 = extractvalue { ptr, i32 } %2625, 1
  store i32 %2627, ptr %6, align 4
  br label %2667

2628:                                             ; preds = %2621
  call void @llvm.lifetime.start.p0(i64 8, ptr %252) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %252)
          to label %2629 unwind label %2635

2629:                                             ; preds = %2628
  call void @llvm.lifetime.start.p0(i64 8, ptr %253) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %254) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %254, ptr noundef nonnull align 8 dereferenceable(16) %251, ptr noundef @.str.56, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %2630 unwind label %2639

2630:                                             ; preds = %2629
  %2631 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %254)
          to label %2632 unwind label %2643

2632:                                             ; preds = %2630
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %253, i32 noundef 1, ptr noundef @.str.7, i32 noundef 122, ptr noundef %2631)
          to label %2633 unwind label %2643

2633:                                             ; preds = %2632
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %253, ptr noundef nonnull align 8 dereferenceable(8) %252)
          to label %2634 unwind label %2647

2634:                                             ; preds = %2633
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %253) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %254) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %254) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %253) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %252) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #10
  br label %2654

2635:                                             ; preds = %2628
  %2636 = landingpad { ptr, i32 }
          cleanup
  %2637 = extractvalue { ptr, i32 } %2636, 0
  store ptr %2637, ptr %5, align 8
  %2638 = extractvalue { ptr, i32 } %2636, 1
  store i32 %2638, ptr %6, align 4
  br label %2653

2639:                                             ; preds = %2629
  %2640 = landingpad { ptr, i32 }
          cleanup
  %2641 = extractvalue { ptr, i32 } %2640, 0
  store ptr %2641, ptr %5, align 8
  %2642 = extractvalue { ptr, i32 } %2640, 1
  store i32 %2642, ptr %6, align 4
  br label %2652

2643:                                             ; preds = %2632, %2630
  %2644 = landingpad { ptr, i32 }
          cleanup
  %2645 = extractvalue { ptr, i32 } %2644, 0
  store ptr %2645, ptr %5, align 8
  %2646 = extractvalue { ptr, i32 } %2644, 1
  store i32 %2646, ptr %6, align 4
  br label %2651

2647:                                             ; preds = %2633
  %2648 = landingpad { ptr, i32 }
          cleanup
  %2649 = extractvalue { ptr, i32 } %2648, 0
  store ptr %2649, ptr %5, align 8
  %2650 = extractvalue { ptr, i32 } %2648, 1
  store i32 %2650, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %253) #10
  br label %2651

2651:                                             ; preds = %2647, %2643
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %254) #10
  br label %2652

2652:                                             ; preds = %2651, %2639
  call void @llvm.lifetime.end.p0(i64 16, ptr %254) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %253) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %252) #10
  br label %2653

2653:                                             ; preds = %2652, %2635
  call void @llvm.lifetime.end.p0(i64 8, ptr %252) #10
  br label %2667

2654:                                             ; preds = %2634, %2622
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %251) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %251) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %255) #10
  %2655 = load ptr, ptr %21, align 8, !tbaa !5
  %2656 = load ptr, ptr %29, align 8, !tbaa !5
  %2657 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %2656, i32 0, i32 9
  %2658 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2657, i64 noundef 0) #10
  %2659 = getelementptr inbounds %"class.cascadb::Pivot", ptr %2658, i32 0, i32 2
  %2660 = load i64, ptr %2659, align 8, !tbaa !41
  %2661 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %2655, i64 noundef %2660, i1 noundef zeroext false)
  store ptr %2661, ptr %255, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %256) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %257) #10
  store i64 281474976710659, ptr %257, align 8, !tbaa !24
  %2662 = load ptr, ptr %255, align 8, !tbaa !5
  %2663 = getelementptr inbounds %"class.cascadb::Node", ptr %2662, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %256, ptr noundef @.str.84, ptr noundef @.str.85, ptr noundef nonnull align 8 dereferenceable(8) %257, ptr noundef nonnull align 8 dereferenceable(8) %2663)
  call void @llvm.lifetime.end.p0(i64 8, ptr %257) #10
  %2664 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %256)
          to label %2665 unwind label %2668

2665:                                             ; preds = %2654
  br i1 %2664, label %2666, label %2672

2666:                                             ; preds = %2665
  br label %2692

2667:                                             ; preds = %2653, %2624
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %251) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %251) #10
  br label %5281

2668:                                             ; preds = %2654
  %2669 = landingpad { ptr, i32 }
          cleanup
  %2670 = extractvalue { ptr, i32 } %2669, 0
  store ptr %2670, ptr %5, align 8
  %2671 = extractvalue { ptr, i32 } %2669, 1
  store i32 %2671, ptr %6, align 4
  br label %2699

2672:                                             ; preds = %2665
  call void @llvm.lifetime.start.p0(i64 8, ptr %258) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %258)
          to label %2673 unwind label %2678

2673:                                             ; preds = %2672
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #10
  %2674 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %256)
          to label %2675 unwind label %2682

2675:                                             ; preds = %2673
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %259, i32 noundef 1, ptr noundef @.str.7, i32 noundef 124, ptr noundef %2674)
          to label %2676 unwind label %2682

2676:                                             ; preds = %2675
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %259, ptr noundef nonnull align 8 dereferenceable(8) %258)
          to label %2677 unwind label %2686

2677:                                             ; preds = %2676
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %259) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %258) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #10
  br label %2692

2678:                                             ; preds = %2672
  %2679 = landingpad { ptr, i32 }
          cleanup
  %2680 = extractvalue { ptr, i32 } %2679, 0
  store ptr %2680, ptr %5, align 8
  %2681 = extractvalue { ptr, i32 } %2679, 1
  store i32 %2681, ptr %6, align 4
  br label %2691

2682:                                             ; preds = %2675, %2673
  %2683 = landingpad { ptr, i32 }
          cleanup
  %2684 = extractvalue { ptr, i32 } %2683, 0
  store ptr %2684, ptr %5, align 8
  %2685 = extractvalue { ptr, i32 } %2683, 1
  store i32 %2685, ptr %6, align 4
  br label %2690

2686:                                             ; preds = %2676
  %2687 = landingpad { ptr, i32 }
          cleanup
  %2688 = extractvalue { ptr, i32 } %2687, 0
  store ptr %2688, ptr %5, align 8
  %2689 = extractvalue { ptr, i32 } %2687, 1
  store i32 %2689, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %259) #10
  br label %2690

2690:                                             ; preds = %2686, %2682
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %258) #10
  br label %2691

2691:                                             ; preds = %2690, %2678
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #10
  br label %2699

2692:                                             ; preds = %2677, %2666
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %256) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %256) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %260) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #10
  store i32 2, ptr %261, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %262) #10
  %2693 = load ptr, ptr %60, align 8, !tbaa !5
  %2694 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2693, i32 0, i32 6
  %2695 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %2694)
  store i64 %2695, ptr %262, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %260, ptr noundef @.str.86, ptr noundef @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %261, ptr noundef nonnull align 8 dereferenceable(8) %262)
  call void @llvm.lifetime.end.p0(i64 8, ptr %262) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #10
  %2696 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %260)
          to label %2697 unwind label %2700

2697:                                             ; preds = %2692
  br i1 %2696, label %2698, label %2704

2698:                                             ; preds = %2697
  br label %2724

2699:                                             ; preds = %2691, %2668
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %256) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %256) #10
  br label %5280

2700:                                             ; preds = %2692
  %2701 = landingpad { ptr, i32 }
          cleanup
  %2702 = extractvalue { ptr, i32 } %2701, 0
  store ptr %2702, ptr %5, align 8
  %2703 = extractvalue { ptr, i32 } %2701, 1
  store i32 %2703, ptr %6, align 4
  br label %2732

2704:                                             ; preds = %2697
  call void @llvm.lifetime.start.p0(i64 8, ptr %263) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %263)
          to label %2705 unwind label %2710

2705:                                             ; preds = %2704
  call void @llvm.lifetime.start.p0(i64 8, ptr %264) #10
  %2706 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %260)
          to label %2707 unwind label %2714

2707:                                             ; preds = %2705
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %264, i32 noundef 1, ptr noundef @.str.7, i32 noundef 125, ptr noundef %2706)
          to label %2708 unwind label %2714

2708:                                             ; preds = %2707
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %264, ptr noundef nonnull align 8 dereferenceable(8) %263)
          to label %2709 unwind label %2718

2709:                                             ; preds = %2708
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %264) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %263) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %263) #10
  br label %2724

2710:                                             ; preds = %2704
  %2711 = landingpad { ptr, i32 }
          cleanup
  %2712 = extractvalue { ptr, i32 } %2711, 0
  store ptr %2712, ptr %5, align 8
  %2713 = extractvalue { ptr, i32 } %2711, 1
  store i32 %2713, ptr %6, align 4
  br label %2723

2714:                                             ; preds = %2707, %2705
  %2715 = landingpad { ptr, i32 }
          cleanup
  %2716 = extractvalue { ptr, i32 } %2715, 0
  store ptr %2716, ptr %5, align 8
  %2717 = extractvalue { ptr, i32 } %2715, 1
  store i32 %2717, ptr %6, align 4
  br label %2722

2718:                                             ; preds = %2708
  %2719 = landingpad { ptr, i32 }
          cleanup
  %2720 = extractvalue { ptr, i32 } %2719, 0
  store ptr %2720, ptr %5, align 8
  %2721 = extractvalue { ptr, i32 } %2719, 1
  store i32 %2721, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %264) #10
  br label %2722

2722:                                             ; preds = %2718, %2714
  call void @llvm.lifetime.end.p0(i64 8, ptr %264) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %263) #10
  br label %2723

2723:                                             ; preds = %2722, %2710
  call void @llvm.lifetime.end.p0(i64 8, ptr %263) #10
  br label %2732

2724:                                             ; preds = %2709, %2698
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %260) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %260) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %265) #10
  %2725 = load ptr, ptr %60, align 8, !tbaa !5
  %2726 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2725, i32 0, i32 6
  %2727 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2726, i64 noundef 0)
  %2728 = getelementptr inbounds %"class.cascadb::Record", ptr %2727, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %265, ptr noundef @.str.8, ptr noundef @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %2728)
  %2729 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %265)
          to label %2730 unwind label %2733

2730:                                             ; preds = %2724
  br i1 %2729, label %2731, label %2737

2731:                                             ; preds = %2730
  br label %2757

2732:                                             ; preds = %2723, %2700
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %260) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %260) #10
  br label %5280

2733:                                             ; preds = %2724
  %2734 = landingpad { ptr, i32 }
          cleanup
  %2735 = extractvalue { ptr, i32 } %2734, 0
  store ptr %2735, ptr %5, align 8
  %2736 = extractvalue { ptr, i32 } %2734, 1
  store i32 %2736, ptr %6, align 4
  br label %2765

2737:                                             ; preds = %2730
  call void @llvm.lifetime.start.p0(i64 8, ptr %266) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %266)
          to label %2738 unwind label %2743

2738:                                             ; preds = %2737
  call void @llvm.lifetime.start.p0(i64 8, ptr %267) #10
  %2739 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %265)
          to label %2740 unwind label %2747

2740:                                             ; preds = %2738
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %267, i32 noundef 1, ptr noundef @.str.7, i32 noundef 126, ptr noundef %2739)
          to label %2741 unwind label %2747

2741:                                             ; preds = %2740
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %267, ptr noundef nonnull align 8 dereferenceable(8) %266)
          to label %2742 unwind label %2751

2742:                                             ; preds = %2741
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %267) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %267) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %266) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %266) #10
  br label %2757

2743:                                             ; preds = %2737
  %2744 = landingpad { ptr, i32 }
          cleanup
  %2745 = extractvalue { ptr, i32 } %2744, 0
  store ptr %2745, ptr %5, align 8
  %2746 = extractvalue { ptr, i32 } %2744, 1
  store i32 %2746, ptr %6, align 4
  br label %2756

2747:                                             ; preds = %2740, %2738
  %2748 = landingpad { ptr, i32 }
          cleanup
  %2749 = extractvalue { ptr, i32 } %2748, 0
  store ptr %2749, ptr %5, align 8
  %2750 = extractvalue { ptr, i32 } %2748, 1
  store i32 %2750, ptr %6, align 4
  br label %2755

2751:                                             ; preds = %2741
  %2752 = landingpad { ptr, i32 }
          cleanup
  %2753 = extractvalue { ptr, i32 } %2752, 0
  store ptr %2753, ptr %5, align 8
  %2754 = extractvalue { ptr, i32 } %2752, 1
  store i32 %2754, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %267) #10
  br label %2755

2755:                                             ; preds = %2751, %2747
  call void @llvm.lifetime.end.p0(i64 8, ptr %267) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %266) #10
  br label %2756

2756:                                             ; preds = %2755, %2743
  call void @llvm.lifetime.end.p0(i64 8, ptr %266) #10
  br label %2765

2757:                                             ; preds = %2742, %2731
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %265) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %265) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %268) #10
  %2758 = load ptr, ptr %60, align 8, !tbaa !5
  %2759 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2758, i32 0, i32 6
  %2760 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2759, i64 noundef 0)
  %2761 = getelementptr inbounds %"class.cascadb::Record", ptr %2760, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %268, ptr noundef @.str.87, ptr noundef @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %2761)
  %2762 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %268)
          to label %2763 unwind label %2766

2763:                                             ; preds = %2757
  br i1 %2762, label %2764, label %2770

2764:                                             ; preds = %2763
  br label %2790

2765:                                             ; preds = %2756, %2733
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %265) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %265) #10
  br label %5280

2766:                                             ; preds = %2757
  %2767 = landingpad { ptr, i32 }
          cleanup
  %2768 = extractvalue { ptr, i32 } %2767, 0
  store ptr %2768, ptr %5, align 8
  %2769 = extractvalue { ptr, i32 } %2767, 1
  store i32 %2769, ptr %6, align 4
  br label %2798

2770:                                             ; preds = %2763
  call void @llvm.lifetime.start.p0(i64 8, ptr %269) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %269)
          to label %2771 unwind label %2776

2771:                                             ; preds = %2770
  call void @llvm.lifetime.start.p0(i64 8, ptr %270) #10
  %2772 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %268)
          to label %2773 unwind label %2780

2773:                                             ; preds = %2771
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %270, i32 noundef 1, ptr noundef @.str.7, i32 noundef 126, ptr noundef %2772)
          to label %2774 unwind label %2780

2774:                                             ; preds = %2773
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %270, ptr noundef nonnull align 8 dereferenceable(8) %269)
          to label %2775 unwind label %2784

2775:                                             ; preds = %2774
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %270) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %269) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #10
  br label %2790

2776:                                             ; preds = %2770
  %2777 = landingpad { ptr, i32 }
          cleanup
  %2778 = extractvalue { ptr, i32 } %2777, 0
  store ptr %2778, ptr %5, align 8
  %2779 = extractvalue { ptr, i32 } %2777, 1
  store i32 %2779, ptr %6, align 4
  br label %2789

2780:                                             ; preds = %2773, %2771
  %2781 = landingpad { ptr, i32 }
          cleanup
  %2782 = extractvalue { ptr, i32 } %2781, 0
  store ptr %2782, ptr %5, align 8
  %2783 = extractvalue { ptr, i32 } %2781, 1
  store i32 %2783, ptr %6, align 4
  br label %2788

2784:                                             ; preds = %2774
  %2785 = landingpad { ptr, i32 }
          cleanup
  %2786 = extractvalue { ptr, i32 } %2785, 0
  store ptr %2786, ptr %5, align 8
  %2787 = extractvalue { ptr, i32 } %2785, 1
  store i32 %2787, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %270) #10
  br label %2788

2788:                                             ; preds = %2784, %2780
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %269) #10
  br label %2789

2789:                                             ; preds = %2788, %2776
  call void @llvm.lifetime.end.p0(i64 8, ptr %269) #10
  br label %2798

2790:                                             ; preds = %2775, %2764
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %268) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %268) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %271) #10
  %2791 = load ptr, ptr %60, align 8, !tbaa !5
  %2792 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2791, i32 0, i32 6
  %2793 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2792, i64 noundef 1)
  %2794 = getelementptr inbounds %"class.cascadb::Record", ptr %2793, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %271, ptr noundef @.str.39, ptr noundef @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %2794)
  %2795 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %271)
          to label %2796 unwind label %2799

2796:                                             ; preds = %2790
  br i1 %2795, label %2797, label %2803

2797:                                             ; preds = %2796
  br label %2823

2798:                                             ; preds = %2789, %2766
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %268) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %268) #10
  br label %5280

2799:                                             ; preds = %2790
  %2800 = landingpad { ptr, i32 }
          cleanup
  %2801 = extractvalue { ptr, i32 } %2800, 0
  store ptr %2801, ptr %5, align 8
  %2802 = extractvalue { ptr, i32 } %2800, 1
  store i32 %2802, ptr %6, align 4
  br label %2831

2803:                                             ; preds = %2796
  call void @llvm.lifetime.start.p0(i64 8, ptr %272) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %272)
          to label %2804 unwind label %2809

2804:                                             ; preds = %2803
  call void @llvm.lifetime.start.p0(i64 8, ptr %273) #10
  %2805 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %271)
          to label %2806 unwind label %2813

2806:                                             ; preds = %2804
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %273, i32 noundef 1, ptr noundef @.str.7, i32 noundef 127, ptr noundef %2805)
          to label %2807 unwind label %2813

2807:                                             ; preds = %2806
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %273, ptr noundef nonnull align 8 dereferenceable(8) %272)
          to label %2808 unwind label %2817

2808:                                             ; preds = %2807
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %273) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %273) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %272) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  br label %2823

2809:                                             ; preds = %2803
  %2810 = landingpad { ptr, i32 }
          cleanup
  %2811 = extractvalue { ptr, i32 } %2810, 0
  store ptr %2811, ptr %5, align 8
  %2812 = extractvalue { ptr, i32 } %2810, 1
  store i32 %2812, ptr %6, align 4
  br label %2822

2813:                                             ; preds = %2806, %2804
  %2814 = landingpad { ptr, i32 }
          cleanup
  %2815 = extractvalue { ptr, i32 } %2814, 0
  store ptr %2815, ptr %5, align 8
  %2816 = extractvalue { ptr, i32 } %2814, 1
  store i32 %2816, ptr %6, align 4
  br label %2821

2817:                                             ; preds = %2807
  %2818 = landingpad { ptr, i32 }
          cleanup
  %2819 = extractvalue { ptr, i32 } %2818, 0
  store ptr %2819, ptr %5, align 8
  %2820 = extractvalue { ptr, i32 } %2818, 1
  store i32 %2820, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %273) #10
  br label %2821

2821:                                             ; preds = %2817, %2813
  call void @llvm.lifetime.end.p0(i64 8, ptr %273) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %272) #10
  br label %2822

2822:                                             ; preds = %2821, %2809
  call void @llvm.lifetime.end.p0(i64 8, ptr %272) #10
  br label %2831

2823:                                             ; preds = %2808, %2797
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %271) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %271) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %274) #10
  %2824 = load ptr, ptr %60, align 8, !tbaa !5
  %2825 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2824, i32 0, i32 6
  %2826 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2825, i64 noundef 1)
  %2827 = getelementptr inbounds %"class.cascadb::Record", ptr %2826, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %274, ptr noundef @.str.87, ptr noundef @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %2827)
  %2828 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %274)
          to label %2829 unwind label %2832

2829:                                             ; preds = %2823
  br i1 %2828, label %2830, label %2836

2830:                                             ; preds = %2829
  br label %2856

2831:                                             ; preds = %2822, %2799
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %271) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %271) #10
  br label %5280

2832:                                             ; preds = %2823
  %2833 = landingpad { ptr, i32 }
          cleanup
  %2834 = extractvalue { ptr, i32 } %2833, 0
  store ptr %2834, ptr %5, align 8
  %2835 = extractvalue { ptr, i32 } %2833, 1
  store i32 %2835, ptr %6, align 4
  br label %2863

2836:                                             ; preds = %2829
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %275)
          to label %2837 unwind label %2842

2837:                                             ; preds = %2836
  call void @llvm.lifetime.start.p0(i64 8, ptr %276) #10
  %2838 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %274)
          to label %2839 unwind label %2846

2839:                                             ; preds = %2837
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %276, i32 noundef 1, ptr noundef @.str.7, i32 noundef 127, ptr noundef %2838)
          to label %2840 unwind label %2846

2840:                                             ; preds = %2839
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %276, ptr noundef nonnull align 8 dereferenceable(8) %275)
          to label %2841 unwind label %2850

2841:                                             ; preds = %2840
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %276) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %275) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #10
  br label %2856

2842:                                             ; preds = %2836
  %2843 = landingpad { ptr, i32 }
          cleanup
  %2844 = extractvalue { ptr, i32 } %2843, 0
  store ptr %2844, ptr %5, align 8
  %2845 = extractvalue { ptr, i32 } %2843, 1
  store i32 %2845, ptr %6, align 4
  br label %2855

2846:                                             ; preds = %2839, %2837
  %2847 = landingpad { ptr, i32 }
          cleanup
  %2848 = extractvalue { ptr, i32 } %2847, 0
  store ptr %2848, ptr %5, align 8
  %2849 = extractvalue { ptr, i32 } %2847, 1
  store i32 %2849, ptr %6, align 4
  br label %2854

2850:                                             ; preds = %2840
  %2851 = landingpad { ptr, i32 }
          cleanup
  %2852 = extractvalue { ptr, i32 } %2851, 0
  store ptr %2852, ptr %5, align 8
  %2853 = extractvalue { ptr, i32 } %2851, 1
  store i32 %2853, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %276) #10
  br label %2854

2854:                                             ; preds = %2850, %2846
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %275) #10
  br label %2855

2855:                                             ; preds = %2854, %2842
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #10
  br label %2863

2856:                                             ; preds = %2841, %2830
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %274) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %274) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %277) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #10
  store i32 3, ptr %278, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %279) #10
  %2857 = load ptr, ptr %255, align 8, !tbaa !5
  %2858 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2857, i32 0, i32 6
  %2859 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %2858)
  store i64 %2859, ptr %279, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %277, ptr noundef @.str.28, ptr noundef @.str.88, ptr noundef nonnull align 4 dereferenceable(4) %278, ptr noundef nonnull align 8 dereferenceable(8) %279)
  call void @llvm.lifetime.end.p0(i64 8, ptr %279) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #10
  %2860 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %277)
          to label %2861 unwind label %2864

2861:                                             ; preds = %2856
  br i1 %2860, label %2862, label %2868

2862:                                             ; preds = %2861
  br label %2888

2863:                                             ; preds = %2855, %2832
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %274) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %274) #10
  br label %5280

2864:                                             ; preds = %2856
  %2865 = landingpad { ptr, i32 }
          cleanup
  %2866 = extractvalue { ptr, i32 } %2865, 0
  store ptr %2866, ptr %5, align 8
  %2867 = extractvalue { ptr, i32 } %2865, 1
  store i32 %2867, ptr %6, align 4
  br label %2896

2868:                                             ; preds = %2861
  call void @llvm.lifetime.start.p0(i64 8, ptr %280) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %280)
          to label %2869 unwind label %2874

2869:                                             ; preds = %2868
  call void @llvm.lifetime.start.p0(i64 8, ptr %281) #10
  %2870 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %277)
          to label %2871 unwind label %2878

2871:                                             ; preds = %2869
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %281, i32 noundef 1, ptr noundef @.str.7, i32 noundef 128, ptr noundef %2870)
          to label %2872 unwind label %2878

2872:                                             ; preds = %2871
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %281, ptr noundef nonnull align 8 dereferenceable(8) %280)
          to label %2873 unwind label %2882

2873:                                             ; preds = %2872
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %281) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %280) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %280) #10
  br label %2888

2874:                                             ; preds = %2868
  %2875 = landingpad { ptr, i32 }
          cleanup
  %2876 = extractvalue { ptr, i32 } %2875, 0
  store ptr %2876, ptr %5, align 8
  %2877 = extractvalue { ptr, i32 } %2875, 1
  store i32 %2877, ptr %6, align 4
  br label %2887

2878:                                             ; preds = %2871, %2869
  %2879 = landingpad { ptr, i32 }
          cleanup
  %2880 = extractvalue { ptr, i32 } %2879, 0
  store ptr %2880, ptr %5, align 8
  %2881 = extractvalue { ptr, i32 } %2879, 1
  store i32 %2881, ptr %6, align 4
  br label %2886

2882:                                             ; preds = %2872
  %2883 = landingpad { ptr, i32 }
          cleanup
  %2884 = extractvalue { ptr, i32 } %2883, 0
  store ptr %2884, ptr %5, align 8
  %2885 = extractvalue { ptr, i32 } %2883, 1
  store i32 %2885, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %281) #10
  br label %2886

2886:                                             ; preds = %2882, %2878
  call void @llvm.lifetime.end.p0(i64 8, ptr %281) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %280) #10
  br label %2887

2887:                                             ; preds = %2886, %2874
  call void @llvm.lifetime.end.p0(i64 8, ptr %280) #10
  br label %2896

2888:                                             ; preds = %2873, %2862
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %277) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %277) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %282) #10
  %2889 = load ptr, ptr %255, align 8, !tbaa !5
  %2890 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2889, i32 0, i32 6
  %2891 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2890, i64 noundef 0)
  %2892 = getelementptr inbounds %"class.cascadb::Record", ptr %2891, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %282, ptr noundef @.str.89, ptr noundef @.str.90, ptr noundef nonnull align 1 dereferenceable(3) @.str.73, ptr noundef nonnull align 8 dereferenceable(12) %2892)
  %2893 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %282)
          to label %2894 unwind label %2897

2894:                                             ; preds = %2888
  br i1 %2893, label %2895, label %2901

2895:                                             ; preds = %2894
  br label %2921

2896:                                             ; preds = %2887, %2864
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %277) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %277) #10
  br label %5280

2897:                                             ; preds = %2888
  %2898 = landingpad { ptr, i32 }
          cleanup
  %2899 = extractvalue { ptr, i32 } %2898, 0
  store ptr %2899, ptr %5, align 8
  %2900 = extractvalue { ptr, i32 } %2898, 1
  store i32 %2900, ptr %6, align 4
  br label %2929

2901:                                             ; preds = %2894
  call void @llvm.lifetime.start.p0(i64 8, ptr %283) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %283)
          to label %2902 unwind label %2907

2902:                                             ; preds = %2901
  call void @llvm.lifetime.start.p0(i64 8, ptr %284) #10
  %2903 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %282)
          to label %2904 unwind label %2911

2904:                                             ; preds = %2902
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %284, i32 noundef 1, ptr noundef @.str.7, i32 noundef 129, ptr noundef %2903)
          to label %2905 unwind label %2911

2905:                                             ; preds = %2904
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %284, ptr noundef nonnull align 8 dereferenceable(8) %283)
          to label %2906 unwind label %2915

2906:                                             ; preds = %2905
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %284) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %284) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %283) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #10
  br label %2921

2907:                                             ; preds = %2901
  %2908 = landingpad { ptr, i32 }
          cleanup
  %2909 = extractvalue { ptr, i32 } %2908, 0
  store ptr %2909, ptr %5, align 8
  %2910 = extractvalue { ptr, i32 } %2908, 1
  store i32 %2910, ptr %6, align 4
  br label %2920

2911:                                             ; preds = %2904, %2902
  %2912 = landingpad { ptr, i32 }
          cleanup
  %2913 = extractvalue { ptr, i32 } %2912, 0
  store ptr %2913, ptr %5, align 8
  %2914 = extractvalue { ptr, i32 } %2912, 1
  store i32 %2914, ptr %6, align 4
  br label %2919

2915:                                             ; preds = %2905
  %2916 = landingpad { ptr, i32 }
          cleanup
  %2917 = extractvalue { ptr, i32 } %2916, 0
  store ptr %2917, ptr %5, align 8
  %2918 = extractvalue { ptr, i32 } %2916, 1
  store i32 %2918, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %284) #10
  br label %2919

2919:                                             ; preds = %2915, %2911
  call void @llvm.lifetime.end.p0(i64 8, ptr %284) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %283) #10
  br label %2920

2920:                                             ; preds = %2919, %2907
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #10
  br label %2929

2921:                                             ; preds = %2906, %2895
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %282) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %282) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %285) #10
  %2922 = load ptr, ptr %255, align 8, !tbaa !5
  %2923 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2922, i32 0, i32 6
  %2924 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2923, i64 noundef 0)
  %2925 = getelementptr inbounds %"class.cascadb::Record", ptr %2924, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %285, ptr noundef @.str.10, ptr noundef @.str.91, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2925)
  %2926 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %285)
          to label %2927 unwind label %2930

2927:                                             ; preds = %2921
  br i1 %2926, label %2928, label %2934

2928:                                             ; preds = %2927
  br label %2954

2929:                                             ; preds = %2920, %2897
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %282) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %282) #10
  br label %5280

2930:                                             ; preds = %2921
  %2931 = landingpad { ptr, i32 }
          cleanup
  %2932 = extractvalue { ptr, i32 } %2931, 0
  store ptr %2932, ptr %5, align 8
  %2933 = extractvalue { ptr, i32 } %2931, 1
  store i32 %2933, ptr %6, align 4
  br label %2962

2934:                                             ; preds = %2927
  call void @llvm.lifetime.start.p0(i64 8, ptr %286) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %286)
          to label %2935 unwind label %2940

2935:                                             ; preds = %2934
  call void @llvm.lifetime.start.p0(i64 8, ptr %287) #10
  %2936 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %285)
          to label %2937 unwind label %2944

2937:                                             ; preds = %2935
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %287, i32 noundef 1, ptr noundef @.str.7, i32 noundef 129, ptr noundef %2936)
          to label %2938 unwind label %2944

2938:                                             ; preds = %2937
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %287, ptr noundef nonnull align 8 dereferenceable(8) %286)
          to label %2939 unwind label %2948

2939:                                             ; preds = %2938
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %287) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %286) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %286) #10
  br label %2954

2940:                                             ; preds = %2934
  %2941 = landingpad { ptr, i32 }
          cleanup
  %2942 = extractvalue { ptr, i32 } %2941, 0
  store ptr %2942, ptr %5, align 8
  %2943 = extractvalue { ptr, i32 } %2941, 1
  store i32 %2943, ptr %6, align 4
  br label %2953

2944:                                             ; preds = %2937, %2935
  %2945 = landingpad { ptr, i32 }
          cleanup
  %2946 = extractvalue { ptr, i32 } %2945, 0
  store ptr %2946, ptr %5, align 8
  %2947 = extractvalue { ptr, i32 } %2945, 1
  store i32 %2947, ptr %6, align 4
  br label %2952

2948:                                             ; preds = %2938
  %2949 = landingpad { ptr, i32 }
          cleanup
  %2950 = extractvalue { ptr, i32 } %2949, 0
  store ptr %2950, ptr %5, align 8
  %2951 = extractvalue { ptr, i32 } %2949, 1
  store i32 %2951, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %287) #10
  br label %2952

2952:                                             ; preds = %2948, %2944
  call void @llvm.lifetime.end.p0(i64 8, ptr %287) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %286) #10
  br label %2953

2953:                                             ; preds = %2952, %2940
  call void @llvm.lifetime.end.p0(i64 8, ptr %286) #10
  br label %2962

2954:                                             ; preds = %2939, %2928
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %285) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %285) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %288) #10
  %2955 = load ptr, ptr %255, align 8, !tbaa !5
  %2956 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2955, i32 0, i32 6
  %2957 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2956, i64 noundef 1)
  %2958 = getelementptr inbounds %"class.cascadb::Record", ptr %2957, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %288, ptr noundef @.str.42, ptr noundef @.str.92, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %2958)
  %2959 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %288)
          to label %2960 unwind label %2963

2960:                                             ; preds = %2954
  br i1 %2959, label %2961, label %2967

2961:                                             ; preds = %2960
  br label %2987

2962:                                             ; preds = %2953, %2930
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %285) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %285) #10
  br label %5280

2963:                                             ; preds = %2954
  %2964 = landingpad { ptr, i32 }
          cleanup
  %2965 = extractvalue { ptr, i32 } %2964, 0
  store ptr %2965, ptr %5, align 8
  %2966 = extractvalue { ptr, i32 } %2964, 1
  store i32 %2966, ptr %6, align 4
  br label %2995

2967:                                             ; preds = %2960
  call void @llvm.lifetime.start.p0(i64 8, ptr %289) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %289)
          to label %2968 unwind label %2973

2968:                                             ; preds = %2967
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #10
  %2969 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %288)
          to label %2970 unwind label %2977

2970:                                             ; preds = %2968
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %290, i32 noundef 1, ptr noundef @.str.7, i32 noundef 130, ptr noundef %2969)
          to label %2971 unwind label %2977

2971:                                             ; preds = %2970
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %290, ptr noundef nonnull align 8 dereferenceable(8) %289)
          to label %2972 unwind label %2981

2972:                                             ; preds = %2971
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %290) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %289) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #10
  br label %2987

2973:                                             ; preds = %2967
  %2974 = landingpad { ptr, i32 }
          cleanup
  %2975 = extractvalue { ptr, i32 } %2974, 0
  store ptr %2975, ptr %5, align 8
  %2976 = extractvalue { ptr, i32 } %2974, 1
  store i32 %2976, ptr %6, align 4
  br label %2986

2977:                                             ; preds = %2970, %2968
  %2978 = landingpad { ptr, i32 }
          cleanup
  %2979 = extractvalue { ptr, i32 } %2978, 0
  store ptr %2979, ptr %5, align 8
  %2980 = extractvalue { ptr, i32 } %2978, 1
  store i32 %2980, ptr %6, align 4
  br label %2985

2981:                                             ; preds = %2971
  %2982 = landingpad { ptr, i32 }
          cleanup
  %2983 = extractvalue { ptr, i32 } %2982, 0
  store ptr %2983, ptr %5, align 8
  %2984 = extractvalue { ptr, i32 } %2982, 1
  store i32 %2984, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %290) #10
  br label %2985

2985:                                             ; preds = %2981, %2977
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %289) #10
  br label %2986

2986:                                             ; preds = %2985, %2973
  call void @llvm.lifetime.end.p0(i64 8, ptr %289) #10
  br label %2995

2987:                                             ; preds = %2972, %2961
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %288) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %288) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %291) #10
  %2988 = load ptr, ptr %255, align 8, !tbaa !5
  %2989 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %2988, i32 0, i32 6
  %2990 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %2989, i64 noundef 1)
  %2991 = getelementptr inbounds %"class.cascadb::Record", ptr %2990, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %291, ptr noundef @.str.10, ptr noundef @.str.93, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2991)
  %2992 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %291)
          to label %2993 unwind label %2996

2993:                                             ; preds = %2987
  br i1 %2992, label %2994, label %3000

2994:                                             ; preds = %2993
  br label %3020

2995:                                             ; preds = %2986, %2963
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %288) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %288) #10
  br label %5280

2996:                                             ; preds = %2987
  %2997 = landingpad { ptr, i32 }
          cleanup
  %2998 = extractvalue { ptr, i32 } %2997, 0
  store ptr %2998, ptr %5, align 8
  %2999 = extractvalue { ptr, i32 } %2997, 1
  store i32 %2999, ptr %6, align 4
  br label %3028

3000:                                             ; preds = %2993
  call void @llvm.lifetime.start.p0(i64 8, ptr %292) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %292)
          to label %3001 unwind label %3006

3001:                                             ; preds = %3000
  call void @llvm.lifetime.start.p0(i64 8, ptr %293) #10
  %3002 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %291)
          to label %3003 unwind label %3010

3003:                                             ; preds = %3001
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %293, i32 noundef 1, ptr noundef @.str.7, i32 noundef 130, ptr noundef %3002)
          to label %3004 unwind label %3010

3004:                                             ; preds = %3003
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %293, ptr noundef nonnull align 8 dereferenceable(8) %292)
          to label %3005 unwind label %3014

3005:                                             ; preds = %3004
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %293) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %292) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #10
  br label %3020

3006:                                             ; preds = %3000
  %3007 = landingpad { ptr, i32 }
          cleanup
  %3008 = extractvalue { ptr, i32 } %3007, 0
  store ptr %3008, ptr %5, align 8
  %3009 = extractvalue { ptr, i32 } %3007, 1
  store i32 %3009, ptr %6, align 4
  br label %3019

3010:                                             ; preds = %3003, %3001
  %3011 = landingpad { ptr, i32 }
          cleanup
  %3012 = extractvalue { ptr, i32 } %3011, 0
  store ptr %3012, ptr %5, align 8
  %3013 = extractvalue { ptr, i32 } %3011, 1
  store i32 %3013, ptr %6, align 4
  br label %3018

3014:                                             ; preds = %3004
  %3015 = landingpad { ptr, i32 }
          cleanup
  %3016 = extractvalue { ptr, i32 } %3015, 0
  store ptr %3016, ptr %5, align 8
  %3017 = extractvalue { ptr, i32 } %3015, 1
  store i32 %3017, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %293) #10
  br label %3018

3018:                                             ; preds = %3014, %3010
  call void @llvm.lifetime.end.p0(i64 8, ptr %293) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %292) #10
  br label %3019

3019:                                             ; preds = %3018, %3006
  call void @llvm.lifetime.end.p0(i64 8, ptr %292) #10
  br label %3028

3020:                                             ; preds = %3005, %2994
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %291) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %291) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %294) #10
  %3021 = load ptr, ptr %255, align 8, !tbaa !5
  %3022 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %3021, i32 0, i32 6
  %3023 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3022, i64 noundef 2)
  %3024 = getelementptr inbounds %"class.cascadb::Record", ptr %3023, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %294, ptr noundef @.str.45, ptr noundef @.str.94, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %3024)
  %3025 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %294)
          to label %3026 unwind label %3029

3026:                                             ; preds = %3020
  br i1 %3025, label %3027, label %3033

3027:                                             ; preds = %3026
  br label %3053

3028:                                             ; preds = %3019, %2996
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %291) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %291) #10
  br label %5280

3029:                                             ; preds = %3020
  %3030 = landingpad { ptr, i32 }
          cleanup
  %3031 = extractvalue { ptr, i32 } %3030, 0
  store ptr %3031, ptr %5, align 8
  %3032 = extractvalue { ptr, i32 } %3030, 1
  store i32 %3032, ptr %6, align 4
  br label %3061

3033:                                             ; preds = %3026
  call void @llvm.lifetime.start.p0(i64 8, ptr %295) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295)
          to label %3034 unwind label %3039

3034:                                             ; preds = %3033
  call void @llvm.lifetime.start.p0(i64 8, ptr %296) #10
  %3035 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %294)
          to label %3036 unwind label %3043

3036:                                             ; preds = %3034
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %296, i32 noundef 1, ptr noundef @.str.7, i32 noundef 131, ptr noundef %3035)
          to label %3037 unwind label %3043

3037:                                             ; preds = %3036
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(8) %295)
          to label %3038 unwind label %3047

3038:                                             ; preds = %3037
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %296) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %295) #10
  br label %3053

3039:                                             ; preds = %3033
  %3040 = landingpad { ptr, i32 }
          cleanup
  %3041 = extractvalue { ptr, i32 } %3040, 0
  store ptr %3041, ptr %5, align 8
  %3042 = extractvalue { ptr, i32 } %3040, 1
  store i32 %3042, ptr %6, align 4
  br label %3052

3043:                                             ; preds = %3036, %3034
  %3044 = landingpad { ptr, i32 }
          cleanup
  %3045 = extractvalue { ptr, i32 } %3044, 0
  store ptr %3045, ptr %5, align 8
  %3046 = extractvalue { ptr, i32 } %3044, 1
  store i32 %3046, ptr %6, align 4
  br label %3051

3047:                                             ; preds = %3037
  %3048 = landingpad { ptr, i32 }
          cleanup
  %3049 = extractvalue { ptr, i32 } %3048, 0
  store ptr %3049, ptr %5, align 8
  %3050 = extractvalue { ptr, i32 } %3048, 1
  store i32 %3050, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %296) #10
  br label %3051

3051:                                             ; preds = %3047, %3043
  call void @llvm.lifetime.end.p0(i64 8, ptr %296) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295) #10
  br label %3052

3052:                                             ; preds = %3051, %3039
  call void @llvm.lifetime.end.p0(i64 8, ptr %295) #10
  br label %3061

3053:                                             ; preds = %3038, %3027
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %294) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %294) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %297) #10
  %3054 = load ptr, ptr %255, align 8, !tbaa !5
  %3055 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %3054, i32 0, i32 6
  %3056 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3055, i64 noundef 2)
  %3057 = getelementptr inbounds %"class.cascadb::Record", ptr %3056, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %297, ptr noundef @.str.10, ptr noundef @.str.95, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %3057)
  %3058 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %297)
          to label %3059 unwind label %3062

3059:                                             ; preds = %3053
  br i1 %3058, label %3060, label %3066

3060:                                             ; preds = %3059
  br label %3086

3061:                                             ; preds = %3052, %3029
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %294) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %294) #10
  br label %5280

3062:                                             ; preds = %3053
  %3063 = landingpad { ptr, i32 }
          cleanup
  %3064 = extractvalue { ptr, i32 } %3063, 0
  store ptr %3064, ptr %5, align 8
  %3065 = extractvalue { ptr, i32 } %3063, 1
  store i32 %3065, ptr %6, align 4
  br label %3095

3066:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 8, ptr %298) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %298)
          to label %3067 unwind label %3072

3067:                                             ; preds = %3066
  call void @llvm.lifetime.start.p0(i64 8, ptr %299) #10
  %3068 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %297)
          to label %3069 unwind label %3076

3069:                                             ; preds = %3067
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %299, i32 noundef 1, ptr noundef @.str.7, i32 noundef 131, ptr noundef %3068)
          to label %3070 unwind label %3076

3070:                                             ; preds = %3069
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %299, ptr noundef nonnull align 8 dereferenceable(8) %298)
          to label %3071 unwind label %3080

3071:                                             ; preds = %3070
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %299) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %299) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %298) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %298) #10
  br label %3086

3072:                                             ; preds = %3066
  %3073 = landingpad { ptr, i32 }
          cleanup
  %3074 = extractvalue { ptr, i32 } %3073, 0
  store ptr %3074, ptr %5, align 8
  %3075 = extractvalue { ptr, i32 } %3073, 1
  store i32 %3075, ptr %6, align 4
  br label %3085

3076:                                             ; preds = %3069, %3067
  %3077 = landingpad { ptr, i32 }
          cleanup
  %3078 = extractvalue { ptr, i32 } %3077, 0
  store ptr %3078, ptr %5, align 8
  %3079 = extractvalue { ptr, i32 } %3077, 1
  store i32 %3079, ptr %6, align 4
  br label %3084

3080:                                             ; preds = %3070
  %3081 = landingpad { ptr, i32 }
          cleanup
  %3082 = extractvalue { ptr, i32 } %3081, 0
  store ptr %3082, ptr %5, align 8
  %3083 = extractvalue { ptr, i32 } %3081, 1
  store i32 %3083, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %299) #10
  br label %3084

3084:                                             ; preds = %3080, %3076
  call void @llvm.lifetime.end.p0(i64 8, ptr %299) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %298) #10
  br label %3085

3085:                                             ; preds = %3084, %3072
  call void @llvm.lifetime.end.p0(i64 8, ptr %298) #10
  br label %3095

3086:                                             ; preds = %3071, %3060
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %297) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %297) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %300) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #10
  store i32 63, ptr %301, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %302) #10
  %3087 = load ptr, ptr %29, align 8, !tbaa !5
  %3088 = load ptr, ptr %3087, align 8, !tbaa !18
  %3089 = getelementptr inbounds ptr, ptr %3088, i64 2
  %3090 = load ptr, ptr %3089, align 8
  %3091 = call noundef i64 %3090(ptr noundef nonnull align 8 dereferenceable(312) %3087)
  store i64 %3091, ptr %302, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %300, ptr noundef @.str.96, ptr noundef @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %301, ptr noundef nonnull align 8 dereferenceable(8) %302)
  call void @llvm.lifetime.end.p0(i64 8, ptr %302) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #10
  %3092 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %300)
          to label %3093 unwind label %3096

3093:                                             ; preds = %3086
  br i1 %3092, label %3094, label %3100

3094:                                             ; preds = %3093
  br label %3120

3095:                                             ; preds = %3085, %3062
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %297) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %297) #10
  br label %5280

3096:                                             ; preds = %3086
  %3097 = landingpad { ptr, i32 }
          cleanup
  %3098 = extractvalue { ptr, i32 } %3097, 0
  store ptr %3098, ptr %5, align 8
  %3099 = extractvalue { ptr, i32 } %3097, 1
  store i32 %3099, ptr %6, align 4
  br label %3127

3100:                                             ; preds = %3093
  call void @llvm.lifetime.start.p0(i64 8, ptr %303) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303)
          to label %3101 unwind label %3106

3101:                                             ; preds = %3100
  call void @llvm.lifetime.start.p0(i64 8, ptr %304) #10
  %3102 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %300)
          to label %3103 unwind label %3110

3103:                                             ; preds = %3101
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %304, i32 noundef 1, ptr noundef @.str.7, i32 noundef 132, ptr noundef %3102)
          to label %3104 unwind label %3110

3104:                                             ; preds = %3103
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull align 8 dereferenceable(8) %303)
          to label %3105 unwind label %3114

3105:                                             ; preds = %3104
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %304) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #10
  br label %3120

3106:                                             ; preds = %3100
  %3107 = landingpad { ptr, i32 }
          cleanup
  %3108 = extractvalue { ptr, i32 } %3107, 0
  store ptr %3108, ptr %5, align 8
  %3109 = extractvalue { ptr, i32 } %3107, 1
  store i32 %3109, ptr %6, align 4
  br label %3119

3110:                                             ; preds = %3103, %3101
  %3111 = landingpad { ptr, i32 }
          cleanup
  %3112 = extractvalue { ptr, i32 } %3111, 0
  store ptr %3112, ptr %5, align 8
  %3113 = extractvalue { ptr, i32 } %3111, 1
  store i32 %3113, ptr %6, align 4
  br label %3118

3114:                                             ; preds = %3104
  %3115 = landingpad { ptr, i32 }
          cleanup
  %3116 = extractvalue { ptr, i32 } %3115, 0
  store ptr %3116, ptr %5, align 8
  %3117 = extractvalue { ptr, i32 } %3115, 1
  store i32 %3117, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %304) #10
  br label %3118

3118:                                             ; preds = %3114, %3110
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303) #10
  br label %3119

3119:                                             ; preds = %3118, %3106
  call void @llvm.lifetime.end.p0(i64 8, ptr %303) #10
  br label %3127

3120:                                             ; preds = %3105, %3094
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %300) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %300) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %305) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %306) #10
  %3121 = load ptr, ptr %212, align 8, !tbaa !5
  %3122 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3121, i32 0, i32 9
  %3123 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3122) #10
  store i64 %3123, ptr %306, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #10
  store i32 1, ptr %307, align 4, !tbaa !25
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImjEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %305, ptr noundef @.str.97, ptr noundef @.str.52, ptr noundef nonnull align 8 dereferenceable(8) %306, ptr noundef nonnull align 4 dereferenceable(4) %307)
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %306) #10
  %3124 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %305)
          to label %3125 unwind label %3128

3125:                                             ; preds = %3120
  br i1 %3124, label %3126, label %3132

3126:                                             ; preds = %3125
  br label %3152

3127:                                             ; preds = %3119, %3096
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %300) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %300) #10
  br label %5280

3128:                                             ; preds = %3120
  %3129 = landingpad { ptr, i32 }
          cleanup
  %3130 = extractvalue { ptr, i32 } %3129, 0
  store ptr %3130, ptr %5, align 8
  %3131 = extractvalue { ptr, i32 } %3129, 1
  store i32 %3131, ptr %6, align 4
  br label %3161

3132:                                             ; preds = %3125
  call void @llvm.lifetime.start.p0(i64 8, ptr %308) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308)
          to label %3133 unwind label %3138

3133:                                             ; preds = %3132
  call void @llvm.lifetime.start.p0(i64 8, ptr %309) #10
  %3134 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %305)
          to label %3135 unwind label %3142

3135:                                             ; preds = %3133
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %309, i32 noundef 1, ptr noundef @.str.7, i32 noundef 135, ptr noundef %3134)
          to label %3136 unwind label %3142

3136:                                             ; preds = %3135
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %309, ptr noundef nonnull align 8 dereferenceable(8) %308)
          to label %3137 unwind label %3146

3137:                                             ; preds = %3136
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %309) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %308) #10
  br label %3152

3138:                                             ; preds = %3132
  %3139 = landingpad { ptr, i32 }
          cleanup
  %3140 = extractvalue { ptr, i32 } %3139, 0
  store ptr %3140, ptr %5, align 8
  %3141 = extractvalue { ptr, i32 } %3139, 1
  store i32 %3141, ptr %6, align 4
  br label %3151

3142:                                             ; preds = %3135, %3133
  %3143 = landingpad { ptr, i32 }
          cleanup
  %3144 = extractvalue { ptr, i32 } %3143, 0
  store ptr %3144, ptr %5, align 8
  %3145 = extractvalue { ptr, i32 } %3143, 1
  store i32 %3145, ptr %6, align 4
  br label %3150

3146:                                             ; preds = %3136
  %3147 = landingpad { ptr, i32 }
          cleanup
  %3148 = extractvalue { ptr, i32 } %3147, 0
  store ptr %3148, ptr %5, align 8
  %3149 = extractvalue { ptr, i32 } %3147, 1
  store i32 %3149, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %309) #10
  br label %3150

3150:                                             ; preds = %3146, %3142
  call void @llvm.lifetime.end.p0(i64 8, ptr %309) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308) #10
  br label %3151

3151:                                             ; preds = %3150, %3138
  call void @llvm.lifetime.end.p0(i64 8, ptr %308) #10
  br label %3161

3152:                                             ; preds = %3137, %3126
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %305) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %305) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %310) #10
  %3153 = load ptr, ptr %212, align 8, !tbaa !5
  %3154 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3153, i32 0, i32 9
  %3155 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3154, i64 noundef 0) #10
  %3156 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3155, i32 0, i32 0
  call void @llvm.lifetime.start.p0(i64 16, ptr %311) #10
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %311, ptr noundef @.str.48)
  %3157 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %3156, ptr noundef nonnull align 8 dereferenceable(12) %311)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %310, i1 noundef zeroext %3157)
  call void @llvm.lifetime.end.p0(i64 16, ptr %311) #10
  %3158 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %310)
          to label %3159 unwind label %3162

3159:                                             ; preds = %3152
  br i1 %3158, label %3160, label %3166

3160:                                             ; preds = %3159
  br label %3192

3161:                                             ; preds = %3151, %3128
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %305) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %305) #10
  br label %5280

3162:                                             ; preds = %3152
  %3163 = landingpad { ptr, i32 }
          cleanup
  %3164 = extractvalue { ptr, i32 } %3163, 0
  store ptr %3164, ptr %5, align 8
  %3165 = extractvalue { ptr, i32 } %3163, 1
  store i32 %3165, ptr %6, align 4
  br label %3202

3166:                                             ; preds = %3159
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %312)
          to label %3167 unwind label %3173

3167:                                             ; preds = %3166
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %314) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %314, ptr noundef nonnull align 8 dereferenceable(16) %310, ptr noundef @.str.98, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %3168 unwind label %3177

3168:                                             ; preds = %3167
  %3169 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %314)
          to label %3170 unwind label %3181

3170:                                             ; preds = %3168
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %313, i32 noundef 1, ptr noundef @.str.7, i32 noundef 136, ptr noundef %3169)
          to label %3171 unwind label %3181

3171:                                             ; preds = %3170
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %313, ptr noundef nonnull align 8 dereferenceable(8) %312)
          to label %3172 unwind label %3185

3172:                                             ; preds = %3171
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %313) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %314) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %314) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %312) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #10
  br label %3192

3173:                                             ; preds = %3166
  %3174 = landingpad { ptr, i32 }
          cleanup
  %3175 = extractvalue { ptr, i32 } %3174, 0
  store ptr %3175, ptr %5, align 8
  %3176 = extractvalue { ptr, i32 } %3174, 1
  store i32 %3176, ptr %6, align 4
  br label %3191

3177:                                             ; preds = %3167
  %3178 = landingpad { ptr, i32 }
          cleanup
  %3179 = extractvalue { ptr, i32 } %3178, 0
  store ptr %3179, ptr %5, align 8
  %3180 = extractvalue { ptr, i32 } %3178, 1
  store i32 %3180, ptr %6, align 4
  br label %3190

3181:                                             ; preds = %3170, %3168
  %3182 = landingpad { ptr, i32 }
          cleanup
  %3183 = extractvalue { ptr, i32 } %3182, 0
  store ptr %3183, ptr %5, align 8
  %3184 = extractvalue { ptr, i32 } %3182, 1
  store i32 %3184, ptr %6, align 4
  br label %3189

3185:                                             ; preds = %3171
  %3186 = landingpad { ptr, i32 }
          cleanup
  %3187 = extractvalue { ptr, i32 } %3186, 0
  store ptr %3187, ptr %5, align 8
  %3188 = extractvalue { ptr, i32 } %3186, 1
  store i32 %3188, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %313) #10
  br label %3189

3189:                                             ; preds = %3185, %3181
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %314) #10
  br label %3190

3190:                                             ; preds = %3189, %3177
  call void @llvm.lifetime.end.p0(i64 16, ptr %314) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %312) #10
  br label %3191

3191:                                             ; preds = %3190, %3173
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #10
  br label %3202

3192:                                             ; preds = %3172, %3160
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %310) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %310) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %315) #10
  %3193 = load ptr, ptr %212, align 8, !tbaa !5
  %3194 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3193, i32 0, i32 9
  %3195 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3194, i64 noundef 0) #10
  %3196 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3195, i32 0, i32 2
  %3197 = load i64, ptr %3196, align 8, !tbaa !41
  %3198 = icmp ne i64 %3197, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %315, i1 noundef zeroext %3198)
  %3199 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %315)
          to label %3200 unwind label %3203

3200:                                             ; preds = %3192
  br i1 %3199, label %3201, label %3207

3201:                                             ; preds = %3200
  br label %3233

3202:                                             ; preds = %3191, %3162
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %310) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %310) #10
  br label %5280

3203:                                             ; preds = %3192
  %3204 = landingpad { ptr, i32 }
          cleanup
  %3205 = extractvalue { ptr, i32 } %3204, 0
  store ptr %3205, ptr %5, align 8
  %3206 = extractvalue { ptr, i32 } %3204, 1
  store i32 %3206, ptr %6, align 4
  br label %3246

3207:                                             ; preds = %3200
  call void @llvm.lifetime.start.p0(i64 8, ptr %316) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %316)
          to label %3208 unwind label %3214

3208:                                             ; preds = %3207
  call void @llvm.lifetime.start.p0(i64 8, ptr %317) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %318) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %318, ptr noundef nonnull align 8 dereferenceable(16) %315, ptr noundef @.str.99, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %3209 unwind label %3218

3209:                                             ; preds = %3208
  %3210 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %318)
          to label %3211 unwind label %3222

3211:                                             ; preds = %3209
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %317, i32 noundef 1, ptr noundef @.str.7, i32 noundef 137, ptr noundef %3210)
          to label %3212 unwind label %3222

3212:                                             ; preds = %3211
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %317, ptr noundef nonnull align 8 dereferenceable(8) %316)
          to label %3213 unwind label %3226

3213:                                             ; preds = %3212
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %317) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %318) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %318) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %316) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %316) #10
  br label %3233

3214:                                             ; preds = %3207
  %3215 = landingpad { ptr, i32 }
          cleanup
  %3216 = extractvalue { ptr, i32 } %3215, 0
  store ptr %3216, ptr %5, align 8
  %3217 = extractvalue { ptr, i32 } %3215, 1
  store i32 %3217, ptr %6, align 4
  br label %3232

3218:                                             ; preds = %3208
  %3219 = landingpad { ptr, i32 }
          cleanup
  %3220 = extractvalue { ptr, i32 } %3219, 0
  store ptr %3220, ptr %5, align 8
  %3221 = extractvalue { ptr, i32 } %3219, 1
  store i32 %3221, ptr %6, align 4
  br label %3231

3222:                                             ; preds = %3211, %3209
  %3223 = landingpad { ptr, i32 }
          cleanup
  %3224 = extractvalue { ptr, i32 } %3223, 0
  store ptr %3224, ptr %5, align 8
  %3225 = extractvalue { ptr, i32 } %3223, 1
  store i32 %3225, ptr %6, align 4
  br label %3230

3226:                                             ; preds = %3212
  %3227 = landingpad { ptr, i32 }
          cleanup
  %3228 = extractvalue { ptr, i32 } %3227, 0
  store ptr %3228, ptr %5, align 8
  %3229 = extractvalue { ptr, i32 } %3227, 1
  store i32 %3229, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %317) #10
  br label %3230

3230:                                             ; preds = %3226, %3222
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %318) #10
  br label %3231

3231:                                             ; preds = %3230, %3218
  call void @llvm.lifetime.end.p0(i64 16, ptr %318) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %317) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %316) #10
  br label %3232

3232:                                             ; preds = %3231, %3214
  call void @llvm.lifetime.end.p0(i64 8, ptr %316) #10
  br label %3246

3233:                                             ; preds = %3213, %3201
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %315) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %315) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %319) #10
  %3234 = load ptr, ptr %21, align 8, !tbaa !5
  %3235 = load ptr, ptr %212, align 8, !tbaa !5
  %3236 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3235, i32 0, i32 9
  %3237 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3236, i64 noundef 0) #10
  %3238 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3237, i32 0, i32 2
  %3239 = load i64, ptr %3238, align 8, !tbaa !41
  %3240 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %3234, i64 noundef %3239, i1 noundef zeroext false)
  store ptr %3240, ptr %319, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %320) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %321) #10
  store i64 3, ptr %321, align 8, !tbaa !24
  %3241 = load ptr, ptr %319, align 8, !tbaa !5
  %3242 = getelementptr inbounds %"class.cascadb::Node", ptr %3241, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %320, ptr noundef @.str.100, ptr noundef @.str.101, ptr noundef nonnull align 8 dereferenceable(8) %321, ptr noundef nonnull align 8 dereferenceable(8) %3242)
  call void @llvm.lifetime.end.p0(i64 8, ptr %321) #10
  %3243 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %320)
          to label %3244 unwind label %3247

3244:                                             ; preds = %3233
  br i1 %3243, label %3245, label %3251

3245:                                             ; preds = %3244
  br label %3271

3246:                                             ; preds = %3232, %3203
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %315) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %315) #10
  br label %5280

3247:                                             ; preds = %3233
  %3248 = landingpad { ptr, i32 }
          cleanup
  %3249 = extractvalue { ptr, i32 } %3248, 0
  store ptr %3249, ptr %5, align 8
  %3250 = extractvalue { ptr, i32 } %3248, 1
  store i32 %3250, ptr %6, align 4
  br label %3279

3251:                                             ; preds = %3244
  call void @llvm.lifetime.start.p0(i64 8, ptr %322) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %322)
          to label %3252 unwind label %3257

3252:                                             ; preds = %3251
  call void @llvm.lifetime.start.p0(i64 8, ptr %323) #10
  %3253 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %320)
          to label %3254 unwind label %3261

3254:                                             ; preds = %3252
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %323, i32 noundef 1, ptr noundef @.str.7, i32 noundef 139, ptr noundef %3253)
          to label %3255 unwind label %3261

3255:                                             ; preds = %3254
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %323, ptr noundef nonnull align 8 dereferenceable(8) %322)
          to label %3256 unwind label %3265

3256:                                             ; preds = %3255
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %323) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %322) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #10
  br label %3271

3257:                                             ; preds = %3251
  %3258 = landingpad { ptr, i32 }
          cleanup
  %3259 = extractvalue { ptr, i32 } %3258, 0
  store ptr %3259, ptr %5, align 8
  %3260 = extractvalue { ptr, i32 } %3258, 1
  store i32 %3260, ptr %6, align 4
  br label %3270

3261:                                             ; preds = %3254, %3252
  %3262 = landingpad { ptr, i32 }
          cleanup
  %3263 = extractvalue { ptr, i32 } %3262, 0
  store ptr %3263, ptr %5, align 8
  %3264 = extractvalue { ptr, i32 } %3262, 1
  store i32 %3264, ptr %6, align 4
  br label %3269

3265:                                             ; preds = %3255
  %3266 = landingpad { ptr, i32 }
          cleanup
  %3267 = extractvalue { ptr, i32 } %3266, 0
  store ptr %3267, ptr %5, align 8
  %3268 = extractvalue { ptr, i32 } %3266, 1
  store i32 %3268, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %323) #10
  br label %3269

3269:                                             ; preds = %3265, %3261
  call void @llvm.lifetime.end.p0(i64 8, ptr %323) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %322) #10
  br label %3270

3270:                                             ; preds = %3269, %3257
  call void @llvm.lifetime.end.p0(i64 8, ptr %322) #10
  br label %3279

3271:                                             ; preds = %3256, %3245
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %320) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %320) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %324) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #10
  store i32 1, ptr %325, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %326) #10
  %3272 = load ptr, ptr %319, align 8, !tbaa !5
  %3273 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3272, i32 0, i32 3
  %3274 = load ptr, ptr %3273, align 8, !tbaa !26
  %3275 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %3274)
  store i64 %3275, ptr %326, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %324, ptr noundef @.str.52, ptr noundef @.str.102, ptr noundef nonnull align 4 dereferenceable(4) %325, ptr noundef nonnull align 8 dereferenceable(8) %326)
  call void @llvm.lifetime.end.p0(i64 8, ptr %326) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #10
  %3276 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %324)
          to label %3277 unwind label %3280

3277:                                             ; preds = %3271
  br i1 %3276, label %3278, label %3284

3278:                                             ; preds = %3277
  br label %3304

3279:                                             ; preds = %3270, %3247
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %320) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %320) #10
  br label %5279

3280:                                             ; preds = %3271
  %3281 = landingpad { ptr, i32 }
          cleanup
  %3282 = extractvalue { ptr, i32 } %3281, 0
  store ptr %3282, ptr %5, align 8
  %3283 = extractvalue { ptr, i32 } %3281, 1
  store i32 %3283, ptr %6, align 4
  br label %3313

3284:                                             ; preds = %3277
  call void @llvm.lifetime.start.p0(i64 8, ptr %327) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %327)
          to label %3285 unwind label %3290

3285:                                             ; preds = %3284
  call void @llvm.lifetime.start.p0(i64 8, ptr %328) #10
  %3286 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %324)
          to label %3287 unwind label %3294

3287:                                             ; preds = %3285
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %328, i32 noundef 1, ptr noundef @.str.7, i32 noundef 140, ptr noundef %3286)
          to label %3288 unwind label %3294

3288:                                             ; preds = %3287
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %328, ptr noundef nonnull align 8 dereferenceable(8) %327)
          to label %3289 unwind label %3298

3289:                                             ; preds = %3288
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %328) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %328) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %327) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #10
  br label %3304

3290:                                             ; preds = %3284
  %3291 = landingpad { ptr, i32 }
          cleanup
  %3292 = extractvalue { ptr, i32 } %3291, 0
  store ptr %3292, ptr %5, align 8
  %3293 = extractvalue { ptr, i32 } %3291, 1
  store i32 %3293, ptr %6, align 4
  br label %3303

3294:                                             ; preds = %3287, %3285
  %3295 = landingpad { ptr, i32 }
          cleanup
  %3296 = extractvalue { ptr, i32 } %3295, 0
  store ptr %3296, ptr %5, align 8
  %3297 = extractvalue { ptr, i32 } %3295, 1
  store i32 %3297, ptr %6, align 4
  br label %3302

3298:                                             ; preds = %3288
  %3299 = landingpad { ptr, i32 }
          cleanup
  %3300 = extractvalue { ptr, i32 } %3299, 0
  store ptr %3300, ptr %5, align 8
  %3301 = extractvalue { ptr, i32 } %3299, 1
  store i32 %3301, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %328) #10
  br label %3302

3302:                                             ; preds = %3298, %3294
  call void @llvm.lifetime.end.p0(i64 8, ptr %328) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %327) #10
  br label %3303

3303:                                             ; preds = %3302, %3290
  call void @llvm.lifetime.end.p0(i64 8, ptr %327) #10
  br label %3313

3304:                                             ; preds = %3289, %3278
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %324) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %324) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %329) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #10
  store i32 1, ptr %330, align 4, !tbaa !45
  %3305 = load ptr, ptr %319, align 8, !tbaa !5
  %3306 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3305, i32 0, i32 3
  %3307 = load ptr, ptr %3306, align 8, !tbaa !26
  %3308 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3307, i64 noundef 0)
  %3309 = getelementptr inbounds %"class.cascadb::Msg", ptr %3308, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %329, ptr noundef @.str.103, ptr noundef @.str.104, ptr noundef nonnull align 4 dereferenceable(4) %330, ptr noundef nonnull align 4 dereferenceable(4) %3309)
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #10
  %3310 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %329)
          to label %3311 unwind label %3314

3311:                                             ; preds = %3304
  br i1 %3310, label %3312, label %3318

3312:                                             ; preds = %3311
  br label %3338

3313:                                             ; preds = %3303, %3280
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %324) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %324) #10
  br label %5279

3314:                                             ; preds = %3304
  %3315 = landingpad { ptr, i32 }
          cleanup
  %3316 = extractvalue { ptr, i32 } %3315, 0
  store ptr %3316, ptr %5, align 8
  %3317 = extractvalue { ptr, i32 } %3315, 1
  store i32 %3317, ptr %6, align 4
  br label %3347

3318:                                             ; preds = %3311
  call void @llvm.lifetime.start.p0(i64 8, ptr %331) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %3319 unwind label %3324

3319:                                             ; preds = %3318
  call void @llvm.lifetime.start.p0(i64 8, ptr %332) #10
  %3320 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %329)
          to label %3321 unwind label %3328

3321:                                             ; preds = %3319
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %332, i32 noundef 1, ptr noundef @.str.7, i32 noundef 141, ptr noundef %3320)
          to label %3322 unwind label %3328

3322:                                             ; preds = %3321
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %3323 unwind label %3332

3323:                                             ; preds = %3322
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %332) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %331) #10
  br label %3338

3324:                                             ; preds = %3318
  %3325 = landingpad { ptr, i32 }
          cleanup
  %3326 = extractvalue { ptr, i32 } %3325, 0
  store ptr %3326, ptr %5, align 8
  %3327 = extractvalue { ptr, i32 } %3325, 1
  store i32 %3327, ptr %6, align 4
  br label %3337

3328:                                             ; preds = %3321, %3319
  %3329 = landingpad { ptr, i32 }
          cleanup
  %3330 = extractvalue { ptr, i32 } %3329, 0
  store ptr %3330, ptr %5, align 8
  %3331 = extractvalue { ptr, i32 } %3329, 1
  store i32 %3331, ptr %6, align 4
  br label %3336

3332:                                             ; preds = %3322
  %3333 = landingpad { ptr, i32 }
          cleanup
  %3334 = extractvalue { ptr, i32 } %3333, 0
  store ptr %3334, ptr %5, align 8
  %3335 = extractvalue { ptr, i32 } %3333, 1
  store i32 %3335, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %332) #10
  br label %3336

3336:                                             ; preds = %3332, %3328
  call void @llvm.lifetime.end.p0(i64 8, ptr %332) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331) #10
  br label %3337

3337:                                             ; preds = %3336, %3324
  call void @llvm.lifetime.end.p0(i64 8, ptr %331) #10
  br label %3347

3338:                                             ; preds = %3323, %3312
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %329) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %329) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %333) #10
  %3339 = load ptr, ptr %319, align 8, !tbaa !5
  %3340 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3339, i32 0, i32 3
  %3341 = load ptr, ptr %3340, align 8, !tbaa !26
  %3342 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3341, i64 noundef 0)
  %3343 = getelementptr inbounds %"class.cascadb::Msg", ptr %3342, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %333, ptr noundef @.str.60, ptr noundef @.str.105, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %3343)
  %3344 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %333)
          to label %3345 unwind label %3348

3345:                                             ; preds = %3338
  br i1 %3344, label %3346, label %3352

3346:                                             ; preds = %3345
  br label %3372

3347:                                             ; preds = %3337, %3314
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %329) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %329) #10
  br label %5279

3348:                                             ; preds = %3338
  %3349 = landingpad { ptr, i32 }
          cleanup
  %3350 = extractvalue { ptr, i32 } %3349, 0
  store ptr %3350, ptr %5, align 8
  %3351 = extractvalue { ptr, i32 } %3349, 1
  store i32 %3351, ptr %6, align 4
  br label %3381

3352:                                             ; preds = %3345
  call void @llvm.lifetime.start.p0(i64 8, ptr %334) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %334)
          to label %3353 unwind label %3358

3353:                                             ; preds = %3352
  call void @llvm.lifetime.start.p0(i64 8, ptr %335) #10
  %3354 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %333)
          to label %3355 unwind label %3362

3355:                                             ; preds = %3353
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %335, i32 noundef 1, ptr noundef @.str.7, i32 noundef 141, ptr noundef %3354)
          to label %3356 unwind label %3362

3356:                                             ; preds = %3355
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %335, ptr noundef nonnull align 8 dereferenceable(8) %334)
          to label %3357 unwind label %3366

3357:                                             ; preds = %3356
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %335) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %334) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #10
  br label %3372

3358:                                             ; preds = %3352
  %3359 = landingpad { ptr, i32 }
          cleanup
  %3360 = extractvalue { ptr, i32 } %3359, 0
  store ptr %3360, ptr %5, align 8
  %3361 = extractvalue { ptr, i32 } %3359, 1
  store i32 %3361, ptr %6, align 4
  br label %3371

3362:                                             ; preds = %3355, %3353
  %3363 = landingpad { ptr, i32 }
          cleanup
  %3364 = extractvalue { ptr, i32 } %3363, 0
  store ptr %3364, ptr %5, align 8
  %3365 = extractvalue { ptr, i32 } %3363, 1
  store i32 %3365, ptr %6, align 4
  br label %3370

3366:                                             ; preds = %3356
  %3367 = landingpad { ptr, i32 }
          cleanup
  %3368 = extractvalue { ptr, i32 } %3367, 0
  store ptr %3368, ptr %5, align 8
  %3369 = extractvalue { ptr, i32 } %3367, 1
  store i32 %3369, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %335) #10
  br label %3370

3370:                                             ; preds = %3366, %3362
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %334) #10
  br label %3371

3371:                                             ; preds = %3370, %3358
  call void @llvm.lifetime.end.p0(i64 8, ptr %334) #10
  br label %3381

3372:                                             ; preds = %3357, %3346
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %333) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %333) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %336) #10
  %3373 = load ptr, ptr %319, align 8, !tbaa !5
  %3374 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3373, i32 0, i32 3
  %3375 = load ptr, ptr %3374, align 8, !tbaa !26
  %3376 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3375, i64 noundef 0)
  %3377 = getelementptr inbounds %"class.cascadb::Msg", ptr %3376, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %336, ptr noundef @.str.87, ptr noundef @.str.106, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %3377)
  %3378 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %336)
          to label %3379 unwind label %3382

3379:                                             ; preds = %3372
  br i1 %3378, label %3380, label %3386

3380:                                             ; preds = %3379
  br label %3406

3381:                                             ; preds = %3371, %3348
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %333) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %333) #10
  br label %5279

3382:                                             ; preds = %3372
  %3383 = landingpad { ptr, i32 }
          cleanup
  %3384 = extractvalue { ptr, i32 } %3383, 0
  store ptr %3384, ptr %5, align 8
  %3385 = extractvalue { ptr, i32 } %3383, 1
  store i32 %3385, ptr %6, align 4
  br label %3414

3386:                                             ; preds = %3379
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %337)
          to label %3387 unwind label %3392

3387:                                             ; preds = %3386
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #10
  %3388 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %336)
          to label %3389 unwind label %3396

3389:                                             ; preds = %3387
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %338, i32 noundef 1, ptr noundef @.str.7, i32 noundef 141, ptr noundef %3388)
          to label %3390 unwind label %3396

3390:                                             ; preds = %3389
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %338, ptr noundef nonnull align 8 dereferenceable(8) %337)
          to label %3391 unwind label %3400

3391:                                             ; preds = %3390
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %338) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %337) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #10
  br label %3406

3392:                                             ; preds = %3386
  %3393 = landingpad { ptr, i32 }
          cleanup
  %3394 = extractvalue { ptr, i32 } %3393, 0
  store ptr %3394, ptr %5, align 8
  %3395 = extractvalue { ptr, i32 } %3393, 1
  store i32 %3395, ptr %6, align 4
  br label %3405

3396:                                             ; preds = %3389, %3387
  %3397 = landingpad { ptr, i32 }
          cleanup
  %3398 = extractvalue { ptr, i32 } %3397, 0
  store ptr %3398, ptr %5, align 8
  %3399 = extractvalue { ptr, i32 } %3397, 1
  store i32 %3399, ptr %6, align 4
  br label %3404

3400:                                             ; preds = %3390
  %3401 = landingpad { ptr, i32 }
          cleanup
  %3402 = extractvalue { ptr, i32 } %3401, 0
  store ptr %3402, ptr %5, align 8
  %3403 = extractvalue { ptr, i32 } %3401, 1
  store i32 %3403, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %338) #10
  br label %3404

3404:                                             ; preds = %3400, %3396
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %337) #10
  br label %3405

3405:                                             ; preds = %3404, %3392
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #10
  br label %3414

3406:                                             ; preds = %3391, %3380
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %336) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %336) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %339) #10
  %3407 = load ptr, ptr %133, align 8, !tbaa !5
  %3408 = getelementptr inbounds %"class.cascadb::Node", ptr %3407, i32 0, i32 2
  %3409 = load ptr, ptr %319, align 8, !tbaa !5
  %3410 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3409, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %339, ptr noundef @.str.58, ptr noundef @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %3408, ptr noundef nonnull align 8 dereferenceable(8) %3410)
  %3411 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %339)
          to label %3412 unwind label %3415

3412:                                             ; preds = %3406
  br i1 %3411, label %3413, label %3419

3413:                                             ; preds = %3412
  br label %3439

3414:                                             ; preds = %3405, %3382
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %336) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %336) #10
  br label %5279

3415:                                             ; preds = %3406
  %3416 = landingpad { ptr, i32 }
          cleanup
  %3417 = extractvalue { ptr, i32 } %3416, 0
  store ptr %3417, ptr %5, align 8
  %3418 = extractvalue { ptr, i32 } %3416, 1
  store i32 %3418, ptr %6, align 4
  br label %3446

3419:                                             ; preds = %3412
  call void @llvm.lifetime.start.p0(i64 8, ptr %340) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %340)
          to label %3420 unwind label %3425

3420:                                             ; preds = %3419
  call void @llvm.lifetime.start.p0(i64 8, ptr %341) #10
  %3421 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %339)
          to label %3422 unwind label %3429

3422:                                             ; preds = %3420
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %341, i32 noundef 1, ptr noundef @.str.7, i32 noundef 142, ptr noundef %3421)
          to label %3423 unwind label %3429

3423:                                             ; preds = %3422
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %341, ptr noundef nonnull align 8 dereferenceable(8) %340)
          to label %3424 unwind label %3433

3424:                                             ; preds = %3423
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %341) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %340) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %340) #10
  br label %3439

3425:                                             ; preds = %3419
  %3426 = landingpad { ptr, i32 }
          cleanup
  %3427 = extractvalue { ptr, i32 } %3426, 0
  store ptr %3427, ptr %5, align 8
  %3428 = extractvalue { ptr, i32 } %3426, 1
  store i32 %3428, ptr %6, align 4
  br label %3438

3429:                                             ; preds = %3422, %3420
  %3430 = landingpad { ptr, i32 }
          cleanup
  %3431 = extractvalue { ptr, i32 } %3430, 0
  store ptr %3431, ptr %5, align 8
  %3432 = extractvalue { ptr, i32 } %3430, 1
  store i32 %3432, ptr %6, align 4
  br label %3437

3433:                                             ; preds = %3423
  %3434 = landingpad { ptr, i32 }
          cleanup
  %3435 = extractvalue { ptr, i32 } %3434, 0
  store ptr %3435, ptr %5, align 8
  %3436 = extractvalue { ptr, i32 } %3434, 1
  store i32 %3436, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %341) #10
  br label %3437

3437:                                             ; preds = %3433, %3429
  call void @llvm.lifetime.end.p0(i64 8, ptr %341) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %340) #10
  br label %3438

3438:                                             ; preds = %3437, %3425
  call void @llvm.lifetime.end.p0(i64 8, ptr %340) #10
  br label %3446

3439:                                             ; preds = %3424, %3413
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %339) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %339) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %342) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #10
  store i32 0, ptr %343, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %344) #10
  %3440 = load ptr, ptr %319, align 8, !tbaa !5
  %3441 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3440, i32 0, i32 9
  %3442 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %3441) #10
  store i64 %3442, ptr %344, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %342, ptr noundef @.str.31, ptr noundef @.str.108, ptr noundef nonnull align 4 dereferenceable(4) %343, ptr noundef nonnull align 8 dereferenceable(8) %344, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %344) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #10
  %3443 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %342)
          to label %3444 unwind label %3447

3444:                                             ; preds = %3439
  br i1 %3443, label %3445, label %3451

3445:                                             ; preds = %3444
  br label %3471

3446:                                             ; preds = %3438, %3415
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %339) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %339) #10
  br label %5279

3447:                                             ; preds = %3439
  %3448 = landingpad { ptr, i32 }
          cleanup
  %3449 = extractvalue { ptr, i32 } %3448, 0
  store ptr %3449, ptr %5, align 8
  %3450 = extractvalue { ptr, i32 } %3448, 1
  store i32 %3450, ptr %6, align 4
  br label %3480

3451:                                             ; preds = %3444
  call void @llvm.lifetime.start.p0(i64 8, ptr %345) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %345)
          to label %3452 unwind label %3457

3452:                                             ; preds = %3451
  call void @llvm.lifetime.start.p0(i64 8, ptr %346) #10
  %3453 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %342)
          to label %3454 unwind label %3461

3454:                                             ; preds = %3452
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %346, i32 noundef 1, ptr noundef @.str.7, i32 noundef 143, ptr noundef %3453)
          to label %3455 unwind label %3461

3455:                                             ; preds = %3454
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %346, ptr noundef nonnull align 8 dereferenceable(8) %345)
          to label %3456 unwind label %3465

3456:                                             ; preds = %3455
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %346) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %345) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %345) #10
  br label %3471

3457:                                             ; preds = %3451
  %3458 = landingpad { ptr, i32 }
          cleanup
  %3459 = extractvalue { ptr, i32 } %3458, 0
  store ptr %3459, ptr %5, align 8
  %3460 = extractvalue { ptr, i32 } %3458, 1
  store i32 %3460, ptr %6, align 4
  br label %3470

3461:                                             ; preds = %3454, %3452
  %3462 = landingpad { ptr, i32 }
          cleanup
  %3463 = extractvalue { ptr, i32 } %3462, 0
  store ptr %3463, ptr %5, align 8
  %3464 = extractvalue { ptr, i32 } %3462, 1
  store i32 %3464, ptr %6, align 4
  br label %3469

3465:                                             ; preds = %3455
  %3466 = landingpad { ptr, i32 }
          cleanup
  %3467 = extractvalue { ptr, i32 } %3466, 0
  store ptr %3467, ptr %5, align 8
  %3468 = extractvalue { ptr, i32 } %3466, 1
  store i32 %3468, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %346) #10
  br label %3469

3469:                                             ; preds = %3465, %3461
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %345) #10
  br label %3470

3470:                                             ; preds = %3469, %3457
  call void @llvm.lifetime.end.p0(i64 8, ptr %345) #10
  br label %3480

3471:                                             ; preds = %3456, %3445
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %342) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %342) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %347) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #10
  store i32 42, ptr %348, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %349) #10
  %3472 = load ptr, ptr %319, align 8, !tbaa !5
  %3473 = load ptr, ptr %3472, align 8, !tbaa !18
  %3474 = getelementptr inbounds ptr, ptr %3473, i64 2
  %3475 = load ptr, ptr %3474, align 8
  %3476 = call noundef i64 %3475(ptr noundef nonnull align 8 dereferenceable(312) %3472)
  store i64 %3476, ptr %349, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %347, ptr noundef @.str.109, ptr noundef @.str.110, ptr noundef nonnull align 4 dereferenceable(4) %348, ptr noundef nonnull align 8 dereferenceable(8) %349)
  call void @llvm.lifetime.end.p0(i64 8, ptr %349) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #10
  %3477 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %347)
          to label %3478 unwind label %3481

3478:                                             ; preds = %3471
  br i1 %3477, label %3479, label %3485

3479:                                             ; preds = %3478
  br label %3505

3480:                                             ; preds = %3470, %3447
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %342) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %342) #10
  br label %5279

3481:                                             ; preds = %3471
  %3482 = landingpad { ptr, i32 }
          cleanup
  %3483 = extractvalue { ptr, i32 } %3482, 0
  store ptr %3483, ptr %5, align 8
  %3484 = extractvalue { ptr, i32 } %3482, 1
  store i32 %3484, ptr %6, align 4
  br label %3551

3485:                                             ; preds = %3478
  call void @llvm.lifetime.start.p0(i64 8, ptr %350) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %350)
          to label %3486 unwind label %3491

3486:                                             ; preds = %3485
  call void @llvm.lifetime.start.p0(i64 8, ptr %351) #10
  %3487 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %347)
          to label %3488 unwind label %3495

3488:                                             ; preds = %3486
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %351, i32 noundef 1, ptr noundef @.str.7, i32 noundef 144, ptr noundef %3487)
          to label %3489 unwind label %3495

3489:                                             ; preds = %3488
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %351, ptr noundef nonnull align 8 dereferenceable(8) %350)
          to label %3490 unwind label %3499

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

3491:                                             ; preds = %3485
  %3492 = landingpad { ptr, i32 }
          cleanup
  %3493 = extractvalue { ptr, i32 } %3492, 0
  store ptr %3493, ptr %5, align 8
  %3494 = extractvalue { ptr, i32 } %3492, 1
  store i32 %3494, ptr %6, align 4
  br label %3504

3495:                                             ; preds = %3488, %3486
  %3496 = landingpad { ptr, i32 }
          cleanup
  %3497 = extractvalue { ptr, i32 } %3496, 0
  store ptr %3497, ptr %5, align 8
  %3498 = extractvalue { ptr, i32 } %3496, 1
  store i32 %3498, ptr %6, align 4
  br label %3503

3499:                                             ; preds = %3489
  %3500 = landingpad { ptr, i32 }
          cleanup
  %3501 = extractvalue { ptr, i32 } %3500, 0
  store ptr %3501, ptr %5, align 8
  %3502 = extractvalue { ptr, i32 } %3500, 1
  store i32 %3502, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %351) #10
  br label %3503

3503:                                             ; preds = %3499, %3495
  call void @llvm.lifetime.end.p0(i64 8, ptr %351) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %350) #10
  br label %3504

3504:                                             ; preds = %3503, %3491
  call void @llvm.lifetime.end.p0(i64 8, ptr %350) #10
  br label %3551

3505:                                             ; preds = %3490, %3479
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %347) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %347) #10
  %3506 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %352, ptr noundef @.str.111)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %353, ptr noundef @.str.4)
  %3507 = getelementptr inbounds { ptr, i32 }, ptr %352, i32 0, i32 0
  %3508 = load ptr, ptr %3507, align 8
  %3509 = getelementptr inbounds { ptr, i32 }, ptr %352, i32 0, i32 1
  %3510 = load i32, ptr %3509, align 8
  %3511 = getelementptr inbounds { ptr, i32 }, ptr %353, i32 0, i32 0
  %3512 = load ptr, ptr %3511, align 8
  %3513 = getelementptr inbounds { ptr, i32 }, ptr %353, i32 0, i32 1
  %3514 = load i32, ptr %3513, align 8
  %3515 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %3506, ptr %3508, i32 %3510, ptr %3512, i32 %3514)
  %3516 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %354, ptr noundef @.str.73)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %355, ptr noundef @.str.72)
  %3517 = getelementptr inbounds { ptr, i32 }, ptr %354, i32 0, i32 0
  %3518 = load ptr, ptr %3517, align 8
  %3519 = getelementptr inbounds { ptr, i32 }, ptr %354, i32 0, i32 1
  %3520 = load i32, ptr %3519, align 8
  %3521 = getelementptr inbounds { ptr, i32 }, ptr %355, i32 0, i32 0
  %3522 = load ptr, ptr %3521, align 8
  %3523 = getelementptr inbounds { ptr, i32 }, ptr %355, i32 0, i32 1
  %3524 = load i32, ptr %3523, align 8
  %3525 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %3516, ptr %3518, i32 %3520, ptr %3522, i32 %3524)
  %3526 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %356, ptr noundef @.str.112)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %357, ptr noundef @.str.4)
  %3527 = getelementptr inbounds { ptr, i32 }, ptr %356, i32 0, i32 0
  %3528 = load ptr, ptr %3527, align 8
  %3529 = getelementptr inbounds { ptr, i32 }, ptr %356, i32 0, i32 1
  %3530 = load i32, ptr %3529, align 8
  %3531 = getelementptr inbounds { ptr, i32 }, ptr %357, i32 0, i32 0
  %3532 = load ptr, ptr %3531, align 8
  %3533 = getelementptr inbounds { ptr, i32 }, ptr %357, i32 0, i32 1
  %3534 = load i32, ptr %3533, align 8
  %3535 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %3526, ptr %3528, i32 %3530, ptr %3532, i32 %3534)
  %3536 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %358, ptr noundef @.str.49)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %359, ptr noundef @.str.72)
  %3537 = getelementptr inbounds { ptr, i32 }, ptr %358, i32 0, i32 0
  %3538 = load ptr, ptr %3537, align 8
  %3539 = getelementptr inbounds { ptr, i32 }, ptr %358, i32 0, i32 1
  %3540 = load i32, ptr %3539, align 8
  %3541 = getelementptr inbounds { ptr, i32 }, ptr %359, i32 0, i32 0
  %3542 = load ptr, ptr %3541, align 8
  %3543 = getelementptr inbounds { ptr, i32 }, ptr %359, i32 0, i32 1
  %3544 = load i32, ptr %3543, align 8
  %3545 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %3536, ptr %3538, i32 %3540, ptr %3542, i32 %3544)
  call void @llvm.lifetime.start.p0(i64 16, ptr %360) #10
  %3546 = load ptr, ptr %21, align 8, !tbaa !5
  %3547 = getelementptr inbounds %"class.cascadb::Tree", ptr %3546, i32 0, i32 7
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIPN7cascadb9InnerNodeES6_EENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %360, ptr noundef @.str.76, ptr noundef @.str.113, ptr noundef nonnull align 8 dereferenceable(8) %3547, ptr noundef nonnull align 8 dereferenceable(8) %212)
  %3548 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %360)
          to label %3549 unwind label %3552

3549:                                             ; preds = %3505
  br i1 %3548, label %3550, label %3556

3550:                                             ; preds = %3549
  br label %3576

3551:                                             ; preds = %3504, %3481
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %347) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %347) #10
  br label %5279

3552:                                             ; preds = %3505
  %3553 = landingpad { ptr, i32 }
          cleanup
  %3554 = extractvalue { ptr, i32 } %3553, 0
  store ptr %3554, ptr %5, align 8
  %3555 = extractvalue { ptr, i32 } %3553, 1
  store i32 %3555, ptr %6, align 4
  br label %3582

3556:                                             ; preds = %3549
  call void @llvm.lifetime.start.p0(i64 8, ptr %361) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %361)
          to label %3557 unwind label %3562

3557:                                             ; preds = %3556
  call void @llvm.lifetime.start.p0(i64 8, ptr %362) #10
  %3558 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %360)
          to label %3559 unwind label %3566

3559:                                             ; preds = %3557
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %362, i32 noundef 1, ptr noundef @.str.7, i32 noundef 151, ptr noundef %3558)
          to label %3560 unwind label %3566

3560:                                             ; preds = %3559
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %362, ptr noundef nonnull align 8 dereferenceable(8) %361)
          to label %3561 unwind label %3570

3561:                                             ; preds = %3560
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %362) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %362) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %361) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %361) #10
  br label %3576

3562:                                             ; preds = %3556
  %3563 = landingpad { ptr, i32 }
          cleanup
  %3564 = extractvalue { ptr, i32 } %3563, 0
  store ptr %3564, ptr %5, align 8
  %3565 = extractvalue { ptr, i32 } %3563, 1
  store i32 %3565, ptr %6, align 4
  br label %3575

3566:                                             ; preds = %3559, %3557
  %3567 = landingpad { ptr, i32 }
          cleanup
  %3568 = extractvalue { ptr, i32 } %3567, 0
  store ptr %3568, ptr %5, align 8
  %3569 = extractvalue { ptr, i32 } %3567, 1
  store i32 %3569, ptr %6, align 4
  br label %3574

3570:                                             ; preds = %3560
  %3571 = landingpad { ptr, i32 }
          cleanup
  %3572 = extractvalue { ptr, i32 } %3571, 0
  store ptr %3572, ptr %5, align 8
  %3573 = extractvalue { ptr, i32 } %3571, 1
  store i32 %3573, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %362) #10
  br label %3574

3574:                                             ; preds = %3570, %3566
  call void @llvm.lifetime.end.p0(i64 8, ptr %362) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %361) #10
  br label %3575

3575:                                             ; preds = %3574, %3562
  call void @llvm.lifetime.end.p0(i64 8, ptr %361) #10
  br label %3582

3576:                                             ; preds = %3561, %3550
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %360) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %360) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %363) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %364) #10
  store i64 4, ptr %364, align 8, !tbaa !24
  %3577 = load ptr, ptr %212, align 8, !tbaa !5
  %3578 = getelementptr inbounds %"class.cascadb::Node", ptr %3577, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %363, ptr noundef @.str.78, ptr noundef @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %364, ptr noundef nonnull align 8 dereferenceable(8) %3578)
  call void @llvm.lifetime.end.p0(i64 8, ptr %364) #10
  %3579 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %363)
          to label %3580 unwind label %3583

3580:                                             ; preds = %3576
  br i1 %3579, label %3581, label %3587

3581:                                             ; preds = %3580
  br label %3607

3582:                                             ; preds = %3575, %3552
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %360) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %360) #10
  br label %5279

3583:                                             ; preds = %3576
  %3584 = landingpad { ptr, i32 }
          cleanup
  %3585 = extractvalue { ptr, i32 } %3584, 0
  store ptr %3585, ptr %5, align 8
  %3586 = extractvalue { ptr, i32 } %3584, 1
  store i32 %3586, ptr %6, align 4
  br label %3615

3587:                                             ; preds = %3580
  call void @llvm.lifetime.start.p0(i64 8, ptr %365) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %365)
          to label %3588 unwind label %3593

3588:                                             ; preds = %3587
  call void @llvm.lifetime.start.p0(i64 8, ptr %366) #10
  %3589 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %363)
          to label %3590 unwind label %3597

3590:                                             ; preds = %3588
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %366, i32 noundef 1, ptr noundef @.str.7, i32 noundef 152, ptr noundef %3589)
          to label %3591 unwind label %3597

3591:                                             ; preds = %3590
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %366, ptr noundef nonnull align 8 dereferenceable(8) %365)
          to label %3592 unwind label %3601

3592:                                             ; preds = %3591
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %366) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %365) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %365) #10
  br label %3607

3593:                                             ; preds = %3587
  %3594 = landingpad { ptr, i32 }
          cleanup
  %3595 = extractvalue { ptr, i32 } %3594, 0
  store ptr %3595, ptr %5, align 8
  %3596 = extractvalue { ptr, i32 } %3594, 1
  store i32 %3596, ptr %6, align 4
  br label %3606

3597:                                             ; preds = %3590, %3588
  %3598 = landingpad { ptr, i32 }
          cleanup
  %3599 = extractvalue { ptr, i32 } %3598, 0
  store ptr %3599, ptr %5, align 8
  %3600 = extractvalue { ptr, i32 } %3598, 1
  store i32 %3600, ptr %6, align 4
  br label %3605

3601:                                             ; preds = %3591
  %3602 = landingpad { ptr, i32 }
          cleanup
  %3603 = extractvalue { ptr, i32 } %3602, 0
  store ptr %3603, ptr %5, align 8
  %3604 = extractvalue { ptr, i32 } %3602, 1
  store i32 %3604, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %366) #10
  br label %3605

3605:                                             ; preds = %3601, %3597
  call void @llvm.lifetime.end.p0(i64 8, ptr %366) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %365) #10
  br label %3606

3606:                                             ; preds = %3605, %3593
  call void @llvm.lifetime.end.p0(i64 8, ptr %365) #10
  br label %3615

3607:                                             ; preds = %3592, %3581
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %363) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %363) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %367) #10
  %3608 = load ptr, ptr %212, align 8, !tbaa !5
  %3609 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3608, i32 0, i32 2
  %3610 = load ptr, ptr %29, align 8, !tbaa !5
  %3611 = getelementptr inbounds %"class.cascadb::Node", ptr %3610, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %367, ptr noundef @.str.80, ptr noundef @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %3609, ptr noundef nonnull align 8 dereferenceable(8) %3611)
  %3612 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %367)
          to label %3613 unwind label %3616

3613:                                             ; preds = %3607
  br i1 %3612, label %3614, label %3620

3614:                                             ; preds = %3613
  br label %3640

3615:                                             ; preds = %3606, %3583
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %363) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %363) #10
  br label %5279

3616:                                             ; preds = %3607
  %3617 = landingpad { ptr, i32 }
          cleanup
  %3618 = extractvalue { ptr, i32 } %3617, 0
  store ptr %3618, ptr %5, align 8
  %3619 = extractvalue { ptr, i32 } %3617, 1
  store i32 %3619, ptr %6, align 4
  br label %3648

3620:                                             ; preds = %3613
  call void @llvm.lifetime.start.p0(i64 8, ptr %368) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %368)
          to label %3621 unwind label %3626

3621:                                             ; preds = %3620
  call void @llvm.lifetime.start.p0(i64 8, ptr %369) #10
  %3622 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %367)
          to label %3623 unwind label %3630

3623:                                             ; preds = %3621
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %369, i32 noundef 1, ptr noundef @.str.7, i32 noundef 153, ptr noundef %3622)
          to label %3624 unwind label %3630

3624:                                             ; preds = %3623
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %369, ptr noundef nonnull align 8 dereferenceable(8) %368)
          to label %3625 unwind label %3634

3625:                                             ; preds = %3624
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %369) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %369) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %368) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %368) #10
  br label %3640

3626:                                             ; preds = %3620
  %3627 = landingpad { ptr, i32 }
          cleanup
  %3628 = extractvalue { ptr, i32 } %3627, 0
  store ptr %3628, ptr %5, align 8
  %3629 = extractvalue { ptr, i32 } %3627, 1
  store i32 %3629, ptr %6, align 4
  br label %3639

3630:                                             ; preds = %3623, %3621
  %3631 = landingpad { ptr, i32 }
          cleanup
  %3632 = extractvalue { ptr, i32 } %3631, 0
  store ptr %3632, ptr %5, align 8
  %3633 = extractvalue { ptr, i32 } %3631, 1
  store i32 %3633, ptr %6, align 4
  br label %3638

3634:                                             ; preds = %3624
  %3635 = landingpad { ptr, i32 }
          cleanup
  %3636 = extractvalue { ptr, i32 } %3635, 0
  store ptr %3636, ptr %5, align 8
  %3637 = extractvalue { ptr, i32 } %3635, 1
  store i32 %3637, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %369) #10
  br label %3638

3638:                                             ; preds = %3634, %3630
  call void @llvm.lifetime.end.p0(i64 8, ptr %369) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %368) #10
  br label %3639

3639:                                             ; preds = %3638, %3626
  call void @llvm.lifetime.end.p0(i64 8, ptr %368) #10
  br label %3648

3640:                                             ; preds = %3625, %3614
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %367) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %367) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %370) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #10
  store i32 0, ptr %371, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %372) #10
  %3641 = load ptr, ptr %212, align 8, !tbaa !5
  %3642 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3641, i32 0, i32 3
  %3643 = load ptr, ptr %3642, align 8, !tbaa !26
  %3644 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %3643)
  store i64 %3644, ptr %372, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %370, ptr noundef @.str.31, ptr noundef @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %371, ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %372) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #10
  %3645 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %370)
          to label %3646 unwind label %3649

3646:                                             ; preds = %3640
  br i1 %3645, label %3647, label %3653

3647:                                             ; preds = %3646
  br label %3673

3648:                                             ; preds = %3639, %3616
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %367) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %367) #10
  br label %5279

3649:                                             ; preds = %3640
  %3650 = landingpad { ptr, i32 }
          cleanup
  %3651 = extractvalue { ptr, i32 } %3650, 0
  store ptr %3651, ptr %5, align 8
  %3652 = extractvalue { ptr, i32 } %3650, 1
  store i32 %3652, ptr %6, align 4
  br label %3683

3653:                                             ; preds = %3646
  call void @llvm.lifetime.start.p0(i64 8, ptr %373) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %373)
          to label %3654 unwind label %3659

3654:                                             ; preds = %3653
  call void @llvm.lifetime.start.p0(i64 8, ptr %374) #10
  %3655 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %370)
          to label %3656 unwind label %3663

3656:                                             ; preds = %3654
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %374, i32 noundef 1, ptr noundef @.str.7, i32 noundef 154, ptr noundef %3655)
          to label %3657 unwind label %3663

3657:                                             ; preds = %3656
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %374, ptr noundef nonnull align 8 dereferenceable(8) %373)
          to label %3658 unwind label %3667

3658:                                             ; preds = %3657
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %374) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %374) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %373) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %373) #10
  br label %3673

3659:                                             ; preds = %3653
  %3660 = landingpad { ptr, i32 }
          cleanup
  %3661 = extractvalue { ptr, i32 } %3660, 0
  store ptr %3661, ptr %5, align 8
  %3662 = extractvalue { ptr, i32 } %3660, 1
  store i32 %3662, ptr %6, align 4
  br label %3672

3663:                                             ; preds = %3656, %3654
  %3664 = landingpad { ptr, i32 }
          cleanup
  %3665 = extractvalue { ptr, i32 } %3664, 0
  store ptr %3665, ptr %5, align 8
  %3666 = extractvalue { ptr, i32 } %3664, 1
  store i32 %3666, ptr %6, align 4
  br label %3671

3667:                                             ; preds = %3657
  %3668 = landingpad { ptr, i32 }
          cleanup
  %3669 = extractvalue { ptr, i32 } %3668, 0
  store ptr %3669, ptr %5, align 8
  %3670 = extractvalue { ptr, i32 } %3668, 1
  store i32 %3670, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %374) #10
  br label %3671

3671:                                             ; preds = %3667, %3663
  call void @llvm.lifetime.end.p0(i64 8, ptr %374) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %373) #10
  br label %3672

3672:                                             ; preds = %3671, %3659
  call void @llvm.lifetime.end.p0(i64 8, ptr %373) #10
  br label %3683

3673:                                             ; preds = %3658, %3647
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %370) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %370) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %375) #10
  %3674 = load ptr, ptr %212, align 8, !tbaa !5
  %3675 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3674, i32 0, i32 9
  %3676 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3675, i64 noundef 0) #10
  %3677 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3676, i32 0, i32 2
  %3678 = load ptr, ptr %319, align 8, !tbaa !5
  %3679 = getelementptr inbounds %"class.cascadb::Node", ptr %3678, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %375, ptr noundef @.str.114, ptr noundef @.str.101, ptr noundef nonnull align 8 dereferenceable(8) %3677, ptr noundef nonnull align 8 dereferenceable(8) %3679)
  %3680 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %375)
          to label %3681 unwind label %3684

3681:                                             ; preds = %3673
  br i1 %3680, label %3682, label %3688

3682:                                             ; preds = %3681
  br label %3708

3683:                                             ; preds = %3672, %3649
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %370) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %370) #10
  br label %5279

3684:                                             ; preds = %3673
  %3685 = landingpad { ptr, i32 }
          cleanup
  %3686 = extractvalue { ptr, i32 } %3685, 0
  store ptr %3686, ptr %5, align 8
  %3687 = extractvalue { ptr, i32 } %3685, 1
  store i32 %3687, ptr %6, align 4
  br label %3718

3688:                                             ; preds = %3681
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %376)
          to label %3689 unwind label %3694

3689:                                             ; preds = %3688
  call void @llvm.lifetime.start.p0(i64 8, ptr %377) #10
  %3690 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %375)
          to label %3691 unwind label %3698

3691:                                             ; preds = %3689
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %377, i32 noundef 1, ptr noundef @.str.7, i32 noundef 155, ptr noundef %3690)
          to label %3692 unwind label %3698

3692:                                             ; preds = %3691
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %377, ptr noundef nonnull align 8 dereferenceable(8) %376)
          to label %3693 unwind label %3702

3693:                                             ; preds = %3692
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %377) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %377) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %376) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #10
  br label %3708

3694:                                             ; preds = %3688
  %3695 = landingpad { ptr, i32 }
          cleanup
  %3696 = extractvalue { ptr, i32 } %3695, 0
  store ptr %3696, ptr %5, align 8
  %3697 = extractvalue { ptr, i32 } %3695, 1
  store i32 %3697, ptr %6, align 4
  br label %3707

3698:                                             ; preds = %3691, %3689
  %3699 = landingpad { ptr, i32 }
          cleanup
  %3700 = extractvalue { ptr, i32 } %3699, 0
  store ptr %3700, ptr %5, align 8
  %3701 = extractvalue { ptr, i32 } %3699, 1
  store i32 %3701, ptr %6, align 4
  br label %3706

3702:                                             ; preds = %3692
  %3703 = landingpad { ptr, i32 }
          cleanup
  %3704 = extractvalue { ptr, i32 } %3703, 0
  store ptr %3704, ptr %5, align 8
  %3705 = extractvalue { ptr, i32 } %3703, 1
  store i32 %3705, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %377) #10
  br label %3706

3706:                                             ; preds = %3702, %3698
  call void @llvm.lifetime.end.p0(i64 8, ptr %377) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %376) #10
  br label %3707

3707:                                             ; preds = %3706, %3694
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #10
  br label %3718

3708:                                             ; preds = %3693, %3682
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %375) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %375) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %378) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #10
  store i32 2, ptr %379, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %380) #10
  %3709 = load ptr, ptr %212, align 8, !tbaa !5
  %3710 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3709, i32 0, i32 9
  %3711 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3710, i64 noundef 0) #10
  %3712 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3711, i32 0, i32 3
  %3713 = load ptr, ptr %3712, align 8, !tbaa !43
  %3714 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %3713)
  store i64 %3714, ptr %380, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %378, ptr noundef @.str.86, ptr noundef @.str.115, ptr noundef nonnull align 4 dereferenceable(4) %379, ptr noundef nonnull align 8 dereferenceable(8) %380)
  call void @llvm.lifetime.end.p0(i64 8, ptr %380) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #10
  %3715 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %378)
          to label %3716 unwind label %3719

3716:                                             ; preds = %3708
  br i1 %3715, label %3717, label %3723

3717:                                             ; preds = %3716
  br label %3743

3718:                                             ; preds = %3707, %3684
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %375) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %375) #10
  br label %5279

3719:                                             ; preds = %3708
  %3720 = landingpad { ptr, i32 }
          cleanup
  %3721 = extractvalue { ptr, i32 } %3720, 0
  store ptr %3721, ptr %5, align 8
  %3722 = extractvalue { ptr, i32 } %3720, 1
  store i32 %3722, ptr %6, align 4
  br label %3754

3723:                                             ; preds = %3716
  call void @llvm.lifetime.start.p0(i64 8, ptr %381) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381)
          to label %3724 unwind label %3729

3724:                                             ; preds = %3723
  call void @llvm.lifetime.start.p0(i64 8, ptr %382) #10
  %3725 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %378)
          to label %3726 unwind label %3733

3726:                                             ; preds = %3724
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %382, i32 noundef 1, ptr noundef @.str.7, i32 noundef 156, ptr noundef %3725)
          to label %3727 unwind label %3733

3727:                                             ; preds = %3726
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef nonnull align 8 dereferenceable(8) %381)
          to label %3728 unwind label %3737

3728:                                             ; preds = %3727
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %382) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %382) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %381) #10
  br label %3743

3729:                                             ; preds = %3723
  %3730 = landingpad { ptr, i32 }
          cleanup
  %3731 = extractvalue { ptr, i32 } %3730, 0
  store ptr %3731, ptr %5, align 8
  %3732 = extractvalue { ptr, i32 } %3730, 1
  store i32 %3732, ptr %6, align 4
  br label %3742

3733:                                             ; preds = %3726, %3724
  %3734 = landingpad { ptr, i32 }
          cleanup
  %3735 = extractvalue { ptr, i32 } %3734, 0
  store ptr %3735, ptr %5, align 8
  %3736 = extractvalue { ptr, i32 } %3734, 1
  store i32 %3736, ptr %6, align 4
  br label %3741

3737:                                             ; preds = %3727
  %3738 = landingpad { ptr, i32 }
          cleanup
  %3739 = extractvalue { ptr, i32 } %3738, 0
  store ptr %3739, ptr %5, align 8
  %3740 = extractvalue { ptr, i32 } %3738, 1
  store i32 %3740, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %382) #10
  br label %3741

3741:                                             ; preds = %3737, %3733
  call void @llvm.lifetime.end.p0(i64 8, ptr %382) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381) #10
  br label %3742

3742:                                             ; preds = %3741, %3729
  call void @llvm.lifetime.end.p0(i64 8, ptr %381) #10
  br label %3754

3743:                                             ; preds = %3728, %3717
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %378) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %378) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %383) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #10
  store i32 1, ptr %384, align 4, !tbaa !45
  %3744 = load ptr, ptr %212, align 8, !tbaa !5
  %3745 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3744, i32 0, i32 9
  %3746 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3745, i64 noundef 0) #10
  %3747 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3746, i32 0, i32 3
  %3748 = load ptr, ptr %3747, align 8, !tbaa !43
  %3749 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3748, i64 noundef 0)
  %3750 = getelementptr inbounds %"class.cascadb::Msg", ptr %3749, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %383, ptr noundef @.str.103, ptr noundef @.str.116, ptr noundef nonnull align 4 dereferenceable(4) %384, ptr noundef nonnull align 4 dereferenceable(4) %3750)
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #10
  %3751 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %383)
          to label %3752 unwind label %3755

3752:                                             ; preds = %3743
  br i1 %3751, label %3753, label %3759

3753:                                             ; preds = %3752
  br label %3779

3754:                                             ; preds = %3742, %3719
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %378) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %378) #10
  br label %5279

3755:                                             ; preds = %3743
  %3756 = landingpad { ptr, i32 }
          cleanup
  %3757 = extractvalue { ptr, i32 } %3756, 0
  store ptr %3757, ptr %5, align 8
  %3758 = extractvalue { ptr, i32 } %3756, 1
  store i32 %3758, ptr %6, align 4
  br label %3790

3759:                                             ; preds = %3752
  call void @llvm.lifetime.start.p0(i64 8, ptr %385) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %385)
          to label %3760 unwind label %3765

3760:                                             ; preds = %3759
  call void @llvm.lifetime.start.p0(i64 8, ptr %386) #10
  %3761 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %383)
          to label %3762 unwind label %3769

3762:                                             ; preds = %3760
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %386, i32 noundef 1, ptr noundef @.str.7, i32 noundef 157, ptr noundef %3761)
          to label %3763 unwind label %3769

3763:                                             ; preds = %3762
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %386, ptr noundef nonnull align 8 dereferenceable(8) %385)
          to label %3764 unwind label %3773

3764:                                             ; preds = %3763
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %386) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %386) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %385) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %385) #10
  br label %3779

3765:                                             ; preds = %3759
  %3766 = landingpad { ptr, i32 }
          cleanup
  %3767 = extractvalue { ptr, i32 } %3766, 0
  store ptr %3767, ptr %5, align 8
  %3768 = extractvalue { ptr, i32 } %3766, 1
  store i32 %3768, ptr %6, align 4
  br label %3778

3769:                                             ; preds = %3762, %3760
  %3770 = landingpad { ptr, i32 }
          cleanup
  %3771 = extractvalue { ptr, i32 } %3770, 0
  store ptr %3771, ptr %5, align 8
  %3772 = extractvalue { ptr, i32 } %3770, 1
  store i32 %3772, ptr %6, align 4
  br label %3777

3773:                                             ; preds = %3763
  %3774 = landingpad { ptr, i32 }
          cleanup
  %3775 = extractvalue { ptr, i32 } %3774, 0
  store ptr %3775, ptr %5, align 8
  %3776 = extractvalue { ptr, i32 } %3774, 1
  store i32 %3776, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %386) #10
  br label %3777

3777:                                             ; preds = %3773, %3769
  call void @llvm.lifetime.end.p0(i64 8, ptr %386) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %385) #10
  br label %3778

3778:                                             ; preds = %3777, %3765
  call void @llvm.lifetime.end.p0(i64 8, ptr %385) #10
  br label %3790

3779:                                             ; preds = %3764, %3753
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %383) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %383) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %387) #10
  %3780 = load ptr, ptr %212, align 8, !tbaa !5
  %3781 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3780, i32 0, i32 9
  %3782 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3781, i64 noundef 0) #10
  %3783 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3782, i32 0, i32 3
  %3784 = load ptr, ptr %3783, align 8, !tbaa !43
  %3785 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3784, i64 noundef 0)
  %3786 = getelementptr inbounds %"class.cascadb::Msg", ptr %3785, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %387, ptr noundef @.str.117, ptr noundef @.str.118, ptr noundef nonnull align 1 dereferenceable(3) @.str.112, ptr noundef nonnull align 8 dereferenceable(12) %3786)
  %3787 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %387)
          to label %3788 unwind label %3791

3788:                                             ; preds = %3779
  br i1 %3787, label %3789, label %3795

3789:                                             ; preds = %3788
  br label %3815

3790:                                             ; preds = %3778, %3755
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %383) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %383) #10
  br label %5279

3791:                                             ; preds = %3779
  %3792 = landingpad { ptr, i32 }
          cleanup
  %3793 = extractvalue { ptr, i32 } %3792, 0
  store ptr %3793, ptr %5, align 8
  %3794 = extractvalue { ptr, i32 } %3792, 1
  store i32 %3794, ptr %6, align 4
  br label %3826

3795:                                             ; preds = %3788
  call void @llvm.lifetime.start.p0(i64 8, ptr %388) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %388)
          to label %3796 unwind label %3801

3796:                                             ; preds = %3795
  call void @llvm.lifetime.start.p0(i64 8, ptr %389) #10
  %3797 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %387)
          to label %3798 unwind label %3805

3798:                                             ; preds = %3796
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %389, i32 noundef 1, ptr noundef @.str.7, i32 noundef 157, ptr noundef %3797)
          to label %3799 unwind label %3805

3799:                                             ; preds = %3798
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %389, ptr noundef nonnull align 8 dereferenceable(8) %388)
          to label %3800 unwind label %3809

3800:                                             ; preds = %3799
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %389) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %389) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %388) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %388) #10
  br label %3815

3801:                                             ; preds = %3795
  %3802 = landingpad { ptr, i32 }
          cleanup
  %3803 = extractvalue { ptr, i32 } %3802, 0
  store ptr %3803, ptr %5, align 8
  %3804 = extractvalue { ptr, i32 } %3802, 1
  store i32 %3804, ptr %6, align 4
  br label %3814

3805:                                             ; preds = %3798, %3796
  %3806 = landingpad { ptr, i32 }
          cleanup
  %3807 = extractvalue { ptr, i32 } %3806, 0
  store ptr %3807, ptr %5, align 8
  %3808 = extractvalue { ptr, i32 } %3806, 1
  store i32 %3808, ptr %6, align 4
  br label %3813

3809:                                             ; preds = %3799
  %3810 = landingpad { ptr, i32 }
          cleanup
  %3811 = extractvalue { ptr, i32 } %3810, 0
  store ptr %3811, ptr %5, align 8
  %3812 = extractvalue { ptr, i32 } %3810, 1
  store i32 %3812, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %389) #10
  br label %3813

3813:                                             ; preds = %3809, %3805
  call void @llvm.lifetime.end.p0(i64 8, ptr %389) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %388) #10
  br label %3814

3814:                                             ; preds = %3813, %3801
  call void @llvm.lifetime.end.p0(i64 8, ptr %388) #10
  br label %3826

3815:                                             ; preds = %3800, %3789
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %387) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %387) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %390) #10
  %3816 = load ptr, ptr %212, align 8, !tbaa !5
  %3817 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3816, i32 0, i32 9
  %3818 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3817, i64 noundef 0) #10
  %3819 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3818, i32 0, i32 3
  %3820 = load ptr, ptr %3819, align 8, !tbaa !43
  %3821 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3820, i64 noundef 0)
  %3822 = getelementptr inbounds %"class.cascadb::Msg", ptr %3821, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %390, ptr noundef @.str.10, ptr noundef @.str.119, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %3822)
  %3823 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %390)
          to label %3824 unwind label %3827

3824:                                             ; preds = %3815
  br i1 %3823, label %3825, label %3831

3825:                                             ; preds = %3824
  br label %3851

3826:                                             ; preds = %3814, %3791
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %387) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %387) #10
  br label %5279

3827:                                             ; preds = %3815
  %3828 = landingpad { ptr, i32 }
          cleanup
  %3829 = extractvalue { ptr, i32 } %3828, 0
  store ptr %3829, ptr %5, align 8
  %3830 = extractvalue { ptr, i32 } %3828, 1
  store i32 %3830, ptr %6, align 4
  br label %3862

3831:                                             ; preds = %3824
  call void @llvm.lifetime.start.p0(i64 8, ptr %391) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %391)
          to label %3832 unwind label %3837

3832:                                             ; preds = %3831
  call void @llvm.lifetime.start.p0(i64 8, ptr %392) #10
  %3833 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %390)
          to label %3834 unwind label %3841

3834:                                             ; preds = %3832
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %392, i32 noundef 1, ptr noundef @.str.7, i32 noundef 157, ptr noundef %3833)
          to label %3835 unwind label %3841

3835:                                             ; preds = %3834
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %392, ptr noundef nonnull align 8 dereferenceable(8) %391)
          to label %3836 unwind label %3845

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

3837:                                             ; preds = %3831
  %3838 = landingpad { ptr, i32 }
          cleanup
  %3839 = extractvalue { ptr, i32 } %3838, 0
  store ptr %3839, ptr %5, align 8
  %3840 = extractvalue { ptr, i32 } %3838, 1
  store i32 %3840, ptr %6, align 4
  br label %3850

3841:                                             ; preds = %3834, %3832
  %3842 = landingpad { ptr, i32 }
          cleanup
  %3843 = extractvalue { ptr, i32 } %3842, 0
  store ptr %3843, ptr %5, align 8
  %3844 = extractvalue { ptr, i32 } %3842, 1
  store i32 %3844, ptr %6, align 4
  br label %3849

3845:                                             ; preds = %3835
  %3846 = landingpad { ptr, i32 }
          cleanup
  %3847 = extractvalue { ptr, i32 } %3846, 0
  store ptr %3847, ptr %5, align 8
  %3848 = extractvalue { ptr, i32 } %3846, 1
  store i32 %3848, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %392) #10
  br label %3849

3849:                                             ; preds = %3845, %3841
  call void @llvm.lifetime.end.p0(i64 8, ptr %392) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %391) #10
  br label %3850

3850:                                             ; preds = %3849, %3837
  call void @llvm.lifetime.end.p0(i64 8, ptr %391) #10
  br label %3862

3851:                                             ; preds = %3836, %3825
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %390) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %390) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %393) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #10
  store i32 1, ptr %394, align 4, !tbaa !45
  %3852 = load ptr, ptr %212, align 8, !tbaa !5
  %3853 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3852, i32 0, i32 9
  %3854 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3853, i64 noundef 0) #10
  %3855 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3854, i32 0, i32 3
  %3856 = load ptr, ptr %3855, align 8, !tbaa !43
  %3857 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3856, i64 noundef 1)
  %3858 = getelementptr inbounds %"class.cascadb::Msg", ptr %3857, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %393, ptr noundef @.str.103, ptr noundef @.str.120, ptr noundef nonnull align 4 dereferenceable(4) %394, ptr noundef nonnull align 4 dereferenceable(4) %3858)
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #10
  %3859 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %393)
          to label %3860 unwind label %3863

3860:                                             ; preds = %3851
  br i1 %3859, label %3861, label %3867

3861:                                             ; preds = %3860
  br label %3887

3862:                                             ; preds = %3850, %3827
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %390) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %390) #10
  br label %5279

3863:                                             ; preds = %3851
  %3864 = landingpad { ptr, i32 }
          cleanup
  %3865 = extractvalue { ptr, i32 } %3864, 0
  store ptr %3865, ptr %5, align 8
  %3866 = extractvalue { ptr, i32 } %3864, 1
  store i32 %3866, ptr %6, align 4
  br label %3898

3867:                                             ; preds = %3860
  call void @llvm.lifetime.start.p0(i64 8, ptr %395) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %395)
          to label %3868 unwind label %3873

3868:                                             ; preds = %3867
  call void @llvm.lifetime.start.p0(i64 8, ptr %396) #10
  %3869 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %393)
          to label %3870 unwind label %3877

3870:                                             ; preds = %3868
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %396, i32 noundef 1, ptr noundef @.str.7, i32 noundef 158, ptr noundef %3869)
          to label %3871 unwind label %3877

3871:                                             ; preds = %3870
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %396, ptr noundef nonnull align 8 dereferenceable(8) %395)
          to label %3872 unwind label %3881

3872:                                             ; preds = %3871
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %396) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %396) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %395) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %395) #10
  br label %3887

3873:                                             ; preds = %3867
  %3874 = landingpad { ptr, i32 }
          cleanup
  %3875 = extractvalue { ptr, i32 } %3874, 0
  store ptr %3875, ptr %5, align 8
  %3876 = extractvalue { ptr, i32 } %3874, 1
  store i32 %3876, ptr %6, align 4
  br label %3886

3877:                                             ; preds = %3870, %3868
  %3878 = landingpad { ptr, i32 }
          cleanup
  %3879 = extractvalue { ptr, i32 } %3878, 0
  store ptr %3879, ptr %5, align 8
  %3880 = extractvalue { ptr, i32 } %3878, 1
  store i32 %3880, ptr %6, align 4
  br label %3885

3881:                                             ; preds = %3871
  %3882 = landingpad { ptr, i32 }
          cleanup
  %3883 = extractvalue { ptr, i32 } %3882, 0
  store ptr %3883, ptr %5, align 8
  %3884 = extractvalue { ptr, i32 } %3882, 1
  store i32 %3884, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %396) #10
  br label %3885

3885:                                             ; preds = %3881, %3877
  call void @llvm.lifetime.end.p0(i64 8, ptr %396) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %395) #10
  br label %3886

3886:                                             ; preds = %3885, %3873
  call void @llvm.lifetime.end.p0(i64 8, ptr %395) #10
  br label %3898

3887:                                             ; preds = %3872, %3861
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %393) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %393) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %397) #10
  %3888 = load ptr, ptr %212, align 8, !tbaa !5
  %3889 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3888, i32 0, i32 9
  %3890 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3889, i64 noundef 0) #10
  %3891 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3890, i32 0, i32 3
  %3892 = load ptr, ptr %3891, align 8, !tbaa !43
  %3893 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3892, i64 noundef 1)
  %3894 = getelementptr inbounds %"class.cascadb::Msg", ptr %3893, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %397, ptr noundef @.str.63, ptr noundef @.str.121, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %3894)
  %3895 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %397)
          to label %3896 unwind label %3899

3896:                                             ; preds = %3887
  br i1 %3895, label %3897, label %3903

3897:                                             ; preds = %3896
  br label %3923

3898:                                             ; preds = %3886, %3863
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %393) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %393) #10
  br label %5279

3899:                                             ; preds = %3887
  %3900 = landingpad { ptr, i32 }
          cleanup
  %3901 = extractvalue { ptr, i32 } %3900, 0
  store ptr %3901, ptr %5, align 8
  %3902 = extractvalue { ptr, i32 } %3900, 1
  store i32 %3902, ptr %6, align 4
  br label %3934

3903:                                             ; preds = %3896
  call void @llvm.lifetime.start.p0(i64 8, ptr %398) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %398)
          to label %3904 unwind label %3909

3904:                                             ; preds = %3903
  call void @llvm.lifetime.start.p0(i64 8, ptr %399) #10
  %3905 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %397)
          to label %3906 unwind label %3913

3906:                                             ; preds = %3904
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %399, i32 noundef 1, ptr noundef @.str.7, i32 noundef 158, ptr noundef %3905)
          to label %3907 unwind label %3913

3907:                                             ; preds = %3906
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %399, ptr noundef nonnull align 8 dereferenceable(8) %398)
          to label %3908 unwind label %3917

3908:                                             ; preds = %3907
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %399) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %399) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %398) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %398) #10
  br label %3923

3909:                                             ; preds = %3903
  %3910 = landingpad { ptr, i32 }
          cleanup
  %3911 = extractvalue { ptr, i32 } %3910, 0
  store ptr %3911, ptr %5, align 8
  %3912 = extractvalue { ptr, i32 } %3910, 1
  store i32 %3912, ptr %6, align 4
  br label %3922

3913:                                             ; preds = %3906, %3904
  %3914 = landingpad { ptr, i32 }
          cleanup
  %3915 = extractvalue { ptr, i32 } %3914, 0
  store ptr %3915, ptr %5, align 8
  %3916 = extractvalue { ptr, i32 } %3914, 1
  store i32 %3916, ptr %6, align 4
  br label %3921

3917:                                             ; preds = %3907
  %3918 = landingpad { ptr, i32 }
          cleanup
  %3919 = extractvalue { ptr, i32 } %3918, 0
  store ptr %3919, ptr %5, align 8
  %3920 = extractvalue { ptr, i32 } %3918, 1
  store i32 %3920, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %399) #10
  br label %3921

3921:                                             ; preds = %3917, %3913
  call void @llvm.lifetime.end.p0(i64 8, ptr %399) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %398) #10
  br label %3922

3922:                                             ; preds = %3921, %3909
  call void @llvm.lifetime.end.p0(i64 8, ptr %398) #10
  br label %3934

3923:                                             ; preds = %3908, %3897
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %397) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %397) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %400) #10
  %3924 = load ptr, ptr %212, align 8, !tbaa !5
  %3925 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3924, i32 0, i32 9
  %3926 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3925, i64 noundef 0) #10
  %3927 = getelementptr inbounds %"class.cascadb::Pivot", ptr %3926, i32 0, i32 3
  %3928 = load ptr, ptr %3927, align 8, !tbaa !43
  %3929 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3928, i64 noundef 1)
  %3930 = getelementptr inbounds %"class.cascadb::Msg", ptr %3929, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %400, ptr noundef @.str.87, ptr noundef @.str.122, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %3930)
  %3931 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %400)
          to label %3932 unwind label %3935

3932:                                             ; preds = %3923
  br i1 %3931, label %3933, label %3939

3933:                                             ; preds = %3932
  br label %3959

3934:                                             ; preds = %3922, %3899
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %397) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %397) #10
  br label %5279

3935:                                             ; preds = %3923
  %3936 = landingpad { ptr, i32 }
          cleanup
  %3937 = extractvalue { ptr, i32 } %3936, 0
  store ptr %3937, ptr %5, align 8
  %3938 = extractvalue { ptr, i32 } %3936, 1
  store i32 %3938, ptr %6, align 4
  br label %3967

3939:                                             ; preds = %3932
  call void @llvm.lifetime.start.p0(i64 8, ptr %401) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %401)
          to label %3940 unwind label %3945

3940:                                             ; preds = %3939
  call void @llvm.lifetime.start.p0(i64 8, ptr %402) #10
  %3941 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %400)
          to label %3942 unwind label %3949

3942:                                             ; preds = %3940
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %402, i32 noundef 1, ptr noundef @.str.7, i32 noundef 158, ptr noundef %3941)
          to label %3943 unwind label %3949

3943:                                             ; preds = %3942
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %402, ptr noundef nonnull align 8 dereferenceable(8) %401)
          to label %3944 unwind label %3953

3944:                                             ; preds = %3943
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %402) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %402) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %401) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #10
  br label %3959

3945:                                             ; preds = %3939
  %3946 = landingpad { ptr, i32 }
          cleanup
  %3947 = extractvalue { ptr, i32 } %3946, 0
  store ptr %3947, ptr %5, align 8
  %3948 = extractvalue { ptr, i32 } %3946, 1
  store i32 %3948, ptr %6, align 4
  br label %3958

3949:                                             ; preds = %3942, %3940
  %3950 = landingpad { ptr, i32 }
          cleanup
  %3951 = extractvalue { ptr, i32 } %3950, 0
  store ptr %3951, ptr %5, align 8
  %3952 = extractvalue { ptr, i32 } %3950, 1
  store i32 %3952, ptr %6, align 4
  br label %3957

3953:                                             ; preds = %3943
  %3954 = landingpad { ptr, i32 }
          cleanup
  %3955 = extractvalue { ptr, i32 } %3954, 0
  store ptr %3955, ptr %5, align 8
  %3956 = extractvalue { ptr, i32 } %3954, 1
  store i32 %3956, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %402) #10
  br label %3957

3957:                                             ; preds = %3953, %3949
  call void @llvm.lifetime.end.p0(i64 8, ptr %402) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %401) #10
  br label %3958

3958:                                             ; preds = %3957, %3945
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #10
  br label %3967

3959:                                             ; preds = %3944, %3933
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %400) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %400) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %403) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #10
  store i32 1, ptr %404, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %405) #10
  %3960 = load ptr, ptr %29, align 8, !tbaa !5
  %3961 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3960, i32 0, i32 3
  %3962 = load ptr, ptr %3961, align 8, !tbaa !26
  %3963 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %3962)
  store i64 %3963, ptr %405, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %403, ptr noundef @.str.52, ptr noundef @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %404, ptr noundef nonnull align 8 dereferenceable(8) %405)
  call void @llvm.lifetime.end.p0(i64 8, ptr %405) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #10
  %3964 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %403)
          to label %3965 unwind label %3968

3965:                                             ; preds = %3959
  br i1 %3964, label %3966, label %3972

3966:                                             ; preds = %3965
  br label %3992

3967:                                             ; preds = %3958, %3935
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %400) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %400) #10
  br label %5279

3968:                                             ; preds = %3959
  %3969 = landingpad { ptr, i32 }
          cleanup
  %3970 = extractvalue { ptr, i32 } %3969, 0
  store ptr %3970, ptr %5, align 8
  %3971 = extractvalue { ptr, i32 } %3969, 1
  store i32 %3971, ptr %6, align 4
  br label %4001

3972:                                             ; preds = %3965
  call void @llvm.lifetime.start.p0(i64 8, ptr %406) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %406)
          to label %3973 unwind label %3978

3973:                                             ; preds = %3972
  call void @llvm.lifetime.start.p0(i64 8, ptr %407) #10
  %3974 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %403)
          to label %3975 unwind label %3982

3975:                                             ; preds = %3973
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %407, i32 noundef 1, ptr noundef @.str.7, i32 noundef 160, ptr noundef %3974)
          to label %3976 unwind label %3982

3976:                                             ; preds = %3975
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %407, ptr noundef nonnull align 8 dereferenceable(8) %406)
          to label %3977 unwind label %3986

3977:                                             ; preds = %3976
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %407) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %407) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %406) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %406) #10
  br label %3992

3978:                                             ; preds = %3972
  %3979 = landingpad { ptr, i32 }
          cleanup
  %3980 = extractvalue { ptr, i32 } %3979, 0
  store ptr %3980, ptr %5, align 8
  %3981 = extractvalue { ptr, i32 } %3979, 1
  store i32 %3981, ptr %6, align 4
  br label %3991

3982:                                             ; preds = %3975, %3973
  %3983 = landingpad { ptr, i32 }
          cleanup
  %3984 = extractvalue { ptr, i32 } %3983, 0
  store ptr %3984, ptr %5, align 8
  %3985 = extractvalue { ptr, i32 } %3983, 1
  store i32 %3985, ptr %6, align 4
  br label %3990

3986:                                             ; preds = %3976
  %3987 = landingpad { ptr, i32 }
          cleanup
  %3988 = extractvalue { ptr, i32 } %3987, 0
  store ptr %3988, ptr %5, align 8
  %3989 = extractvalue { ptr, i32 } %3987, 1
  store i32 %3989, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %407) #10
  br label %3990

3990:                                             ; preds = %3986, %3982
  call void @llvm.lifetime.end.p0(i64 8, ptr %407) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %406) #10
  br label %3991

3991:                                             ; preds = %3990, %3978
  call void @llvm.lifetime.end.p0(i64 8, ptr %406) #10
  br label %4001

3992:                                             ; preds = %3977, %3966
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %403) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %403) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %408) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #10
  store i32 1, ptr %409, align 4, !tbaa !45
  %3993 = load ptr, ptr %29, align 8, !tbaa !5
  %3994 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %3993, i32 0, i32 3
  %3995 = load ptr, ptr %3994, align 8, !tbaa !26
  %3996 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %3995, i64 noundef 0)
  %3997 = getelementptr inbounds %"class.cascadb::Msg", ptr %3996, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %408, ptr noundef @.str.103, ptr noundef @.str.123, ptr noundef nonnull align 4 dereferenceable(4) %409, ptr noundef nonnull align 4 dereferenceable(4) %3997)
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #10
  %3998 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %408)
          to label %3999 unwind label %4002

3999:                                             ; preds = %3992
  br i1 %3998, label %4000, label %4006

4000:                                             ; preds = %3999
  br label %4026

4001:                                             ; preds = %3991, %3968
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %403) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %403) #10
  br label %5279

4002:                                             ; preds = %3992
  %4003 = landingpad { ptr, i32 }
          cleanup
  %4004 = extractvalue { ptr, i32 } %4003, 0
  store ptr %4004, ptr %5, align 8
  %4005 = extractvalue { ptr, i32 } %4003, 1
  store i32 %4005, ptr %6, align 4
  br label %4035

4006:                                             ; preds = %3999
  call void @llvm.lifetime.start.p0(i64 8, ptr %410) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %410)
          to label %4007 unwind label %4012

4007:                                             ; preds = %4006
  call void @llvm.lifetime.start.p0(i64 8, ptr %411) #10
  %4008 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %408)
          to label %4009 unwind label %4016

4009:                                             ; preds = %4007
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %411, i32 noundef 1, ptr noundef @.str.7, i32 noundef 161, ptr noundef %4008)
          to label %4010 unwind label %4016

4010:                                             ; preds = %4009
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %411, ptr noundef nonnull align 8 dereferenceable(8) %410)
          to label %4011 unwind label %4020

4011:                                             ; preds = %4010
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %411) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %411) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %410) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %410) #10
  br label %4026

4012:                                             ; preds = %4006
  %4013 = landingpad { ptr, i32 }
          cleanup
  %4014 = extractvalue { ptr, i32 } %4013, 0
  store ptr %4014, ptr %5, align 8
  %4015 = extractvalue { ptr, i32 } %4013, 1
  store i32 %4015, ptr %6, align 4
  br label %4025

4016:                                             ; preds = %4009, %4007
  %4017 = landingpad { ptr, i32 }
          cleanup
  %4018 = extractvalue { ptr, i32 } %4017, 0
  store ptr %4018, ptr %5, align 8
  %4019 = extractvalue { ptr, i32 } %4017, 1
  store i32 %4019, ptr %6, align 4
  br label %4024

4020:                                             ; preds = %4010
  %4021 = landingpad { ptr, i32 }
          cleanup
  %4022 = extractvalue { ptr, i32 } %4021, 0
  store ptr %4022, ptr %5, align 8
  %4023 = extractvalue { ptr, i32 } %4021, 1
  store i32 %4023, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %411) #10
  br label %4024

4024:                                             ; preds = %4020, %4016
  call void @llvm.lifetime.end.p0(i64 8, ptr %411) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %410) #10
  br label %4025

4025:                                             ; preds = %4024, %4012
  call void @llvm.lifetime.end.p0(i64 8, ptr %410) #10
  br label %4035

4026:                                             ; preds = %4011, %4000
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %408) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %408) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %412) #10
  %4027 = load ptr, ptr %29, align 8, !tbaa !5
  %4028 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4027, i32 0, i32 3
  %4029 = load ptr, ptr %4028, align 8, !tbaa !26
  %4030 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4029, i64 noundef 0)
  %4031 = getelementptr inbounds %"class.cascadb::Msg", ptr %4030, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA4_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %412, ptr noundef @.str.124, ptr noundef @.str.125, ptr noundef nonnull align 1 dereferenceable(4) @.str.111, ptr noundef nonnull align 8 dereferenceable(12) %4031)
  %4032 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %412)
          to label %4033 unwind label %4036

4033:                                             ; preds = %4026
  br i1 %4032, label %4034, label %4040

4034:                                             ; preds = %4033
  br label %4060

4035:                                             ; preds = %4025, %4002
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %408) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %408) #10
  br label %5279

4036:                                             ; preds = %4026
  %4037 = landingpad { ptr, i32 }
          cleanup
  %4038 = extractvalue { ptr, i32 } %4037, 0
  store ptr %4038, ptr %5, align 8
  %4039 = extractvalue { ptr, i32 } %4037, 1
  store i32 %4039, ptr %6, align 4
  br label %4069

4040:                                             ; preds = %4033
  call void @llvm.lifetime.start.p0(i64 8, ptr %413) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %413)
          to label %4041 unwind label %4046

4041:                                             ; preds = %4040
  call void @llvm.lifetime.start.p0(i64 8, ptr %414) #10
  %4042 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %412)
          to label %4043 unwind label %4050

4043:                                             ; preds = %4041
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %414, i32 noundef 1, ptr noundef @.str.7, i32 noundef 161, ptr noundef %4042)
          to label %4044 unwind label %4050

4044:                                             ; preds = %4043
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %414, ptr noundef nonnull align 8 dereferenceable(8) %413)
          to label %4045 unwind label %4054

4045:                                             ; preds = %4044
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %414) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %414) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %413) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %413) #10
  br label %4060

4046:                                             ; preds = %4040
  %4047 = landingpad { ptr, i32 }
          cleanup
  %4048 = extractvalue { ptr, i32 } %4047, 0
  store ptr %4048, ptr %5, align 8
  %4049 = extractvalue { ptr, i32 } %4047, 1
  store i32 %4049, ptr %6, align 4
  br label %4059

4050:                                             ; preds = %4043, %4041
  %4051 = landingpad { ptr, i32 }
          cleanup
  %4052 = extractvalue { ptr, i32 } %4051, 0
  store ptr %4052, ptr %5, align 8
  %4053 = extractvalue { ptr, i32 } %4051, 1
  store i32 %4053, ptr %6, align 4
  br label %4058

4054:                                             ; preds = %4044
  %4055 = landingpad { ptr, i32 }
          cleanup
  %4056 = extractvalue { ptr, i32 } %4055, 0
  store ptr %4056, ptr %5, align 8
  %4057 = extractvalue { ptr, i32 } %4055, 1
  store i32 %4057, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %414) #10
  br label %4058

4058:                                             ; preds = %4054, %4050
  call void @llvm.lifetime.end.p0(i64 8, ptr %414) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %413) #10
  br label %4059

4059:                                             ; preds = %4058, %4046
  call void @llvm.lifetime.end.p0(i64 8, ptr %413) #10
  br label %4069

4060:                                             ; preds = %4045, %4034
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %412) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %412) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %415) #10
  %4061 = load ptr, ptr %29, align 8, !tbaa !5
  %4062 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4061, i32 0, i32 3
  %4063 = load ptr, ptr %4062, align 8, !tbaa !26
  %4064 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4063, i64 noundef 0)
  %4065 = getelementptr inbounds %"class.cascadb::Msg", ptr %4064, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %415, ptr noundef @.str.10, ptr noundef @.str.126, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %4065)
  %4066 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %415)
          to label %4067 unwind label %4070

4067:                                             ; preds = %4060
  br i1 %4066, label %4068, label %4074

4068:                                             ; preds = %4067
  br label %4094

4069:                                             ; preds = %4059, %4036
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %412) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %412) #10
  br label %5279

4070:                                             ; preds = %4060
  %4071 = landingpad { ptr, i32 }
          cleanup
  %4072 = extractvalue { ptr, i32 } %4071, 0
  store ptr %4072, ptr %5, align 8
  %4073 = extractvalue { ptr, i32 } %4071, 1
  store i32 %4073, ptr %6, align 4
  br label %4104

4074:                                             ; preds = %4067
  call void @llvm.lifetime.start.p0(i64 8, ptr %416) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %416)
          to label %4075 unwind label %4080

4075:                                             ; preds = %4074
  call void @llvm.lifetime.start.p0(i64 8, ptr %417) #10
  %4076 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %415)
          to label %4077 unwind label %4084

4077:                                             ; preds = %4075
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %417, i32 noundef 1, ptr noundef @.str.7, i32 noundef 161, ptr noundef %4076)
          to label %4078 unwind label %4084

4078:                                             ; preds = %4077
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %417, ptr noundef nonnull align 8 dereferenceable(8) %416)
          to label %4079 unwind label %4088

4079:                                             ; preds = %4078
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %417) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %416) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %416) #10
  br label %4094

4080:                                             ; preds = %4074
  %4081 = landingpad { ptr, i32 }
          cleanup
  %4082 = extractvalue { ptr, i32 } %4081, 0
  store ptr %4082, ptr %5, align 8
  %4083 = extractvalue { ptr, i32 } %4081, 1
  store i32 %4083, ptr %6, align 4
  br label %4093

4084:                                             ; preds = %4077, %4075
  %4085 = landingpad { ptr, i32 }
          cleanup
  %4086 = extractvalue { ptr, i32 } %4085, 0
  store ptr %4086, ptr %5, align 8
  %4087 = extractvalue { ptr, i32 } %4085, 1
  store i32 %4087, ptr %6, align 4
  br label %4092

4088:                                             ; preds = %4078
  %4089 = landingpad { ptr, i32 }
          cleanup
  %4090 = extractvalue { ptr, i32 } %4089, 0
  store ptr %4090, ptr %5, align 8
  %4091 = extractvalue { ptr, i32 } %4089, 1
  store i32 %4091, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %417) #10
  br label %4092

4092:                                             ; preds = %4088, %4084
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %416) #10
  br label %4093

4093:                                             ; preds = %4092, %4080
  call void @llvm.lifetime.end.p0(i64 8, ptr %416) #10
  br label %4104

4094:                                             ; preds = %4079, %4068
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %415) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %415) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %418) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #10
  store i32 1, ptr %419, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %420) #10
  %4095 = load ptr, ptr %29, align 8, !tbaa !5
  %4096 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4095, i32 0, i32 9
  %4097 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4096, i64 noundef 0) #10
  %4098 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4097, i32 0, i32 3
  %4099 = load ptr, ptr %4098, align 8, !tbaa !43
  %4100 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %4099)
  store i64 %4100, ptr %420, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %418, ptr noundef @.str.52, ptr noundef @.str.127, ptr noundef nonnull align 4 dereferenceable(4) %419, ptr noundef nonnull align 8 dereferenceable(8) %420)
  call void @llvm.lifetime.end.p0(i64 8, ptr %420) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #10
  %4101 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %418)
          to label %4102 unwind label %4105

4102:                                             ; preds = %4094
  br i1 %4101, label %4103, label %4109

4103:                                             ; preds = %4102
  br label %4129

4104:                                             ; preds = %4093, %4070
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %415) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %415) #10
  br label %5279

4105:                                             ; preds = %4094
  %4106 = landingpad { ptr, i32 }
          cleanup
  %4107 = extractvalue { ptr, i32 } %4106, 0
  store ptr %4107, ptr %5, align 8
  %4108 = extractvalue { ptr, i32 } %4106, 1
  store i32 %4108, ptr %6, align 4
  br label %4140

4109:                                             ; preds = %4102
  call void @llvm.lifetime.start.p0(i64 8, ptr %421) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %421)
          to label %4110 unwind label %4115

4110:                                             ; preds = %4109
  call void @llvm.lifetime.start.p0(i64 8, ptr %422) #10
  %4111 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %418)
          to label %4112 unwind label %4119

4112:                                             ; preds = %4110
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %422, i32 noundef 1, ptr noundef @.str.7, i32 noundef 162, ptr noundef %4111)
          to label %4113 unwind label %4119

4113:                                             ; preds = %4112
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %422, ptr noundef nonnull align 8 dereferenceable(8) %421)
          to label %4114 unwind label %4123

4114:                                             ; preds = %4113
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %422) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %422) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %421) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %421) #10
  br label %4129

4115:                                             ; preds = %4109
  %4116 = landingpad { ptr, i32 }
          cleanup
  %4117 = extractvalue { ptr, i32 } %4116, 0
  store ptr %4117, ptr %5, align 8
  %4118 = extractvalue { ptr, i32 } %4116, 1
  store i32 %4118, ptr %6, align 4
  br label %4128

4119:                                             ; preds = %4112, %4110
  %4120 = landingpad { ptr, i32 }
          cleanup
  %4121 = extractvalue { ptr, i32 } %4120, 0
  store ptr %4121, ptr %5, align 8
  %4122 = extractvalue { ptr, i32 } %4120, 1
  store i32 %4122, ptr %6, align 4
  br label %4127

4123:                                             ; preds = %4113
  %4124 = landingpad { ptr, i32 }
          cleanup
  %4125 = extractvalue { ptr, i32 } %4124, 0
  store ptr %4125, ptr %5, align 8
  %4126 = extractvalue { ptr, i32 } %4124, 1
  store i32 %4126, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %422) #10
  br label %4127

4127:                                             ; preds = %4123, %4119
  call void @llvm.lifetime.end.p0(i64 8, ptr %422) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %421) #10
  br label %4128

4128:                                             ; preds = %4127, %4115
  call void @llvm.lifetime.end.p0(i64 8, ptr %421) #10
  br label %4140

4129:                                             ; preds = %4114, %4103
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %418) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %418) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %423) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #10
  store i32 1, ptr %424, align 4, !tbaa !45
  %4130 = load ptr, ptr %29, align 8, !tbaa !5
  %4131 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4130, i32 0, i32 9
  %4132 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4131, i64 noundef 0) #10
  %4133 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4132, i32 0, i32 3
  %4134 = load ptr, ptr %4133, align 8, !tbaa !43
  %4135 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4134, i64 noundef 0)
  %4136 = getelementptr inbounds %"class.cascadb::Msg", ptr %4135, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %423, ptr noundef @.str.103, ptr noundef @.str.128, ptr noundef nonnull align 4 dereferenceable(4) %424, ptr noundef nonnull align 4 dereferenceable(4) %4136)
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #10
  %4137 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %423)
          to label %4138 unwind label %4141

4138:                                             ; preds = %4129
  br i1 %4137, label %4139, label %4145

4139:                                             ; preds = %4138
  br label %4165

4140:                                             ; preds = %4128, %4105
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %418) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %418) #10
  br label %5279

4141:                                             ; preds = %4129
  %4142 = landingpad { ptr, i32 }
          cleanup
  %4143 = extractvalue { ptr, i32 } %4142, 0
  store ptr %4143, ptr %5, align 8
  %4144 = extractvalue { ptr, i32 } %4142, 1
  store i32 %4144, ptr %6, align 4
  br label %4176

4145:                                             ; preds = %4138
  call void @llvm.lifetime.start.p0(i64 8, ptr %425) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %425)
          to label %4146 unwind label %4151

4146:                                             ; preds = %4145
  call void @llvm.lifetime.start.p0(i64 8, ptr %426) #10
  %4147 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %423)
          to label %4148 unwind label %4155

4148:                                             ; preds = %4146
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %426, i32 noundef 1, ptr noundef @.str.7, i32 noundef 163, ptr noundef %4147)
          to label %4149 unwind label %4155

4149:                                             ; preds = %4148
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %426, ptr noundef nonnull align 8 dereferenceable(8) %425)
          to label %4150 unwind label %4159

4150:                                             ; preds = %4149
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %426) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %426) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %425) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %425) #10
  br label %4165

4151:                                             ; preds = %4145
  %4152 = landingpad { ptr, i32 }
          cleanup
  %4153 = extractvalue { ptr, i32 } %4152, 0
  store ptr %4153, ptr %5, align 8
  %4154 = extractvalue { ptr, i32 } %4152, 1
  store i32 %4154, ptr %6, align 4
  br label %4164

4155:                                             ; preds = %4148, %4146
  %4156 = landingpad { ptr, i32 }
          cleanup
  %4157 = extractvalue { ptr, i32 } %4156, 0
  store ptr %4157, ptr %5, align 8
  %4158 = extractvalue { ptr, i32 } %4156, 1
  store i32 %4158, ptr %6, align 4
  br label %4163

4159:                                             ; preds = %4149
  %4160 = landingpad { ptr, i32 }
          cleanup
  %4161 = extractvalue { ptr, i32 } %4160, 0
  store ptr %4161, ptr %5, align 8
  %4162 = extractvalue { ptr, i32 } %4160, 1
  store i32 %4162, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %426) #10
  br label %4163

4163:                                             ; preds = %4159, %4155
  call void @llvm.lifetime.end.p0(i64 8, ptr %426) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %425) #10
  br label %4164

4164:                                             ; preds = %4163, %4151
  call void @llvm.lifetime.end.p0(i64 8, ptr %425) #10
  br label %4176

4165:                                             ; preds = %4150, %4139
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %423) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %423) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %427) #10
  %4166 = load ptr, ptr %29, align 8, !tbaa !5
  %4167 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4166, i32 0, i32 9
  %4168 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4167, i64 noundef 0) #10
  %4169 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4168, i32 0, i32 3
  %4170 = load ptr, ptr %4169, align 8, !tbaa !43
  %4171 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4170, i64 noundef 0)
  %4172 = getelementptr inbounds %"class.cascadb::Msg", ptr %4171, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %427, ptr noundef @.str.89, ptr noundef @.str.129, ptr noundef nonnull align 1 dereferenceable(3) @.str.73, ptr noundef nonnull align 8 dereferenceable(12) %4172)
  %4173 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %427)
          to label %4174 unwind label %4177

4174:                                             ; preds = %4165
  br i1 %4173, label %4175, label %4181

4175:                                             ; preds = %4174
  br label %4201

4176:                                             ; preds = %4164, %4141
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %423) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %423) #10
  br label %5279

4177:                                             ; preds = %4165
  %4178 = landingpad { ptr, i32 }
          cleanup
  %4179 = extractvalue { ptr, i32 } %4178, 0
  store ptr %4179, ptr %5, align 8
  %4180 = extractvalue { ptr, i32 } %4178, 1
  store i32 %4180, ptr %6, align 4
  br label %4212

4181:                                             ; preds = %4174
  call void @llvm.lifetime.start.p0(i64 8, ptr %428) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %428)
          to label %4182 unwind label %4187

4182:                                             ; preds = %4181
  call void @llvm.lifetime.start.p0(i64 8, ptr %429) #10
  %4183 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %427)
          to label %4184 unwind label %4191

4184:                                             ; preds = %4182
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %429, i32 noundef 1, ptr noundef @.str.7, i32 noundef 163, ptr noundef %4183)
          to label %4185 unwind label %4191

4185:                                             ; preds = %4184
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %429, ptr noundef nonnull align 8 dereferenceable(8) %428)
          to label %4186 unwind label %4195

4186:                                             ; preds = %4185
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %429) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %429) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %428) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %428) #10
  br label %4201

4187:                                             ; preds = %4181
  %4188 = landingpad { ptr, i32 }
          cleanup
  %4189 = extractvalue { ptr, i32 } %4188, 0
  store ptr %4189, ptr %5, align 8
  %4190 = extractvalue { ptr, i32 } %4188, 1
  store i32 %4190, ptr %6, align 4
  br label %4200

4191:                                             ; preds = %4184, %4182
  %4192 = landingpad { ptr, i32 }
          cleanup
  %4193 = extractvalue { ptr, i32 } %4192, 0
  store ptr %4193, ptr %5, align 8
  %4194 = extractvalue { ptr, i32 } %4192, 1
  store i32 %4194, ptr %6, align 4
  br label %4199

4195:                                             ; preds = %4185
  %4196 = landingpad { ptr, i32 }
          cleanup
  %4197 = extractvalue { ptr, i32 } %4196, 0
  store ptr %4197, ptr %5, align 8
  %4198 = extractvalue { ptr, i32 } %4196, 1
  store i32 %4198, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %429) #10
  br label %4199

4199:                                             ; preds = %4195, %4191
  call void @llvm.lifetime.end.p0(i64 8, ptr %429) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %428) #10
  br label %4200

4200:                                             ; preds = %4199, %4187
  call void @llvm.lifetime.end.p0(i64 8, ptr %428) #10
  br label %4212

4201:                                             ; preds = %4186, %4175
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %427) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %427) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %430) #10
  %4202 = load ptr, ptr %29, align 8, !tbaa !5
  %4203 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4202, i32 0, i32 9
  %4204 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4203, i64 noundef 0) #10
  %4205 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4204, i32 0, i32 3
  %4206 = load ptr, ptr %4205, align 8, !tbaa !43
  %4207 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4206, i64 noundef 0)
  %4208 = getelementptr inbounds %"class.cascadb::Msg", ptr %4207, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %430, ptr noundef @.str.87, ptr noundef @.str.130, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %4208)
  %4209 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %430)
          to label %4210 unwind label %4213

4210:                                             ; preds = %4201
  br i1 %4209, label %4211, label %4217

4211:                                             ; preds = %4210
  br label %4237

4212:                                             ; preds = %4200, %4177
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %427) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %427) #10
  br label %5279

4213:                                             ; preds = %4201
  %4214 = landingpad { ptr, i32 }
          cleanup
  %4215 = extractvalue { ptr, i32 } %4214, 0
  store ptr %4215, ptr %5, align 8
  %4216 = extractvalue { ptr, i32 } %4214, 1
  store i32 %4216, ptr %6, align 4
  br label %4266

4217:                                             ; preds = %4210
  call void @llvm.lifetime.start.p0(i64 8, ptr %431) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %431)
          to label %4218 unwind label %4223

4218:                                             ; preds = %4217
  call void @llvm.lifetime.start.p0(i64 8, ptr %432) #10
  %4219 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %430)
          to label %4220 unwind label %4227

4220:                                             ; preds = %4218
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %432, i32 noundef 1, ptr noundef @.str.7, i32 noundef 163, ptr noundef %4219)
          to label %4221 unwind label %4227

4221:                                             ; preds = %4220
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %432, ptr noundef nonnull align 8 dereferenceable(8) %431)
          to label %4222 unwind label %4231

4222:                                             ; preds = %4221
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %432) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %432) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %431) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %431) #10
  br label %4237

4223:                                             ; preds = %4217
  %4224 = landingpad { ptr, i32 }
          cleanup
  %4225 = extractvalue { ptr, i32 } %4224, 0
  store ptr %4225, ptr %5, align 8
  %4226 = extractvalue { ptr, i32 } %4224, 1
  store i32 %4226, ptr %6, align 4
  br label %4236

4227:                                             ; preds = %4220, %4218
  %4228 = landingpad { ptr, i32 }
          cleanup
  %4229 = extractvalue { ptr, i32 } %4228, 0
  store ptr %4229, ptr %5, align 8
  %4230 = extractvalue { ptr, i32 } %4228, 1
  store i32 %4230, ptr %6, align 4
  br label %4235

4231:                                             ; preds = %4221
  %4232 = landingpad { ptr, i32 }
          cleanup
  %4233 = extractvalue { ptr, i32 } %4232, 0
  store ptr %4233, ptr %5, align 8
  %4234 = extractvalue { ptr, i32 } %4232, 1
  store i32 %4234, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %432) #10
  br label %4235

4235:                                             ; preds = %4231, %4227
  call void @llvm.lifetime.end.p0(i64 8, ptr %432) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %431) #10
  br label %4236

4236:                                             ; preds = %4235, %4223
  call void @llvm.lifetime.end.p0(i64 8, ptr %431) #10
  br label %4266

4237:                                             ; preds = %4222, %4211
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %430) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %430) #10
  %4238 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %433, ptr noundef @.str.131)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %434, ptr noundef @.str.4)
  %4239 = getelementptr inbounds { ptr, i32 }, ptr %433, i32 0, i32 0
  %4240 = load ptr, ptr %4239, align 8
  %4241 = getelementptr inbounds { ptr, i32 }, ptr %433, i32 0, i32 1
  %4242 = load i32, ptr %4241, align 8
  %4243 = getelementptr inbounds { ptr, i32 }, ptr %434, i32 0, i32 0
  %4244 = load ptr, ptr %4243, align 8
  %4245 = getelementptr inbounds { ptr, i32 }, ptr %434, i32 0, i32 1
  %4246 = load i32, ptr %4245, align 8
  %4247 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %4238, ptr %4240, i32 %4242, ptr %4244, i32 %4246)
  %4248 = load ptr, ptr %212, align 8, !tbaa !5
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %435, ptr noundef @.str.50)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %436, ptr noundef @.str.72)
  %4249 = getelementptr inbounds { ptr, i32 }, ptr %435, i32 0, i32 0
  %4250 = load ptr, ptr %4249, align 8
  %4251 = getelementptr inbounds { ptr, i32 }, ptr %435, i32 0, i32 1
  %4252 = load i32, ptr %4251, align 8
  %4253 = getelementptr inbounds { ptr, i32 }, ptr %436, i32 0, i32 0
  %4254 = load ptr, ptr %4253, align 8
  %4255 = getelementptr inbounds { ptr, i32 }, ptr %436, i32 0, i32 1
  %4256 = load i32, ptr %4255, align 8
  %4257 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %4248, ptr %4250, i32 %4252, ptr %4254, i32 %4256)
  call void @llvm.lifetime.start.p0(i64 16, ptr %437) #10
  %4258 = load ptr, ptr %21, align 8, !tbaa !5
  %4259 = getelementptr inbounds %"class.cascadb::Tree", ptr %4258, i32 0, i32 7
  %4260 = load ptr, ptr %4259, align 8, !tbaa !20
  %4261 = load ptr, ptr %212, align 8, !tbaa !5
  %4262 = icmp eq ptr %4260, %4261
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %437, i1 noundef zeroext %4262)
  %4263 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %437)
          to label %4264 unwind label %4267

4264:                                             ; preds = %4237
  br i1 %4263, label %4265, label %4271

4265:                                             ; preds = %4264
  br label %4297

4266:                                             ; preds = %4236, %4213
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %430) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %430) #10
  br label %5279

4267:                                             ; preds = %4237
  %4268 = landingpad { ptr, i32 }
          cleanup
  %4269 = extractvalue { ptr, i32 } %4268, 0
  store ptr %4269, ptr %5, align 8
  %4270 = extractvalue { ptr, i32 } %4268, 1
  store i32 %4270, ptr %6, align 4
  br label %4303

4271:                                             ; preds = %4264
  call void @llvm.lifetime.start.p0(i64 8, ptr %438) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438)
          to label %4272 unwind label %4278

4272:                                             ; preds = %4271
  call void @llvm.lifetime.start.p0(i64 8, ptr %439) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %440) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %440, ptr noundef nonnull align 8 dereferenceable(16) %437, ptr noundef @.str.132, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %4273 unwind label %4282

4273:                                             ; preds = %4272
  %4274 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %440)
          to label %4275 unwind label %4286

4275:                                             ; preds = %4273
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %439, i32 noundef 1, ptr noundef @.str.7, i32 noundef 168, ptr noundef %4274)
          to label %4276 unwind label %4286

4276:                                             ; preds = %4275
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull align 8 dereferenceable(8) %438)
          to label %4277 unwind label %4290

4277:                                             ; preds = %4276
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %439) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %440) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %440) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %439) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %438) #10
  br label %4297

4278:                                             ; preds = %4271
  %4279 = landingpad { ptr, i32 }
          cleanup
  %4280 = extractvalue { ptr, i32 } %4279, 0
  store ptr %4280, ptr %5, align 8
  %4281 = extractvalue { ptr, i32 } %4279, 1
  store i32 %4281, ptr %6, align 4
  br label %4296

4282:                                             ; preds = %4272
  %4283 = landingpad { ptr, i32 }
          cleanup
  %4284 = extractvalue { ptr, i32 } %4283, 0
  store ptr %4284, ptr %5, align 8
  %4285 = extractvalue { ptr, i32 } %4283, 1
  store i32 %4285, ptr %6, align 4
  br label %4295

4286:                                             ; preds = %4275, %4273
  %4287 = landingpad { ptr, i32 }
          cleanup
  %4288 = extractvalue { ptr, i32 } %4287, 0
  store ptr %4288, ptr %5, align 8
  %4289 = extractvalue { ptr, i32 } %4287, 1
  store i32 %4289, ptr %6, align 4
  br label %4294

4290:                                             ; preds = %4276
  %4291 = landingpad { ptr, i32 }
          cleanup
  %4292 = extractvalue { ptr, i32 } %4291, 0
  store ptr %4292, ptr %5, align 8
  %4293 = extractvalue { ptr, i32 } %4291, 1
  store i32 %4293, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %439) #10
  br label %4294

4294:                                             ; preds = %4290, %4286
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %440) #10
  br label %4295

4295:                                             ; preds = %4294, %4282
  call void @llvm.lifetime.end.p0(i64 16, ptr %440) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %439) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438) #10
  br label %4296

4296:                                             ; preds = %4295, %4278
  call void @llvm.lifetime.end.p0(i64 8, ptr %438) #10
  br label %4303

4297:                                             ; preds = %4277, %4265
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %437) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %437) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %441) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %442) #10
  store i64 4, ptr %442, align 8, !tbaa !24
  %4298 = load ptr, ptr %212, align 8, !tbaa !5
  %4299 = getelementptr inbounds %"class.cascadb::Node", ptr %4298, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %441, ptr noundef @.str.78, ptr noundef @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %442, ptr noundef nonnull align 8 dereferenceable(8) %4299)
  call void @llvm.lifetime.end.p0(i64 8, ptr %442) #10
  %4300 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %441)
          to label %4301 unwind label %4304

4301:                                             ; preds = %4297
  br i1 %4300, label %4302, label %4308

4302:                                             ; preds = %4301
  br label %4328

4303:                                             ; preds = %4296, %4267
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %437) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %437) #10
  br label %5279

4304:                                             ; preds = %4297
  %4305 = landingpad { ptr, i32 }
          cleanup
  %4306 = extractvalue { ptr, i32 } %4305, 0
  store ptr %4306, ptr %5, align 8
  %4307 = extractvalue { ptr, i32 } %4305, 1
  store i32 %4307, ptr %6, align 4
  br label %4339

4308:                                             ; preds = %4301
  call void @llvm.lifetime.start.p0(i64 8, ptr %443) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %443)
          to label %4309 unwind label %4314

4309:                                             ; preds = %4308
  call void @llvm.lifetime.start.p0(i64 8, ptr %444) #10
  %4310 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %441)
          to label %4311 unwind label %4318

4311:                                             ; preds = %4309
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %444, i32 noundef 1, ptr noundef @.str.7, i32 noundef 169, ptr noundef %4310)
          to label %4312 unwind label %4318

4312:                                             ; preds = %4311
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %444, ptr noundef nonnull align 8 dereferenceable(8) %443)
          to label %4313 unwind label %4322

4313:                                             ; preds = %4312
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %444) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %444) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %443) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %443) #10
  br label %4328

4314:                                             ; preds = %4308
  %4315 = landingpad { ptr, i32 }
          cleanup
  %4316 = extractvalue { ptr, i32 } %4315, 0
  store ptr %4316, ptr %5, align 8
  %4317 = extractvalue { ptr, i32 } %4315, 1
  store i32 %4317, ptr %6, align 4
  br label %4327

4318:                                             ; preds = %4311, %4309
  %4319 = landingpad { ptr, i32 }
          cleanup
  %4320 = extractvalue { ptr, i32 } %4319, 0
  store ptr %4320, ptr %5, align 8
  %4321 = extractvalue { ptr, i32 } %4319, 1
  store i32 %4321, ptr %6, align 4
  br label %4326

4322:                                             ; preds = %4312
  %4323 = landingpad { ptr, i32 }
          cleanup
  %4324 = extractvalue { ptr, i32 } %4323, 0
  store ptr %4324, ptr %5, align 8
  %4325 = extractvalue { ptr, i32 } %4323, 1
  store i32 %4325, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %444) #10
  br label %4326

4326:                                             ; preds = %4322, %4318
  call void @llvm.lifetime.end.p0(i64 8, ptr %444) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %443) #10
  br label %4327

4327:                                             ; preds = %4326, %4314
  call void @llvm.lifetime.end.p0(i64 8, ptr %443) #10
  br label %4339

4328:                                             ; preds = %4313, %4302
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %441) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %441) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %445) #10
  %4329 = load ptr, ptr %212, align 8, !tbaa !5
  %4330 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4329, i32 0, i32 2
  %4331 = load i64, ptr %4330, align 8, !tbaa !40
  %4332 = load ptr, ptr %29, align 8, !tbaa !5
  %4333 = getelementptr inbounds %"class.cascadb::Node", ptr %4332, i32 0, i32 2
  %4334 = load i64, ptr %4333, align 8, !tbaa !44
  %4335 = icmp eq i64 %4331, %4334
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %445, i1 noundef zeroext %4335)
  %4336 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %445)
          to label %4337 unwind label %4340

4337:                                             ; preds = %4328
  br i1 %4336, label %4338, label %4344

4338:                                             ; preds = %4337
  br label %4370

4339:                                             ; preds = %4327, %4304
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %441) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %441) #10
  br label %5279

4340:                                             ; preds = %4328
  %4341 = landingpad { ptr, i32 }
          cleanup
  %4342 = extractvalue { ptr, i32 } %4341, 0
  store ptr %4342, ptr %5, align 8
  %4343 = extractvalue { ptr, i32 } %4341, 1
  store i32 %4343, ptr %6, align 4
  br label %4378

4344:                                             ; preds = %4337
  call void @llvm.lifetime.start.p0(i64 8, ptr %446) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %446)
          to label %4345 unwind label %4351

4345:                                             ; preds = %4344
  call void @llvm.lifetime.start.p0(i64 8, ptr %447) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %448) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %448, ptr noundef nonnull align 8 dereferenceable(16) %445, ptr noundef @.str.133, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %4346 unwind label %4355

4346:                                             ; preds = %4345
  %4347 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %448)
          to label %4348 unwind label %4359

4348:                                             ; preds = %4346
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %447, i32 noundef 1, ptr noundef @.str.7, i32 noundef 170, ptr noundef %4347)
          to label %4349 unwind label %4359

4349:                                             ; preds = %4348
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %447, ptr noundef nonnull align 8 dereferenceable(8) %446)
          to label %4350 unwind label %4363

4350:                                             ; preds = %4349
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %447) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %448) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %448) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %447) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %446) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %446) #10
  br label %4370

4351:                                             ; preds = %4344
  %4352 = landingpad { ptr, i32 }
          cleanup
  %4353 = extractvalue { ptr, i32 } %4352, 0
  store ptr %4353, ptr %5, align 8
  %4354 = extractvalue { ptr, i32 } %4352, 1
  store i32 %4354, ptr %6, align 4
  br label %4369

4355:                                             ; preds = %4345
  %4356 = landingpad { ptr, i32 }
          cleanup
  %4357 = extractvalue { ptr, i32 } %4356, 0
  store ptr %4357, ptr %5, align 8
  %4358 = extractvalue { ptr, i32 } %4356, 1
  store i32 %4358, ptr %6, align 4
  br label %4368

4359:                                             ; preds = %4348, %4346
  %4360 = landingpad { ptr, i32 }
          cleanup
  %4361 = extractvalue { ptr, i32 } %4360, 0
  store ptr %4361, ptr %5, align 8
  %4362 = extractvalue { ptr, i32 } %4360, 1
  store i32 %4362, ptr %6, align 4
  br label %4367

4363:                                             ; preds = %4349
  %4364 = landingpad { ptr, i32 }
          cleanup
  %4365 = extractvalue { ptr, i32 } %4364, 0
  store ptr %4365, ptr %5, align 8
  %4366 = extractvalue { ptr, i32 } %4364, 1
  store i32 %4366, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %447) #10
  br label %4367

4367:                                             ; preds = %4363, %4359
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %448) #10
  br label %4368

4368:                                             ; preds = %4367, %4355
  call void @llvm.lifetime.end.p0(i64 16, ptr %448) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %447) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %446) #10
  br label %4369

4369:                                             ; preds = %4368, %4351
  call void @llvm.lifetime.end.p0(i64 8, ptr %446) #10
  br label %4378

4370:                                             ; preds = %4350, %4338
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %445) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %445) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %449) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #10
  store i32 1, ptr %450, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %451) #10
  %4371 = load ptr, ptr %212, align 8, !tbaa !5
  %4372 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4371, i32 0, i32 3
  %4373 = load ptr, ptr %4372, align 8, !tbaa !26
  %4374 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %4373)
  store i64 %4374, ptr %451, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %449, ptr noundef @.str.52, ptr noundef @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %450, ptr noundef nonnull align 8 dereferenceable(8) %451)
  call void @llvm.lifetime.end.p0(i64 8, ptr %451) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #10
  %4375 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %449)
          to label %4376 unwind label %4379

4376:                                             ; preds = %4370
  br i1 %4375, label %4377, label %4383

4377:                                             ; preds = %4376
  br label %4403

4378:                                             ; preds = %4369, %4340
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %445) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %445) #10
  br label %5279

4379:                                             ; preds = %4370
  %4380 = landingpad { ptr, i32 }
          cleanup
  %4381 = extractvalue { ptr, i32 } %4380, 0
  store ptr %4381, ptr %5, align 8
  %4382 = extractvalue { ptr, i32 } %4380, 1
  store i32 %4382, ptr %6, align 4
  br label %4412

4383:                                             ; preds = %4376
  call void @llvm.lifetime.start.p0(i64 8, ptr %452) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %452)
          to label %4384 unwind label %4389

4384:                                             ; preds = %4383
  call void @llvm.lifetime.start.p0(i64 8, ptr %453) #10
  %4385 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %449)
          to label %4386 unwind label %4393

4386:                                             ; preds = %4384
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %453, i32 noundef 1, ptr noundef @.str.7, i32 noundef 171, ptr noundef %4385)
          to label %4387 unwind label %4393

4387:                                             ; preds = %4386
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %453, ptr noundef nonnull align 8 dereferenceable(8) %452)
          to label %4388 unwind label %4397

4388:                                             ; preds = %4387
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %453) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %453) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %452) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %452) #10
  br label %4403

4389:                                             ; preds = %4383
  %4390 = landingpad { ptr, i32 }
          cleanup
  %4391 = extractvalue { ptr, i32 } %4390, 0
  store ptr %4391, ptr %5, align 8
  %4392 = extractvalue { ptr, i32 } %4390, 1
  store i32 %4392, ptr %6, align 4
  br label %4402

4393:                                             ; preds = %4386, %4384
  %4394 = landingpad { ptr, i32 }
          cleanup
  %4395 = extractvalue { ptr, i32 } %4394, 0
  store ptr %4395, ptr %5, align 8
  %4396 = extractvalue { ptr, i32 } %4394, 1
  store i32 %4396, ptr %6, align 4
  br label %4401

4397:                                             ; preds = %4387
  %4398 = landingpad { ptr, i32 }
          cleanup
  %4399 = extractvalue { ptr, i32 } %4398, 0
  store ptr %4399, ptr %5, align 8
  %4400 = extractvalue { ptr, i32 } %4398, 1
  store i32 %4400, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %453) #10
  br label %4401

4401:                                             ; preds = %4397, %4393
  call void @llvm.lifetime.end.p0(i64 8, ptr %453) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %452) #10
  br label %4402

4402:                                             ; preds = %4401, %4389
  call void @llvm.lifetime.end.p0(i64 8, ptr %452) #10
  br label %4412

4403:                                             ; preds = %4388, %4377
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %449) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %449) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %454) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #10
  store i32 1, ptr %455, align 4, !tbaa !45
  %4404 = load ptr, ptr %212, align 8, !tbaa !5
  %4405 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4404, i32 0, i32 3
  %4406 = load ptr, ptr %4405, align 8, !tbaa !26
  %4407 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4406, i64 noundef 0)
  %4408 = getelementptr inbounds %"class.cascadb::Msg", ptr %4407, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %454, ptr noundef @.str.103, ptr noundef @.str.134, ptr noundef nonnull align 4 dereferenceable(4) %455, ptr noundef nonnull align 4 dereferenceable(4) %4408)
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #10
  %4409 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %454)
          to label %4410 unwind label %4413

4410:                                             ; preds = %4403
  br i1 %4409, label %4411, label %4417

4411:                                             ; preds = %4410
  br label %4437

4412:                                             ; preds = %4402, %4379
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %449) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %449) #10
  br label %5279

4413:                                             ; preds = %4403
  %4414 = landingpad { ptr, i32 }
          cleanup
  %4415 = extractvalue { ptr, i32 } %4414, 0
  store ptr %4415, ptr %5, align 8
  %4416 = extractvalue { ptr, i32 } %4414, 1
  store i32 %4416, ptr %6, align 4
  br label %4446

4417:                                             ; preds = %4410
  call void @llvm.lifetime.start.p0(i64 8, ptr %456) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %456)
          to label %4418 unwind label %4423

4418:                                             ; preds = %4417
  call void @llvm.lifetime.start.p0(i64 8, ptr %457) #10
  %4419 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %454)
          to label %4420 unwind label %4427

4420:                                             ; preds = %4418
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %457, i32 noundef 1, ptr noundef @.str.7, i32 noundef 172, ptr noundef %4419)
          to label %4421 unwind label %4427

4421:                                             ; preds = %4420
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %457, ptr noundef nonnull align 8 dereferenceable(8) %456)
          to label %4422 unwind label %4431

4422:                                             ; preds = %4421
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %457) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %457) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %456) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %456) #10
  br label %4437

4423:                                             ; preds = %4417
  %4424 = landingpad { ptr, i32 }
          cleanup
  %4425 = extractvalue { ptr, i32 } %4424, 0
  store ptr %4425, ptr %5, align 8
  %4426 = extractvalue { ptr, i32 } %4424, 1
  store i32 %4426, ptr %6, align 4
  br label %4436

4427:                                             ; preds = %4420, %4418
  %4428 = landingpad { ptr, i32 }
          cleanup
  %4429 = extractvalue { ptr, i32 } %4428, 0
  store ptr %4429, ptr %5, align 8
  %4430 = extractvalue { ptr, i32 } %4428, 1
  store i32 %4430, ptr %6, align 4
  br label %4435

4431:                                             ; preds = %4421
  %4432 = landingpad { ptr, i32 }
          cleanup
  %4433 = extractvalue { ptr, i32 } %4432, 0
  store ptr %4433, ptr %5, align 8
  %4434 = extractvalue { ptr, i32 } %4432, 1
  store i32 %4434, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %457) #10
  br label %4435

4435:                                             ; preds = %4431, %4427
  call void @llvm.lifetime.end.p0(i64 8, ptr %457) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %456) #10
  br label %4436

4436:                                             ; preds = %4435, %4423
  call void @llvm.lifetime.end.p0(i64 8, ptr %456) #10
  br label %4446

4437:                                             ; preds = %4422, %4411
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %454) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %454) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %458) #10
  %4438 = load ptr, ptr %212, align 8, !tbaa !5
  %4439 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4438, i32 0, i32 3
  %4440 = load ptr, ptr %4439, align 8, !tbaa !26
  %4441 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4440, i64 noundef 0)
  %4442 = getelementptr inbounds %"class.cascadb::Msg", ptr %4441, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA5_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %458, ptr noundef @.str.135, ptr noundef @.str.136, ptr noundef nonnull align 1 dereferenceable(5) @.str.131, ptr noundef nonnull align 8 dereferenceable(12) %4442)
  %4443 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %458)
          to label %4444 unwind label %4447

4444:                                             ; preds = %4437
  br i1 %4443, label %4445, label %4451

4445:                                             ; preds = %4444
  br label %4471

4446:                                             ; preds = %4436, %4413
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %454) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %454) #10
  br label %5279

4447:                                             ; preds = %4437
  %4448 = landingpad { ptr, i32 }
          cleanup
  %4449 = extractvalue { ptr, i32 } %4448, 0
  store ptr %4449, ptr %5, align 8
  %4450 = extractvalue { ptr, i32 } %4448, 1
  store i32 %4450, ptr %6, align 4
  br label %4480

4451:                                             ; preds = %4444
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %459)
          to label %4452 unwind label %4457

4452:                                             ; preds = %4451
  call void @llvm.lifetime.start.p0(i64 8, ptr %460) #10
  %4453 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %458)
          to label %4454 unwind label %4461

4454:                                             ; preds = %4452
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %460, i32 noundef 1, ptr noundef @.str.7, i32 noundef 172, ptr noundef %4453)
          to label %4455 unwind label %4461

4455:                                             ; preds = %4454
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %460, ptr noundef nonnull align 8 dereferenceable(8) %459)
          to label %4456 unwind label %4465

4456:                                             ; preds = %4455
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %460) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %460) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %459) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #10
  br label %4471

4457:                                             ; preds = %4451
  %4458 = landingpad { ptr, i32 }
          cleanup
  %4459 = extractvalue { ptr, i32 } %4458, 0
  store ptr %4459, ptr %5, align 8
  %4460 = extractvalue { ptr, i32 } %4458, 1
  store i32 %4460, ptr %6, align 4
  br label %4470

4461:                                             ; preds = %4454, %4452
  %4462 = landingpad { ptr, i32 }
          cleanup
  %4463 = extractvalue { ptr, i32 } %4462, 0
  store ptr %4463, ptr %5, align 8
  %4464 = extractvalue { ptr, i32 } %4462, 1
  store i32 %4464, ptr %6, align 4
  br label %4469

4465:                                             ; preds = %4455
  %4466 = landingpad { ptr, i32 }
          cleanup
  %4467 = extractvalue { ptr, i32 } %4466, 0
  store ptr %4467, ptr %5, align 8
  %4468 = extractvalue { ptr, i32 } %4466, 1
  store i32 %4468, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %460) #10
  br label %4469

4469:                                             ; preds = %4465, %4461
  call void @llvm.lifetime.end.p0(i64 8, ptr %460) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %459) #10
  br label %4470

4470:                                             ; preds = %4469, %4457
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #10
  br label %4480

4471:                                             ; preds = %4456, %4445
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %458) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %458) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %461) #10
  %4472 = load ptr, ptr %212, align 8, !tbaa !5
  %4473 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4472, i32 0, i32 3
  %4474 = load ptr, ptr %4473, align 8, !tbaa !26
  %4475 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %4474, i64 noundef 0)
  %4476 = getelementptr inbounds %"class.cascadb::Msg", ptr %4475, i32 0, i32 3
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %461, ptr noundef @.str.10, ptr noundef @.str.137, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %4476)
  %4477 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %461)
          to label %4478 unwind label %4481

4478:                                             ; preds = %4471
  br i1 %4477, label %4479, label %4485

4479:                                             ; preds = %4478
  br label %4505

4480:                                             ; preds = %4470, %4447
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %458) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %458) #10
  br label %5279

4481:                                             ; preds = %4471
  %4482 = landingpad { ptr, i32 }
          cleanup
  %4483 = extractvalue { ptr, i32 } %4482, 0
  store ptr %4483, ptr %5, align 8
  %4484 = extractvalue { ptr, i32 } %4482, 1
  store i32 %4484, ptr %6, align 4
  br label %4518

4485:                                             ; preds = %4478
  call void @llvm.lifetime.start.p0(i64 8, ptr %462) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462)
          to label %4486 unwind label %4491

4486:                                             ; preds = %4485
  call void @llvm.lifetime.start.p0(i64 8, ptr %463) #10
  %4487 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %461)
          to label %4488 unwind label %4495

4488:                                             ; preds = %4486
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %463, i32 noundef 1, ptr noundef @.str.7, i32 noundef 172, ptr noundef %4487)
          to label %4489 unwind label %4495

4489:                                             ; preds = %4488
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %463, ptr noundef nonnull align 8 dereferenceable(8) %462)
          to label %4490 unwind label %4499

4490:                                             ; preds = %4489
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %463) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %463) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %462) #10
  br label %4505

4491:                                             ; preds = %4485
  %4492 = landingpad { ptr, i32 }
          cleanup
  %4493 = extractvalue { ptr, i32 } %4492, 0
  store ptr %4493, ptr %5, align 8
  %4494 = extractvalue { ptr, i32 } %4492, 1
  store i32 %4494, ptr %6, align 4
  br label %4504

4495:                                             ; preds = %4488, %4486
  %4496 = landingpad { ptr, i32 }
          cleanup
  %4497 = extractvalue { ptr, i32 } %4496, 0
  store ptr %4497, ptr %5, align 8
  %4498 = extractvalue { ptr, i32 } %4496, 1
  store i32 %4498, ptr %6, align 4
  br label %4503

4499:                                             ; preds = %4489
  %4500 = landingpad { ptr, i32 }
          cleanup
  %4501 = extractvalue { ptr, i32 } %4500, 0
  store ptr %4501, ptr %5, align 8
  %4502 = extractvalue { ptr, i32 } %4500, 1
  store i32 %4502, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %463) #10
  br label %4503

4503:                                             ; preds = %4499, %4495
  call void @llvm.lifetime.end.p0(i64 8, ptr %463) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462) #10
  br label %4504

4504:                                             ; preds = %4503, %4491
  call void @llvm.lifetime.end.p0(i64 8, ptr %462) #10
  br label %4518

4505:                                             ; preds = %4490, %4479
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %461) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %461) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %464) #10
  %4506 = load ptr, ptr %212, align 8, !tbaa !5
  %4507 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4506, i32 0, i32 9
  %4508 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4507, i64 noundef 0) #10
  %4509 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4508, i32 0, i32 2
  %4510 = load i64, ptr %4509, align 8, !tbaa !41
  %4511 = load ptr, ptr %319, align 8, !tbaa !5
  %4512 = getelementptr inbounds %"class.cascadb::Node", ptr %4511, i32 0, i32 2
  %4513 = load i64, ptr %4512, align 8, !tbaa !44
  %4514 = icmp eq i64 %4510, %4513
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %464, i1 noundef zeroext %4514)
  %4515 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %464)
          to label %4516 unwind label %4519

4516:                                             ; preds = %4505
  br i1 %4515, label %4517, label %4523

4517:                                             ; preds = %4516
  br label %4549

4518:                                             ; preds = %4504, %4481
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %461) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %461) #10
  br label %5279

4519:                                             ; preds = %4505
  %4520 = landingpad { ptr, i32 }
          cleanup
  %4521 = extractvalue { ptr, i32 } %4520, 0
  store ptr %4521, ptr %5, align 8
  %4522 = extractvalue { ptr, i32 } %4520, 1
  store i32 %4522, ptr %6, align 4
  br label %4559

4523:                                             ; preds = %4516
  call void @llvm.lifetime.start.p0(i64 8, ptr %465) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465)
          to label %4524 unwind label %4530

4524:                                             ; preds = %4523
  call void @llvm.lifetime.start.p0(i64 8, ptr %466) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %467) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %467, ptr noundef nonnull align 8 dereferenceable(16) %464, ptr noundef @.str.138, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %4525 unwind label %4534

4525:                                             ; preds = %4524
  %4526 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %467)
          to label %4527 unwind label %4538

4527:                                             ; preds = %4525
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %466, i32 noundef 1, ptr noundef @.str.7, i32 noundef 173, ptr noundef %4526)
          to label %4528 unwind label %4538

4528:                                             ; preds = %4527
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %466, ptr noundef nonnull align 8 dereferenceable(8) %465)
          to label %4529 unwind label %4542

4529:                                             ; preds = %4528
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %466) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %467) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %467) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %466) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #10
  br label %4549

4530:                                             ; preds = %4523
  %4531 = landingpad { ptr, i32 }
          cleanup
  %4532 = extractvalue { ptr, i32 } %4531, 0
  store ptr %4532, ptr %5, align 8
  %4533 = extractvalue { ptr, i32 } %4531, 1
  store i32 %4533, ptr %6, align 4
  br label %4548

4534:                                             ; preds = %4524
  %4535 = landingpad { ptr, i32 }
          cleanup
  %4536 = extractvalue { ptr, i32 } %4535, 0
  store ptr %4536, ptr %5, align 8
  %4537 = extractvalue { ptr, i32 } %4535, 1
  store i32 %4537, ptr %6, align 4
  br label %4547

4538:                                             ; preds = %4527, %4525
  %4539 = landingpad { ptr, i32 }
          cleanup
  %4540 = extractvalue { ptr, i32 } %4539, 0
  store ptr %4540, ptr %5, align 8
  %4541 = extractvalue { ptr, i32 } %4539, 1
  store i32 %4541, ptr %6, align 4
  br label %4546

4542:                                             ; preds = %4528
  %4543 = landingpad { ptr, i32 }
          cleanup
  %4544 = extractvalue { ptr, i32 } %4543, 0
  store ptr %4544, ptr %5, align 8
  %4545 = extractvalue { ptr, i32 } %4543, 1
  store i32 %4545, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %466) #10
  br label %4546

4546:                                             ; preds = %4542, %4538
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %467) #10
  br label %4547

4547:                                             ; preds = %4546, %4534
  call void @llvm.lifetime.end.p0(i64 16, ptr %467) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %466) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465) #10
  br label %4548

4548:                                             ; preds = %4547, %4530
  call void @llvm.lifetime.end.p0(i64 8, ptr %465) #10
  br label %4559

4549:                                             ; preds = %4529, %4517
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %464) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %464) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %468) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #10
  store i32 0, ptr %469, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %470) #10
  %4550 = load ptr, ptr %212, align 8, !tbaa !5
  %4551 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4550, i32 0, i32 9
  %4552 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4551, i64 noundef 0) #10
  %4553 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4552, i32 0, i32 3
  %4554 = load ptr, ptr %4553, align 8, !tbaa !43
  %4555 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %4554)
  store i64 %4555, ptr %470, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %468, ptr noundef @.str.31, ptr noundef @.str.115, ptr noundef nonnull align 4 dereferenceable(4) %469, ptr noundef nonnull align 8 dereferenceable(8) %470, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %470) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #10
  %4556 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %468)
          to label %4557 unwind label %4560

4557:                                             ; preds = %4549
  br i1 %4556, label %4558, label %4564

4558:                                             ; preds = %4557
  br label %4584

4559:                                             ; preds = %4548, %4519
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %464) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %464) #10
  br label %5279

4560:                                             ; preds = %4549
  %4561 = landingpad { ptr, i32 }
          cleanup
  %4562 = extractvalue { ptr, i32 } %4561, 0
  store ptr %4562, ptr %5, align 8
  %4563 = extractvalue { ptr, i32 } %4561, 1
  store i32 %4563, ptr %6, align 4
  br label %4591

4564:                                             ; preds = %4557
  call void @llvm.lifetime.start.p0(i64 8, ptr %471) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471)
          to label %4565 unwind label %4570

4565:                                             ; preds = %4564
  call void @llvm.lifetime.start.p0(i64 8, ptr %472) #10
  %4566 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %468)
          to label %4567 unwind label %4574

4567:                                             ; preds = %4565
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %472, i32 noundef 1, ptr noundef @.str.7, i32 noundef 174, ptr noundef %4566)
          to label %4568 unwind label %4574

4568:                                             ; preds = %4567
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %472, ptr noundef nonnull align 8 dereferenceable(8) %471)
          to label %4569 unwind label %4578

4569:                                             ; preds = %4568
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %472) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %472) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %471) #10
  br label %4584

4570:                                             ; preds = %4564
  %4571 = landingpad { ptr, i32 }
          cleanup
  %4572 = extractvalue { ptr, i32 } %4571, 0
  store ptr %4572, ptr %5, align 8
  %4573 = extractvalue { ptr, i32 } %4571, 1
  store i32 %4573, ptr %6, align 4
  br label %4583

4574:                                             ; preds = %4567, %4565
  %4575 = landingpad { ptr, i32 }
          cleanup
  %4576 = extractvalue { ptr, i32 } %4575, 0
  store ptr %4576, ptr %5, align 8
  %4577 = extractvalue { ptr, i32 } %4575, 1
  store i32 %4577, ptr %6, align 4
  br label %4582

4578:                                             ; preds = %4568
  %4579 = landingpad { ptr, i32 }
          cleanup
  %4580 = extractvalue { ptr, i32 } %4579, 0
  store ptr %4580, ptr %5, align 8
  %4581 = extractvalue { ptr, i32 } %4579, 1
  store i32 %4581, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %472) #10
  br label %4582

4582:                                             ; preds = %4578, %4574
  call void @llvm.lifetime.end.p0(i64 8, ptr %472) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471) #10
  br label %4583

4583:                                             ; preds = %4582, %4570
  call void @llvm.lifetime.end.p0(i64 8, ptr %471) #10
  br label %4591

4584:                                             ; preds = %4569, %4558
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %468) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %468) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %473) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #10
  store i32 1, ptr %474, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %475) #10
  %4585 = load ptr, ptr %319, align 8, !tbaa !5
  %4586 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4585, i32 0, i32 9
  %4587 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %4586) #10
  store i64 %4587, ptr %475, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %473, ptr noundef @.str.52, ptr noundef @.str.108, ptr noundef nonnull align 4 dereferenceable(4) %474, ptr noundef nonnull align 8 dereferenceable(8) %475)
  call void @llvm.lifetime.end.p0(i64 8, ptr %475) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #10
  %4588 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %473)
          to label %4589 unwind label %4592

4589:                                             ; preds = %4584
  br i1 %4588, label %4590, label %4596

4590:                                             ; preds = %4589
  br label %4616

4591:                                             ; preds = %4583, %4560
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %468) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %468) #10
  br label %5279

4592:                                             ; preds = %4584
  %4593 = landingpad { ptr, i32 }
          cleanup
  %4594 = extractvalue { ptr, i32 } %4593, 0
  store ptr %4594, ptr %5, align 8
  %4595 = extractvalue { ptr, i32 } %4593, 1
  store i32 %4595, ptr %6, align 4
  br label %4627

4596:                                             ; preds = %4589
  call void @llvm.lifetime.start.p0(i64 8, ptr %476) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %476)
          to label %4597 unwind label %4602

4597:                                             ; preds = %4596
  call void @llvm.lifetime.start.p0(i64 8, ptr %477) #10
  %4598 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %473)
          to label %4599 unwind label %4606

4599:                                             ; preds = %4597
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %477, i32 noundef 1, ptr noundef @.str.7, i32 noundef 176, ptr noundef %4598)
          to label %4600 unwind label %4606

4600:                                             ; preds = %4599
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %477, ptr noundef nonnull align 8 dereferenceable(8) %476)
          to label %4601 unwind label %4610

4601:                                             ; preds = %4600
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %477) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %477) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %476) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %476) #10
  br label %4616

4602:                                             ; preds = %4596
  %4603 = landingpad { ptr, i32 }
          cleanup
  %4604 = extractvalue { ptr, i32 } %4603, 0
  store ptr %4604, ptr %5, align 8
  %4605 = extractvalue { ptr, i32 } %4603, 1
  store i32 %4605, ptr %6, align 4
  br label %4615

4606:                                             ; preds = %4599, %4597
  %4607 = landingpad { ptr, i32 }
          cleanup
  %4608 = extractvalue { ptr, i32 } %4607, 0
  store ptr %4608, ptr %5, align 8
  %4609 = extractvalue { ptr, i32 } %4607, 1
  store i32 %4609, ptr %6, align 4
  br label %4614

4610:                                             ; preds = %4600
  %4611 = landingpad { ptr, i32 }
          cleanup
  %4612 = extractvalue { ptr, i32 } %4611, 0
  store ptr %4612, ptr %5, align 8
  %4613 = extractvalue { ptr, i32 } %4611, 1
  store i32 %4613, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %477) #10
  br label %4614

4614:                                             ; preds = %4610, %4606
  call void @llvm.lifetime.end.p0(i64 8, ptr %477) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %476) #10
  br label %4615

4615:                                             ; preds = %4614, %4602
  call void @llvm.lifetime.end.p0(i64 8, ptr %476) #10
  br label %4627

4616:                                             ; preds = %4601, %4590
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %473) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %473) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %478) #10
  %4617 = load ptr, ptr %319, align 8, !tbaa !5
  %4618 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4617, i32 0, i32 2
  %4619 = load i64, ptr %4618, align 8, !tbaa !40
  %4620 = load ptr, ptr %133, align 8, !tbaa !5
  %4621 = getelementptr inbounds %"class.cascadb::Node", ptr %4620, i32 0, i32 2
  %4622 = load i64, ptr %4621, align 8, !tbaa !44
  %4623 = icmp eq i64 %4619, %4622
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %478, i1 noundef zeroext %4623)
  %4624 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %478)
          to label %4625 unwind label %4628

4625:                                             ; preds = %4616
  br i1 %4624, label %4626, label %4632

4626:                                             ; preds = %4625
  br label %4658

4627:                                             ; preds = %4615, %4592
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %473) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %473) #10
  br label %5279

4628:                                             ; preds = %4616
  %4629 = landingpad { ptr, i32 }
          cleanup
  %4630 = extractvalue { ptr, i32 } %4629, 0
  store ptr %4630, ptr %5, align 8
  %4631 = extractvalue { ptr, i32 } %4629, 1
  store i32 %4631, ptr %6, align 4
  br label %4666

4632:                                             ; preds = %4625
  call void @llvm.lifetime.start.p0(i64 8, ptr %479) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %479)
          to label %4633 unwind label %4639

4633:                                             ; preds = %4632
  call void @llvm.lifetime.start.p0(i64 8, ptr %480) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %481) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %481, ptr noundef nonnull align 8 dereferenceable(16) %478, ptr noundef @.str.139, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %4634 unwind label %4643

4634:                                             ; preds = %4633
  %4635 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %481)
          to label %4636 unwind label %4647

4636:                                             ; preds = %4634
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %480, i32 noundef 1, ptr noundef @.str.7, i32 noundef 177, ptr noundef %4635)
          to label %4637 unwind label %4647

4637:                                             ; preds = %4636
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %480, ptr noundef nonnull align 8 dereferenceable(8) %479)
          to label %4638 unwind label %4651

4638:                                             ; preds = %4637
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %480) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %481) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %481) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %480) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %479) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %479) #10
  br label %4658

4639:                                             ; preds = %4632
  %4640 = landingpad { ptr, i32 }
          cleanup
  %4641 = extractvalue { ptr, i32 } %4640, 0
  store ptr %4641, ptr %5, align 8
  %4642 = extractvalue { ptr, i32 } %4640, 1
  store i32 %4642, ptr %6, align 4
  br label %4657

4643:                                             ; preds = %4633
  %4644 = landingpad { ptr, i32 }
          cleanup
  %4645 = extractvalue { ptr, i32 } %4644, 0
  store ptr %4645, ptr %5, align 8
  %4646 = extractvalue { ptr, i32 } %4644, 1
  store i32 %4646, ptr %6, align 4
  br label %4656

4647:                                             ; preds = %4636, %4634
  %4648 = landingpad { ptr, i32 }
          cleanup
  %4649 = extractvalue { ptr, i32 } %4648, 0
  store ptr %4649, ptr %5, align 8
  %4650 = extractvalue { ptr, i32 } %4648, 1
  store i32 %4650, ptr %6, align 4
  br label %4655

4651:                                             ; preds = %4637
  %4652 = landingpad { ptr, i32 }
          cleanup
  %4653 = extractvalue { ptr, i32 } %4652, 0
  store ptr %4653, ptr %5, align 8
  %4654 = extractvalue { ptr, i32 } %4652, 1
  store i32 %4654, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %480) #10
  br label %4655

4655:                                             ; preds = %4651, %4647
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %481) #10
  br label %4656

4656:                                             ; preds = %4655, %4643
  call void @llvm.lifetime.end.p0(i64 16, ptr %481) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %480) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %479) #10
  br label %4657

4657:                                             ; preds = %4656, %4639
  call void @llvm.lifetime.end.p0(i64 8, ptr %479) #10
  br label %4666

4658:                                             ; preds = %4638, %4626
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %478) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %478) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %482) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #10
  store i32 0, ptr %483, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %484) #10
  %4659 = load ptr, ptr %319, align 8, !tbaa !5
  %4660 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4659, i32 0, i32 3
  %4661 = load ptr, ptr %4660, align 8, !tbaa !26
  %4662 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %4661)
  store i64 %4662, ptr %484, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %482, ptr noundef @.str.31, ptr noundef @.str.102, ptr noundef nonnull align 4 dereferenceable(4) %483, ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %484) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #10
  %4663 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %482)
          to label %4664 unwind label %4667

4664:                                             ; preds = %4658
  br i1 %4663, label %4665, label %4671

4665:                                             ; preds = %4664
  br label %4691

4666:                                             ; preds = %4657, %4628
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %478) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %478) #10
  br label %5279

4667:                                             ; preds = %4658
  %4668 = landingpad { ptr, i32 }
          cleanup
  %4669 = extractvalue { ptr, i32 } %4668, 0
  store ptr %4669, ptr %5, align 8
  %4670 = extractvalue { ptr, i32 } %4668, 1
  store i32 %4670, ptr %6, align 4
  br label %4701

4671:                                             ; preds = %4664
  call void @llvm.lifetime.start.p0(i64 8, ptr %485) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %485)
          to label %4672 unwind label %4677

4672:                                             ; preds = %4671
  call void @llvm.lifetime.start.p0(i64 8, ptr %486) #10
  %4673 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %482)
          to label %4674 unwind label %4681

4674:                                             ; preds = %4672
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %486, i32 noundef 1, ptr noundef @.str.7, i32 noundef 178, ptr noundef %4673)
          to label %4675 unwind label %4681

4675:                                             ; preds = %4674
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %486, ptr noundef nonnull align 8 dereferenceable(8) %485)
          to label %4676 unwind label %4685

4676:                                             ; preds = %4675
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %486) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %486) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %485) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %485) #10
  br label %4691

4677:                                             ; preds = %4671
  %4678 = landingpad { ptr, i32 }
          cleanup
  %4679 = extractvalue { ptr, i32 } %4678, 0
  store ptr %4679, ptr %5, align 8
  %4680 = extractvalue { ptr, i32 } %4678, 1
  store i32 %4680, ptr %6, align 4
  br label %4690

4681:                                             ; preds = %4674, %4672
  %4682 = landingpad { ptr, i32 }
          cleanup
  %4683 = extractvalue { ptr, i32 } %4682, 0
  store ptr %4683, ptr %5, align 8
  %4684 = extractvalue { ptr, i32 } %4682, 1
  store i32 %4684, ptr %6, align 4
  br label %4689

4685:                                             ; preds = %4675
  %4686 = landingpad { ptr, i32 }
          cleanup
  %4687 = extractvalue { ptr, i32 } %4686, 0
  store ptr %4687, ptr %5, align 8
  %4688 = extractvalue { ptr, i32 } %4686, 1
  store i32 %4688, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %486) #10
  br label %4689

4689:                                             ; preds = %4685, %4681
  call void @llvm.lifetime.end.p0(i64 8, ptr %486) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %485) #10
  br label %4690

4690:                                             ; preds = %4689, %4677
  call void @llvm.lifetime.end.p0(i64 8, ptr %485) #10
  br label %4701

4691:                                             ; preds = %4676, %4665
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %482) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %482) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %487) #10
  %4692 = load ptr, ptr %319, align 8, !tbaa !5
  %4693 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4692, i32 0, i32 9
  %4694 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4693, i64 noundef 0) #10
  %4695 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4694, i32 0, i32 2
  %4696 = load i64, ptr %4695, align 8, !tbaa !41
  %4697 = icmp ne i64 %4696, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %487, i1 noundef zeroext %4697)
  %4698 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %487)
          to label %4699 unwind label %4702

4699:                                             ; preds = %4691
  br i1 %4698, label %4700, label %4706

4700:                                             ; preds = %4699
  br label %4732

4701:                                             ; preds = %4690, %4667
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %482) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %482) #10
  br label %5279

4702:                                             ; preds = %4691
  %4703 = landingpad { ptr, i32 }
          cleanup
  %4704 = extractvalue { ptr, i32 } %4703, 0
  store ptr %4704, ptr %5, align 8
  %4705 = extractvalue { ptr, i32 } %4703, 1
  store i32 %4705, ptr %6, align 4
  br label %4740

4706:                                             ; preds = %4699
  call void @llvm.lifetime.start.p0(i64 8, ptr %488) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %488)
          to label %4707 unwind label %4713

4707:                                             ; preds = %4706
  call void @llvm.lifetime.start.p0(i64 8, ptr %489) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %490) #10
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8 %490, ptr noundef nonnull align 8 dereferenceable(16) %487, ptr noundef @.str.140, ptr noundef @.str.17, ptr noundef @.str.18)
          to label %4708 unwind label %4717

4708:                                             ; preds = %4707
  %4709 = invoke noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %490)
          to label %4710 unwind label %4721

4710:                                             ; preds = %4708
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %489, i32 noundef 1, ptr noundef @.str.7, i32 noundef 179, ptr noundef %4709)
          to label %4711 unwind label %4721

4711:                                             ; preds = %4710
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %489, ptr noundef nonnull align 8 dereferenceable(8) %488)
          to label %4712 unwind label %4725

4712:                                             ; preds = %4711
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %489) #10
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %490) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %490) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %489) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %488) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %488) #10
  br label %4732

4713:                                             ; preds = %4706
  %4714 = landingpad { ptr, i32 }
          cleanup
  %4715 = extractvalue { ptr, i32 } %4714, 0
  store ptr %4715, ptr %5, align 8
  %4716 = extractvalue { ptr, i32 } %4714, 1
  store i32 %4716, ptr %6, align 4
  br label %4731

4717:                                             ; preds = %4707
  %4718 = landingpad { ptr, i32 }
          cleanup
  %4719 = extractvalue { ptr, i32 } %4718, 0
  store ptr %4719, ptr %5, align 8
  %4720 = extractvalue { ptr, i32 } %4718, 1
  store i32 %4720, ptr %6, align 4
  br label %4730

4721:                                             ; preds = %4710, %4708
  %4722 = landingpad { ptr, i32 }
          cleanup
  %4723 = extractvalue { ptr, i32 } %4722, 0
  store ptr %4723, ptr %5, align 8
  %4724 = extractvalue { ptr, i32 } %4722, 1
  store i32 %4724, ptr %6, align 4
  br label %4729

4725:                                             ; preds = %4711
  %4726 = landingpad { ptr, i32 }
          cleanup
  %4727 = extractvalue { ptr, i32 } %4726, 0
  store ptr %4727, ptr %5, align 8
  %4728 = extractvalue { ptr, i32 } %4726, 1
  store i32 %4728, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %489) #10
  br label %4729

4729:                                             ; preds = %4725, %4721
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %490) #10
  br label %4730

4730:                                             ; preds = %4729, %4717
  call void @llvm.lifetime.end.p0(i64 16, ptr %490) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %489) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %488) #10
  br label %4731

4731:                                             ; preds = %4730, %4713
  call void @llvm.lifetime.end.p0(i64 8, ptr %488) #10
  br label %4740

4732:                                             ; preds = %4712, %4700
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %487) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %487) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %491) #10
  %4733 = load ptr, ptr %319, align 8, !tbaa !5
  %4734 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4733, i32 0, i32 9
  %4735 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4734, i64 noundef 0) #10
  %4736 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4735, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %491, ptr noundef @.str.63, ptr noundef @.str.141, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %4736)
  %4737 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %491)
          to label %4738 unwind label %4741

4738:                                             ; preds = %4732
  br i1 %4737, label %4739, label %4745

4739:                                             ; preds = %4738
  br label %4765

4740:                                             ; preds = %4731, %4702
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %487) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %487) #10
  br label %5279

4741:                                             ; preds = %4732
  %4742 = landingpad { ptr, i32 }
          cleanup
  %4743 = extractvalue { ptr, i32 } %4742, 0
  store ptr %4743, ptr %5, align 8
  %4744 = extractvalue { ptr, i32 } %4742, 1
  store i32 %4744, ptr %6, align 4
  br label %4775

4745:                                             ; preds = %4738
  call void @llvm.lifetime.start.p0(i64 8, ptr %492) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492)
          to label %4746 unwind label %4751

4746:                                             ; preds = %4745
  call void @llvm.lifetime.start.p0(i64 8, ptr %493) #10
  %4747 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %491)
          to label %4748 unwind label %4755

4748:                                             ; preds = %4746
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %493, i32 noundef 1, ptr noundef @.str.7, i32 noundef 180, ptr noundef %4747)
          to label %4749 unwind label %4755

4749:                                             ; preds = %4748
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %493, ptr noundef nonnull align 8 dereferenceable(8) %492)
          to label %4750 unwind label %4759

4750:                                             ; preds = %4749
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %493) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %493) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %492) #10
  br label %4765

4751:                                             ; preds = %4745
  %4752 = landingpad { ptr, i32 }
          cleanup
  %4753 = extractvalue { ptr, i32 } %4752, 0
  store ptr %4753, ptr %5, align 8
  %4754 = extractvalue { ptr, i32 } %4752, 1
  store i32 %4754, ptr %6, align 4
  br label %4764

4755:                                             ; preds = %4748, %4746
  %4756 = landingpad { ptr, i32 }
          cleanup
  %4757 = extractvalue { ptr, i32 } %4756, 0
  store ptr %4757, ptr %5, align 8
  %4758 = extractvalue { ptr, i32 } %4756, 1
  store i32 %4758, ptr %6, align 4
  br label %4763

4759:                                             ; preds = %4749
  %4760 = landingpad { ptr, i32 }
          cleanup
  %4761 = extractvalue { ptr, i32 } %4760, 0
  store ptr %4761, ptr %5, align 8
  %4762 = extractvalue { ptr, i32 } %4760, 1
  store i32 %4762, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %493) #10
  br label %4763

4763:                                             ; preds = %4759, %4755
  call void @llvm.lifetime.end.p0(i64 8, ptr %493) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492) #10
  br label %4764

4764:                                             ; preds = %4763, %4751
  call void @llvm.lifetime.end.p0(i64 8, ptr %492) #10
  br label %4775

4765:                                             ; preds = %4750, %4739
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %491) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %491) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %494) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #10
  store i32 0, ptr %495, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %496) #10
  %4766 = load ptr, ptr %319, align 8, !tbaa !5
  %4767 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4766, i32 0, i32 9
  %4768 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4767, i64 noundef 0) #10
  %4769 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4768, i32 0, i32 3
  %4770 = load ptr, ptr %4769, align 8, !tbaa !43
  %4771 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %4770)
  store i64 %4771, ptr %496, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %494, ptr noundef @.str.31, ptr noundef @.str.142, ptr noundef nonnull align 4 dereferenceable(4) %495, ptr noundef nonnull align 8 dereferenceable(8) %496, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr %496) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #10
  %4772 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %494)
          to label %4773 unwind label %4776

4773:                                             ; preds = %4765
  br i1 %4772, label %4774, label %4780

4774:                                             ; preds = %4773
  br label %4800

4775:                                             ; preds = %4764, %4741
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %491) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %491) #10
  br label %5279

4776:                                             ; preds = %4765
  %4777 = landingpad { ptr, i32 }
          cleanup
  %4778 = extractvalue { ptr, i32 } %4777, 0
  store ptr %4778, ptr %5, align 8
  %4779 = extractvalue { ptr, i32 } %4777, 1
  store i32 %4779, ptr %6, align 4
  br label %4813

4780:                                             ; preds = %4773
  call void @llvm.lifetime.start.p0(i64 8, ptr %497) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %497)
          to label %4781 unwind label %4786

4781:                                             ; preds = %4780
  call void @llvm.lifetime.start.p0(i64 8, ptr %498) #10
  %4782 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %494)
          to label %4783 unwind label %4790

4783:                                             ; preds = %4781
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %498, i32 noundef 1, ptr noundef @.str.7, i32 noundef 181, ptr noundef %4782)
          to label %4784 unwind label %4790

4784:                                             ; preds = %4783
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %498, ptr noundef nonnull align 8 dereferenceable(8) %497)
          to label %4785 unwind label %4794

4785:                                             ; preds = %4784
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %498) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %498) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %497) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %497) #10
  br label %4800

4786:                                             ; preds = %4780
  %4787 = landingpad { ptr, i32 }
          cleanup
  %4788 = extractvalue { ptr, i32 } %4787, 0
  store ptr %4788, ptr %5, align 8
  %4789 = extractvalue { ptr, i32 } %4787, 1
  store i32 %4789, ptr %6, align 4
  br label %4799

4790:                                             ; preds = %4783, %4781
  %4791 = landingpad { ptr, i32 }
          cleanup
  %4792 = extractvalue { ptr, i32 } %4791, 0
  store ptr %4792, ptr %5, align 8
  %4793 = extractvalue { ptr, i32 } %4791, 1
  store i32 %4793, ptr %6, align 4
  br label %4798

4794:                                             ; preds = %4784
  %4795 = landingpad { ptr, i32 }
          cleanup
  %4796 = extractvalue { ptr, i32 } %4795, 0
  store ptr %4796, ptr %5, align 8
  %4797 = extractvalue { ptr, i32 } %4795, 1
  store i32 %4797, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %498) #10
  br label %4798

4798:                                             ; preds = %4794, %4790
  call void @llvm.lifetime.end.p0(i64 8, ptr %498) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %497) #10
  br label %4799

4799:                                             ; preds = %4798, %4786
  call void @llvm.lifetime.end.p0(i64 8, ptr %497) #10
  br label %4813

4800:                                             ; preds = %4785, %4774
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %494) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %494) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %499) #10
  %4801 = load ptr, ptr %21, align 8, !tbaa !5
  %4802 = load ptr, ptr %319, align 8, !tbaa !5
  %4803 = getelementptr inbounds %"class.cascadb::InnerNode", ptr %4802, i32 0, i32 9
  %4804 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %4803, i64 noundef 0) #10
  %4805 = getelementptr inbounds %"class.cascadb::Pivot", ptr %4804, i32 0, i32 2
  %4806 = load i64, ptr %4805, align 8, !tbaa !41
  %4807 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %4801, i64 noundef %4806, i1 noundef zeroext false)
  store ptr %4807, ptr %499, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %500) #10
  call void @llvm.lifetime.start.p0(i64 8, ptr %501) #10
  store i64 281474976710660, ptr %501, align 8, !tbaa !24
  %4808 = load ptr, ptr %499, align 8, !tbaa !5
  %4809 = getelementptr inbounds %"class.cascadb::Node", ptr %4808, i32 0, i32 2
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %500, ptr noundef @.str.143, ptr noundef @.str.144, ptr noundef nonnull align 8 dereferenceable(8) %501, ptr noundef nonnull align 8 dereferenceable(8) %4809)
  call void @llvm.lifetime.end.p0(i64 8, ptr %501) #10
  %4810 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %500)
          to label %4811 unwind label %4814

4811:                                             ; preds = %4800
  br i1 %4810, label %4812, label %4818

4812:                                             ; preds = %4811
  br label %4838

4813:                                             ; preds = %4799, %4776
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %494) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %494) #10
  br label %5279

4814:                                             ; preds = %4800
  %4815 = landingpad { ptr, i32 }
          cleanup
  %4816 = extractvalue { ptr, i32 } %4815, 0
  store ptr %4816, ptr %5, align 8
  %4817 = extractvalue { ptr, i32 } %4815, 1
  store i32 %4817, ptr %6, align 4
  br label %4845

4818:                                             ; preds = %4811
  call void @llvm.lifetime.start.p0(i64 8, ptr %502) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %502)
          to label %4819 unwind label %4824

4819:                                             ; preds = %4818
  call void @llvm.lifetime.start.p0(i64 8, ptr %503) #10
  %4820 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %500)
          to label %4821 unwind label %4828

4821:                                             ; preds = %4819
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %503, i32 noundef 1, ptr noundef @.str.7, i32 noundef 183, ptr noundef %4820)
          to label %4822 unwind label %4828

4822:                                             ; preds = %4821
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %503, ptr noundef nonnull align 8 dereferenceable(8) %502)
          to label %4823 unwind label %4832

4823:                                             ; preds = %4822
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %503) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %503) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %502) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %502) #10
  br label %4838

4824:                                             ; preds = %4818
  %4825 = landingpad { ptr, i32 }
          cleanup
  %4826 = extractvalue { ptr, i32 } %4825, 0
  store ptr %4826, ptr %5, align 8
  %4827 = extractvalue { ptr, i32 } %4825, 1
  store i32 %4827, ptr %6, align 4
  br label %4837

4828:                                             ; preds = %4821, %4819
  %4829 = landingpad { ptr, i32 }
          cleanup
  %4830 = extractvalue { ptr, i32 } %4829, 0
  store ptr %4830, ptr %5, align 8
  %4831 = extractvalue { ptr, i32 } %4829, 1
  store i32 %4831, ptr %6, align 4
  br label %4836

4832:                                             ; preds = %4822
  %4833 = landingpad { ptr, i32 }
          cleanup
  %4834 = extractvalue { ptr, i32 } %4833, 0
  store ptr %4834, ptr %5, align 8
  %4835 = extractvalue { ptr, i32 } %4833, 1
  store i32 %4835, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %503) #10
  br label %4836

4836:                                             ; preds = %4832, %4828
  call void @llvm.lifetime.end.p0(i64 8, ptr %503) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %502) #10
  br label %4837

4837:                                             ; preds = %4836, %4824
  call void @llvm.lifetime.end.p0(i64 8, ptr %502) #10
  br label %4845

4838:                                             ; preds = %4823, %4812
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %500) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %500) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %504) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #10
  store i32 2, ptr %505, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %506) #10
  %4839 = load ptr, ptr %133, align 8, !tbaa !5
  %4840 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %4839, i32 0, i32 6
  %4841 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %4840)
  store i64 %4841, ptr %506, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %504, ptr noundef @.str.86, ptr noundef @.str.59, ptr noundef nonnull align 4 dereferenceable(4) %505, ptr noundef nonnull align 8 dereferenceable(8) %506)
  call void @llvm.lifetime.end.p0(i64 8, ptr %506) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #10
  %4842 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %504)
          to label %4843 unwind label %4846

4843:                                             ; preds = %4838
  br i1 %4842, label %4844, label %4850

4844:                                             ; preds = %4843
  br label %4870

4845:                                             ; preds = %4837, %4814
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %500) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %500) #10
  br label %5278

4846:                                             ; preds = %4838
  %4847 = landingpad { ptr, i32 }
          cleanup
  %4848 = extractvalue { ptr, i32 } %4847, 0
  store ptr %4848, ptr %5, align 8
  %4849 = extractvalue { ptr, i32 } %4847, 1
  store i32 %4849, ptr %6, align 4
  br label %4878

4850:                                             ; preds = %4843
  call void @llvm.lifetime.start.p0(i64 8, ptr %507) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %507)
          to label %4851 unwind label %4856

4851:                                             ; preds = %4850
  call void @llvm.lifetime.start.p0(i64 8, ptr %508) #10
  %4852 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %504)
          to label %4853 unwind label %4860

4853:                                             ; preds = %4851
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %508, i32 noundef 1, ptr noundef @.str.7, i32 noundef 184, ptr noundef %4852)
          to label %4854 unwind label %4860

4854:                                             ; preds = %4853
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %508, ptr noundef nonnull align 8 dereferenceable(8) %507)
          to label %4855 unwind label %4864

4855:                                             ; preds = %4854
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %508) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %508) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %507) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %507) #10
  br label %4870

4856:                                             ; preds = %4850
  %4857 = landingpad { ptr, i32 }
          cleanup
  %4858 = extractvalue { ptr, i32 } %4857, 0
  store ptr %4858, ptr %5, align 8
  %4859 = extractvalue { ptr, i32 } %4857, 1
  store i32 %4859, ptr %6, align 4
  br label %4869

4860:                                             ; preds = %4853, %4851
  %4861 = landingpad { ptr, i32 }
          cleanup
  %4862 = extractvalue { ptr, i32 } %4861, 0
  store ptr %4862, ptr %5, align 8
  %4863 = extractvalue { ptr, i32 } %4861, 1
  store i32 %4863, ptr %6, align 4
  br label %4868

4864:                                             ; preds = %4854
  %4865 = landingpad { ptr, i32 }
          cleanup
  %4866 = extractvalue { ptr, i32 } %4865, 0
  store ptr %4866, ptr %5, align 8
  %4867 = extractvalue { ptr, i32 } %4865, 1
  store i32 %4867, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %508) #10
  br label %4868

4868:                                             ; preds = %4864, %4860
  call void @llvm.lifetime.end.p0(i64 8, ptr %508) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %507) #10
  br label %4869

4869:                                             ; preds = %4868, %4856
  call void @llvm.lifetime.end.p0(i64 8, ptr %507) #10
  br label %4878

4870:                                             ; preds = %4855, %4844
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %504) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %504) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %509) #10
  %4871 = load ptr, ptr %133, align 8, !tbaa !5
  %4872 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %4871, i32 0, i32 6
  %4873 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %4872, i64 noundef 0)
  %4874 = getelementptr inbounds %"class.cascadb::Record", ptr %4873, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %509, ptr noundef @.str.60, ptr noundef @.str.61, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %4874)
  %4875 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %509)
          to label %4876 unwind label %4879

4876:                                             ; preds = %4870
  br i1 %4875, label %4877, label %4883

4877:                                             ; preds = %4876
  br label %4903

4878:                                             ; preds = %4869, %4846
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %504) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %504) #10
  br label %5278

4879:                                             ; preds = %4870
  %4880 = landingpad { ptr, i32 }
          cleanup
  %4881 = extractvalue { ptr, i32 } %4880, 0
  store ptr %4881, ptr %5, align 8
  %4882 = extractvalue { ptr, i32 } %4880, 1
  store i32 %4882, ptr %6, align 4
  br label %4911

4883:                                             ; preds = %4876
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %510)
          to label %4884 unwind label %4889

4884:                                             ; preds = %4883
  call void @llvm.lifetime.start.p0(i64 8, ptr %511) #10
  %4885 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %509)
          to label %4886 unwind label %4893

4886:                                             ; preds = %4884
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %511, i32 noundef 1, ptr noundef @.str.7, i32 noundef 185, ptr noundef %4885)
          to label %4887 unwind label %4893

4887:                                             ; preds = %4886
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %511, ptr noundef nonnull align 8 dereferenceable(8) %510)
          to label %4888 unwind label %4897

4888:                                             ; preds = %4887
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %511) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %511) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %510) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #10
  br label %4903

4889:                                             ; preds = %4883
  %4890 = landingpad { ptr, i32 }
          cleanup
  %4891 = extractvalue { ptr, i32 } %4890, 0
  store ptr %4891, ptr %5, align 8
  %4892 = extractvalue { ptr, i32 } %4890, 1
  store i32 %4892, ptr %6, align 4
  br label %4902

4893:                                             ; preds = %4886, %4884
  %4894 = landingpad { ptr, i32 }
          cleanup
  %4895 = extractvalue { ptr, i32 } %4894, 0
  store ptr %4895, ptr %5, align 8
  %4896 = extractvalue { ptr, i32 } %4894, 1
  store i32 %4896, ptr %6, align 4
  br label %4901

4897:                                             ; preds = %4887
  %4898 = landingpad { ptr, i32 }
          cleanup
  %4899 = extractvalue { ptr, i32 } %4898, 0
  store ptr %4899, ptr %5, align 8
  %4900 = extractvalue { ptr, i32 } %4898, 1
  store i32 %4900, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %511) #10
  br label %4901

4901:                                             ; preds = %4897, %4893
  call void @llvm.lifetime.end.p0(i64 8, ptr %511) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %510) #10
  br label %4902

4902:                                             ; preds = %4901, %4889
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #10
  br label %4911

4903:                                             ; preds = %4888, %4877
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %509) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %509) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %512) #10
  %4904 = load ptr, ptr %133, align 8, !tbaa !5
  %4905 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %4904, i32 0, i32 6
  %4906 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %4905, i64 noundef 0)
  %4907 = getelementptr inbounds %"class.cascadb::Record", ptr %4906, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %512, ptr noundef @.str.87, ptr noundef @.str.62, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %4907)
  %4908 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %512)
          to label %4909 unwind label %4912

4909:                                             ; preds = %4903
  br i1 %4908, label %4910, label %4916

4910:                                             ; preds = %4909
  br label %4936

4911:                                             ; preds = %4902, %4879
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %509) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %509) #10
  br label %5278

4912:                                             ; preds = %4903
  %4913 = landingpad { ptr, i32 }
          cleanup
  %4914 = extractvalue { ptr, i32 } %4913, 0
  store ptr %4914, ptr %5, align 8
  %4915 = extractvalue { ptr, i32 } %4913, 1
  store i32 %4915, ptr %6, align 4
  br label %4944

4916:                                             ; preds = %4909
  call void @llvm.lifetime.start.p0(i64 8, ptr %513) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %513)
          to label %4917 unwind label %4922

4917:                                             ; preds = %4916
  call void @llvm.lifetime.start.p0(i64 8, ptr %514) #10
  %4918 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %512)
          to label %4919 unwind label %4926

4919:                                             ; preds = %4917
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %514, i32 noundef 1, ptr noundef @.str.7, i32 noundef 185, ptr noundef %4918)
          to label %4920 unwind label %4926

4920:                                             ; preds = %4919
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %514, ptr noundef nonnull align 8 dereferenceable(8) %513)
          to label %4921 unwind label %4930

4921:                                             ; preds = %4920
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %514) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %514) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %513) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %513) #10
  br label %4936

4922:                                             ; preds = %4916
  %4923 = landingpad { ptr, i32 }
          cleanup
  %4924 = extractvalue { ptr, i32 } %4923, 0
  store ptr %4924, ptr %5, align 8
  %4925 = extractvalue { ptr, i32 } %4923, 1
  store i32 %4925, ptr %6, align 4
  br label %4935

4926:                                             ; preds = %4919, %4917
  %4927 = landingpad { ptr, i32 }
          cleanup
  %4928 = extractvalue { ptr, i32 } %4927, 0
  store ptr %4928, ptr %5, align 8
  %4929 = extractvalue { ptr, i32 } %4927, 1
  store i32 %4929, ptr %6, align 4
  br label %4934

4930:                                             ; preds = %4920
  %4931 = landingpad { ptr, i32 }
          cleanup
  %4932 = extractvalue { ptr, i32 } %4931, 0
  store ptr %4932, ptr %5, align 8
  %4933 = extractvalue { ptr, i32 } %4931, 1
  store i32 %4933, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %514) #10
  br label %4934

4934:                                             ; preds = %4930, %4926
  call void @llvm.lifetime.end.p0(i64 8, ptr %514) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %513) #10
  br label %4935

4935:                                             ; preds = %4934, %4922
  call void @llvm.lifetime.end.p0(i64 8, ptr %513) #10
  br label %4944

4936:                                             ; preds = %4921, %4910
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %512) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %512) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %515) #10
  %4937 = load ptr, ptr %133, align 8, !tbaa !5
  %4938 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %4937, i32 0, i32 6
  %4939 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %4938, i64 noundef 1)
  %4940 = getelementptr inbounds %"class.cascadb::Record", ptr %4939, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %515, ptr noundef @.str.117, ptr noundef @.str.64, ptr noundef nonnull align 1 dereferenceable(3) @.str.112, ptr noundef nonnull align 8 dereferenceable(12) %4940)
  %4941 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %515)
          to label %4942 unwind label %4945

4942:                                             ; preds = %4936
  br i1 %4941, label %4943, label %4949

4943:                                             ; preds = %4942
  br label %4969

4944:                                             ; preds = %4935, %4912
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %512) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %512) #10
  br label %5278

4945:                                             ; preds = %4936
  %4946 = landingpad { ptr, i32 }
          cleanup
  %4947 = extractvalue { ptr, i32 } %4946, 0
  store ptr %4947, ptr %5, align 8
  %4948 = extractvalue { ptr, i32 } %4946, 1
  store i32 %4948, ptr %6, align 4
  br label %4977

4949:                                             ; preds = %4942
  call void @llvm.lifetime.start.p0(i64 8, ptr %516) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %516)
          to label %4950 unwind label %4955

4950:                                             ; preds = %4949
  call void @llvm.lifetime.start.p0(i64 8, ptr %517) #10
  %4951 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %515)
          to label %4952 unwind label %4959

4952:                                             ; preds = %4950
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %517, i32 noundef 1, ptr noundef @.str.7, i32 noundef 186, ptr noundef %4951)
          to label %4953 unwind label %4959

4953:                                             ; preds = %4952
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %517, ptr noundef nonnull align 8 dereferenceable(8) %516)
          to label %4954 unwind label %4963

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

4955:                                             ; preds = %4949
  %4956 = landingpad { ptr, i32 }
          cleanup
  %4957 = extractvalue { ptr, i32 } %4956, 0
  store ptr %4957, ptr %5, align 8
  %4958 = extractvalue { ptr, i32 } %4956, 1
  store i32 %4958, ptr %6, align 4
  br label %4968

4959:                                             ; preds = %4952, %4950
  %4960 = landingpad { ptr, i32 }
          cleanup
  %4961 = extractvalue { ptr, i32 } %4960, 0
  store ptr %4961, ptr %5, align 8
  %4962 = extractvalue { ptr, i32 } %4960, 1
  store i32 %4962, ptr %6, align 4
  br label %4967

4963:                                             ; preds = %4953
  %4964 = landingpad { ptr, i32 }
          cleanup
  %4965 = extractvalue { ptr, i32 } %4964, 0
  store ptr %4965, ptr %5, align 8
  %4966 = extractvalue { ptr, i32 } %4964, 1
  store i32 %4966, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %517) #10
  br label %4967

4967:                                             ; preds = %4963, %4959
  call void @llvm.lifetime.end.p0(i64 8, ptr %517) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %516) #10
  br label %4968

4968:                                             ; preds = %4967, %4955
  call void @llvm.lifetime.end.p0(i64 8, ptr %516) #10
  br label %4977

4969:                                             ; preds = %4954, %4943
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %515) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %515) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %518) #10
  %4970 = load ptr, ptr %133, align 8, !tbaa !5
  %4971 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %4970, i32 0, i32 6
  %4972 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %4971, i64 noundef 1)
  %4973 = getelementptr inbounds %"class.cascadb::Record", ptr %4972, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %518, ptr noundef @.str.10, ptr noundef @.str.65, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %4973)
  %4974 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %518)
          to label %4975 unwind label %4978

4975:                                             ; preds = %4969
  br i1 %4974, label %4976, label %4982

4976:                                             ; preds = %4975
  br label %5002

4977:                                             ; preds = %4968, %4945
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %515) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %515) #10
  br label %5278

4978:                                             ; preds = %4969
  %4979 = landingpad { ptr, i32 }
          cleanup
  %4980 = extractvalue { ptr, i32 } %4979, 0
  store ptr %4980, ptr %5, align 8
  %4981 = extractvalue { ptr, i32 } %4979, 1
  store i32 %4981, ptr %6, align 4
  br label %5009

4982:                                             ; preds = %4975
  call void @llvm.lifetime.start.p0(i64 8, ptr %519) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %519)
          to label %4983 unwind label %4988

4983:                                             ; preds = %4982
  call void @llvm.lifetime.start.p0(i64 8, ptr %520) #10
  %4984 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %518)
          to label %4985 unwind label %4992

4985:                                             ; preds = %4983
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %520, i32 noundef 1, ptr noundef @.str.7, i32 noundef 186, ptr noundef %4984)
          to label %4986 unwind label %4992

4986:                                             ; preds = %4985
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %520, ptr noundef nonnull align 8 dereferenceable(8) %519)
          to label %4987 unwind label %4996

4987:                                             ; preds = %4986
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %520) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %520) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %519) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %519) #10
  br label %5002

4988:                                             ; preds = %4982
  %4989 = landingpad { ptr, i32 }
          cleanup
  %4990 = extractvalue { ptr, i32 } %4989, 0
  store ptr %4990, ptr %5, align 8
  %4991 = extractvalue { ptr, i32 } %4989, 1
  store i32 %4991, ptr %6, align 4
  br label %5001

4992:                                             ; preds = %4985, %4983
  %4993 = landingpad { ptr, i32 }
          cleanup
  %4994 = extractvalue { ptr, i32 } %4993, 0
  store ptr %4994, ptr %5, align 8
  %4995 = extractvalue { ptr, i32 } %4993, 1
  store i32 %4995, ptr %6, align 4
  br label %5000

4996:                                             ; preds = %4986
  %4997 = landingpad { ptr, i32 }
          cleanup
  %4998 = extractvalue { ptr, i32 } %4997, 0
  store ptr %4998, ptr %5, align 8
  %4999 = extractvalue { ptr, i32 } %4997, 1
  store i32 %4999, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %520) #10
  br label %5000

5000:                                             ; preds = %4996, %4992
  call void @llvm.lifetime.end.p0(i64 8, ptr %520) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %519) #10
  br label %5001

5001:                                             ; preds = %5000, %4988
  call void @llvm.lifetime.end.p0(i64 8, ptr %519) #10
  br label %5009

5002:                                             ; preds = %4987, %4976
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %518) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %518) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %521) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #10
  store i32 3, ptr %522, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %523) #10
  %5003 = load ptr, ptr %499, align 8, !tbaa !5
  %5004 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5003, i32 0, i32 6
  %5005 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %5004)
  store i64 %5005, ptr %523, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %521, ptr noundef @.str.28, ptr noundef @.str.145, ptr noundef nonnull align 4 dereferenceable(4) %522, ptr noundef nonnull align 8 dereferenceable(8) %523)
  call void @llvm.lifetime.end.p0(i64 8, ptr %523) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #10
  %5006 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %521)
          to label %5007 unwind label %5010

5007:                                             ; preds = %5002
  br i1 %5006, label %5008, label %5014

5008:                                             ; preds = %5007
  br label %5034

5009:                                             ; preds = %5001, %4978
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %518) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %518) #10
  br label %5278

5010:                                             ; preds = %5002
  %5011 = landingpad { ptr, i32 }
          cleanup
  %5012 = extractvalue { ptr, i32 } %5011, 0
  store ptr %5012, ptr %5, align 8
  %5013 = extractvalue { ptr, i32 } %5011, 1
  store i32 %5013, ptr %6, align 4
  br label %5042

5014:                                             ; preds = %5007
  call void @llvm.lifetime.start.p0(i64 8, ptr %524) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524)
          to label %5015 unwind label %5020

5015:                                             ; preds = %5014
  call void @llvm.lifetime.start.p0(i64 8, ptr %525) #10
  %5016 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %521)
          to label %5017 unwind label %5024

5017:                                             ; preds = %5015
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %525, i32 noundef 1, ptr noundef @.str.7, i32 noundef 187, ptr noundef %5016)
          to label %5018 unwind label %5024

5018:                                             ; preds = %5017
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %525, ptr noundef nonnull align 8 dereferenceable(8) %524)
          to label %5019 unwind label %5028

5019:                                             ; preds = %5018
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %525) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %525) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %524) #10
  br label %5034

5020:                                             ; preds = %5014
  %5021 = landingpad { ptr, i32 }
          cleanup
  %5022 = extractvalue { ptr, i32 } %5021, 0
  store ptr %5022, ptr %5, align 8
  %5023 = extractvalue { ptr, i32 } %5021, 1
  store i32 %5023, ptr %6, align 4
  br label %5033

5024:                                             ; preds = %5017, %5015
  %5025 = landingpad { ptr, i32 }
          cleanup
  %5026 = extractvalue { ptr, i32 } %5025, 0
  store ptr %5026, ptr %5, align 8
  %5027 = extractvalue { ptr, i32 } %5025, 1
  store i32 %5027, ptr %6, align 4
  br label %5032

5028:                                             ; preds = %5018
  %5029 = landingpad { ptr, i32 }
          cleanup
  %5030 = extractvalue { ptr, i32 } %5029, 0
  store ptr %5030, ptr %5, align 8
  %5031 = extractvalue { ptr, i32 } %5029, 1
  store i32 %5031, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %525) #10
  br label %5032

5032:                                             ; preds = %5028, %5024
  call void @llvm.lifetime.end.p0(i64 8, ptr %525) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524) #10
  br label %5033

5033:                                             ; preds = %5032, %5020
  call void @llvm.lifetime.end.p0(i64 8, ptr %524) #10
  br label %5042

5034:                                             ; preds = %5019, %5008
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %521) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %521) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %526) #10
  %5035 = load ptr, ptr %499, align 8, !tbaa !5
  %5036 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5035, i32 0, i32 6
  %5037 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5036, i64 noundef 0)
  %5038 = getelementptr inbounds %"class.cascadb::Record", ptr %5037, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %526, ptr noundef @.str.63, ptr noundef @.str.146, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %5038)
  %5039 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %526)
          to label %5040 unwind label %5043

5040:                                             ; preds = %5034
  br i1 %5039, label %5041, label %5047

5041:                                             ; preds = %5040
  br label %5067

5042:                                             ; preds = %5033, %5010
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %521) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %521) #10
  br label %5278

5043:                                             ; preds = %5034
  %5044 = landingpad { ptr, i32 }
          cleanup
  %5045 = extractvalue { ptr, i32 } %5044, 0
  store ptr %5045, ptr %5, align 8
  %5046 = extractvalue { ptr, i32 } %5044, 1
  store i32 %5046, ptr %6, align 4
  br label %5075

5047:                                             ; preds = %5040
  call void @llvm.lifetime.start.p0(i64 8, ptr %527) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527)
          to label %5048 unwind label %5053

5048:                                             ; preds = %5047
  call void @llvm.lifetime.start.p0(i64 8, ptr %528) #10
  %5049 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %526)
          to label %5050 unwind label %5057

5050:                                             ; preds = %5048
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %528, i32 noundef 1, ptr noundef @.str.7, i32 noundef 188, ptr noundef %5049)
          to label %5051 unwind label %5057

5051:                                             ; preds = %5050
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %528, ptr noundef nonnull align 8 dereferenceable(8) %527)
          to label %5052 unwind label %5061

5052:                                             ; preds = %5051
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %528) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %528) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %527) #10
  br label %5067

5053:                                             ; preds = %5047
  %5054 = landingpad { ptr, i32 }
          cleanup
  %5055 = extractvalue { ptr, i32 } %5054, 0
  store ptr %5055, ptr %5, align 8
  %5056 = extractvalue { ptr, i32 } %5054, 1
  store i32 %5056, ptr %6, align 4
  br label %5066

5057:                                             ; preds = %5050, %5048
  %5058 = landingpad { ptr, i32 }
          cleanup
  %5059 = extractvalue { ptr, i32 } %5058, 0
  store ptr %5059, ptr %5, align 8
  %5060 = extractvalue { ptr, i32 } %5058, 1
  store i32 %5060, ptr %6, align 4
  br label %5065

5061:                                             ; preds = %5051
  %5062 = landingpad { ptr, i32 }
          cleanup
  %5063 = extractvalue { ptr, i32 } %5062, 0
  store ptr %5063, ptr %5, align 8
  %5064 = extractvalue { ptr, i32 } %5062, 1
  store i32 %5064, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %528) #10
  br label %5065

5065:                                             ; preds = %5061, %5057
  call void @llvm.lifetime.end.p0(i64 8, ptr %528) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527) #10
  br label %5066

5066:                                             ; preds = %5065, %5053
  call void @llvm.lifetime.end.p0(i64 8, ptr %527) #10
  br label %5075

5067:                                             ; preds = %5052, %5041
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %526) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %526) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %529) #10
  %5068 = load ptr, ptr %499, align 8, !tbaa !5
  %5069 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5068, i32 0, i32 6
  %5070 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5069, i64 noundef 0)
  %5071 = getelementptr inbounds %"class.cascadb::Record", ptr %5070, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %529, ptr noundef @.str.87, ptr noundef @.str.147, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %5071)
  %5072 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %529)
          to label %5073 unwind label %5076

5073:                                             ; preds = %5067
  br i1 %5072, label %5074, label %5080

5074:                                             ; preds = %5073
  br label %5100

5075:                                             ; preds = %5066, %5043
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %526) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %526) #10
  br label %5278

5076:                                             ; preds = %5067
  %5077 = landingpad { ptr, i32 }
          cleanup
  %5078 = extractvalue { ptr, i32 } %5077, 0
  store ptr %5078, ptr %5, align 8
  %5079 = extractvalue { ptr, i32 } %5077, 1
  store i32 %5079, ptr %6, align 4
  br label %5108

5080:                                             ; preds = %5073
  call void @llvm.lifetime.start.p0(i64 8, ptr %530) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %530)
          to label %5081 unwind label %5086

5081:                                             ; preds = %5080
  call void @llvm.lifetime.start.p0(i64 8, ptr %531) #10
  %5082 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %529)
          to label %5083 unwind label %5090

5083:                                             ; preds = %5081
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %531, i32 noundef 1, ptr noundef @.str.7, i32 noundef 188, ptr noundef %5082)
          to label %5084 unwind label %5090

5084:                                             ; preds = %5083
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %531, ptr noundef nonnull align 8 dereferenceable(8) %530)
          to label %5085 unwind label %5094

5085:                                             ; preds = %5084
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %531) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %531) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %530) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %530) #10
  br label %5100

5086:                                             ; preds = %5080
  %5087 = landingpad { ptr, i32 }
          cleanup
  %5088 = extractvalue { ptr, i32 } %5087, 0
  store ptr %5088, ptr %5, align 8
  %5089 = extractvalue { ptr, i32 } %5087, 1
  store i32 %5089, ptr %6, align 4
  br label %5099

5090:                                             ; preds = %5083, %5081
  %5091 = landingpad { ptr, i32 }
          cleanup
  %5092 = extractvalue { ptr, i32 } %5091, 0
  store ptr %5092, ptr %5, align 8
  %5093 = extractvalue { ptr, i32 } %5091, 1
  store i32 %5093, ptr %6, align 4
  br label %5098

5094:                                             ; preds = %5084
  %5095 = landingpad { ptr, i32 }
          cleanup
  %5096 = extractvalue { ptr, i32 } %5095, 0
  store ptr %5096, ptr %5, align 8
  %5097 = extractvalue { ptr, i32 } %5095, 1
  store i32 %5097, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %531) #10
  br label %5098

5098:                                             ; preds = %5094, %5090
  call void @llvm.lifetime.end.p0(i64 8, ptr %531) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %530) #10
  br label %5099

5099:                                             ; preds = %5098, %5086
  call void @llvm.lifetime.end.p0(i64 8, ptr %530) #10
  br label %5108

5100:                                             ; preds = %5085, %5074
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %529) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %529) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %532) #10
  %5101 = load ptr, ptr %499, align 8, !tbaa !5
  %5102 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5101, i32 0, i32 6
  %5103 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5102, i64 noundef 1)
  %5104 = getelementptr inbounds %"class.cascadb::Record", ptr %5103, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %532, ptr noundef @.str.66, ptr noundef @.str.148, ptr noundef nonnull align 1 dereferenceable(2) @.str.50, ptr noundef nonnull align 8 dereferenceable(12) %5104)
  %5105 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %532)
          to label %5106 unwind label %5109

5106:                                             ; preds = %5100
  br i1 %5105, label %5107, label %5113

5107:                                             ; preds = %5106
  br label %5133

5108:                                             ; preds = %5099, %5076
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %529) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %529) #10
  br label %5278

5109:                                             ; preds = %5100
  %5110 = landingpad { ptr, i32 }
          cleanup
  %5111 = extractvalue { ptr, i32 } %5110, 0
  store ptr %5111, ptr %5, align 8
  %5112 = extractvalue { ptr, i32 } %5110, 1
  store i32 %5112, ptr %6, align 4
  br label %5141

5113:                                             ; preds = %5106
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %533)
          to label %5114 unwind label %5119

5114:                                             ; preds = %5113
  call void @llvm.lifetime.start.p0(i64 8, ptr %534) #10
  %5115 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %532)
          to label %5116 unwind label %5123

5116:                                             ; preds = %5114
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %534, i32 noundef 1, ptr noundef @.str.7, i32 noundef 189, ptr noundef %5115)
          to label %5117 unwind label %5123

5117:                                             ; preds = %5116
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %534, ptr noundef nonnull align 8 dereferenceable(8) %533)
          to label %5118 unwind label %5127

5118:                                             ; preds = %5117
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %534) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %534) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %533) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #10
  br label %5133

5119:                                             ; preds = %5113
  %5120 = landingpad { ptr, i32 }
          cleanup
  %5121 = extractvalue { ptr, i32 } %5120, 0
  store ptr %5121, ptr %5, align 8
  %5122 = extractvalue { ptr, i32 } %5120, 1
  store i32 %5122, ptr %6, align 4
  br label %5132

5123:                                             ; preds = %5116, %5114
  %5124 = landingpad { ptr, i32 }
          cleanup
  %5125 = extractvalue { ptr, i32 } %5124, 0
  store ptr %5125, ptr %5, align 8
  %5126 = extractvalue { ptr, i32 } %5124, 1
  store i32 %5126, ptr %6, align 4
  br label %5131

5127:                                             ; preds = %5117
  %5128 = landingpad { ptr, i32 }
          cleanup
  %5129 = extractvalue { ptr, i32 } %5128, 0
  store ptr %5129, ptr %5, align 8
  %5130 = extractvalue { ptr, i32 } %5128, 1
  store i32 %5130, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %534) #10
  br label %5131

5131:                                             ; preds = %5127, %5123
  call void @llvm.lifetime.end.p0(i64 8, ptr %534) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %533) #10
  br label %5132

5132:                                             ; preds = %5131, %5119
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #10
  br label %5141

5133:                                             ; preds = %5118, %5107
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %532) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %532) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %535) #10
  %5134 = load ptr, ptr %499, align 8, !tbaa !5
  %5135 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5134, i32 0, i32 6
  %5136 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5135, i64 noundef 1)
  %5137 = getelementptr inbounds %"class.cascadb::Record", ptr %5136, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %535, ptr noundef @.str.87, ptr noundef @.str.149, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %5137)
  %5138 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %535)
          to label %5139 unwind label %5142

5139:                                             ; preds = %5133
  br i1 %5138, label %5140, label %5146

5140:                                             ; preds = %5139
  br label %5166

5141:                                             ; preds = %5132, %5109
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %532) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %532) #10
  br label %5278

5142:                                             ; preds = %5133
  %5143 = landingpad { ptr, i32 }
          cleanup
  %5144 = extractvalue { ptr, i32 } %5143, 0
  store ptr %5144, ptr %5, align 8
  %5145 = extractvalue { ptr, i32 } %5143, 1
  store i32 %5145, ptr %6, align 4
  br label %5174

5146:                                             ; preds = %5139
  call void @llvm.lifetime.start.p0(i64 8, ptr %536) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %536)
          to label %5147 unwind label %5152

5147:                                             ; preds = %5146
  call void @llvm.lifetime.start.p0(i64 8, ptr %537) #10
  %5148 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %535)
          to label %5149 unwind label %5156

5149:                                             ; preds = %5147
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %537, i32 noundef 1, ptr noundef @.str.7, i32 noundef 189, ptr noundef %5148)
          to label %5150 unwind label %5156

5150:                                             ; preds = %5149
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %537, ptr noundef nonnull align 8 dereferenceable(8) %536)
          to label %5151 unwind label %5160

5151:                                             ; preds = %5150
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %537) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %537) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %536) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %536) #10
  br label %5166

5152:                                             ; preds = %5146
  %5153 = landingpad { ptr, i32 }
          cleanup
  %5154 = extractvalue { ptr, i32 } %5153, 0
  store ptr %5154, ptr %5, align 8
  %5155 = extractvalue { ptr, i32 } %5153, 1
  store i32 %5155, ptr %6, align 4
  br label %5165

5156:                                             ; preds = %5149, %5147
  %5157 = landingpad { ptr, i32 }
          cleanup
  %5158 = extractvalue { ptr, i32 } %5157, 0
  store ptr %5158, ptr %5, align 8
  %5159 = extractvalue { ptr, i32 } %5157, 1
  store i32 %5159, ptr %6, align 4
  br label %5164

5160:                                             ; preds = %5150
  %5161 = landingpad { ptr, i32 }
          cleanup
  %5162 = extractvalue { ptr, i32 } %5161, 0
  store ptr %5162, ptr %5, align 8
  %5163 = extractvalue { ptr, i32 } %5161, 1
  store i32 %5163, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %537) #10
  br label %5164

5164:                                             ; preds = %5160, %5156
  call void @llvm.lifetime.end.p0(i64 8, ptr %537) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %536) #10
  br label %5165

5165:                                             ; preds = %5164, %5152
  call void @llvm.lifetime.end.p0(i64 8, ptr %536) #10
  br label %5174

5166:                                             ; preds = %5151, %5140
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %535) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %535) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %538) #10
  %5167 = load ptr, ptr %499, align 8, !tbaa !5
  %5168 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5167, i32 0, i32 6
  %5169 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5168, i64 noundef 2)
  %5170 = getelementptr inbounds %"class.cascadb::Record", ptr %5169, i32 0, i32 0
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %538, ptr noundef @.str.69, ptr noundef @.str.150, ptr noundef nonnull align 1 dereferenceable(2) @.str.51, ptr noundef nonnull align 8 dereferenceable(12) %5170)
  %5171 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %538)
          to label %5172 unwind label %5175

5172:                                             ; preds = %5166
  br i1 %5171, label %5173, label %5179

5173:                                             ; preds = %5172
  br label %5199

5174:                                             ; preds = %5165, %5142
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %535) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %535) #10
  br label %5278

5175:                                             ; preds = %5166
  %5176 = landingpad { ptr, i32 }
          cleanup
  %5177 = extractvalue { ptr, i32 } %5176, 0
  store ptr %5177, ptr %5, align 8
  %5178 = extractvalue { ptr, i32 } %5176, 1
  store i32 %5178, ptr %6, align 4
  br label %5207

5179:                                             ; preds = %5172
  call void @llvm.lifetime.start.p0(i64 8, ptr %539) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %539)
          to label %5180 unwind label %5185

5180:                                             ; preds = %5179
  call void @llvm.lifetime.start.p0(i64 8, ptr %540) #10
  %5181 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %538)
          to label %5182 unwind label %5189

5182:                                             ; preds = %5180
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %540, i32 noundef 1, ptr noundef @.str.7, i32 noundef 190, ptr noundef %5181)
          to label %5183 unwind label %5189

5183:                                             ; preds = %5182
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %540, ptr noundef nonnull align 8 dereferenceable(8) %539)
          to label %5184 unwind label %5193

5184:                                             ; preds = %5183
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %540) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %540) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %539) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %539) #10
  br label %5199

5185:                                             ; preds = %5179
  %5186 = landingpad { ptr, i32 }
          cleanup
  %5187 = extractvalue { ptr, i32 } %5186, 0
  store ptr %5187, ptr %5, align 8
  %5188 = extractvalue { ptr, i32 } %5186, 1
  store i32 %5188, ptr %6, align 4
  br label %5198

5189:                                             ; preds = %5182, %5180
  %5190 = landingpad { ptr, i32 }
          cleanup
  %5191 = extractvalue { ptr, i32 } %5190, 0
  store ptr %5191, ptr %5, align 8
  %5192 = extractvalue { ptr, i32 } %5190, 1
  store i32 %5192, ptr %6, align 4
  br label %5197

5193:                                             ; preds = %5183
  %5194 = landingpad { ptr, i32 }
          cleanup
  %5195 = extractvalue { ptr, i32 } %5194, 0
  store ptr %5195, ptr %5, align 8
  %5196 = extractvalue { ptr, i32 } %5194, 1
  store i32 %5196, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %540) #10
  br label %5197

5197:                                             ; preds = %5193, %5189
  call void @llvm.lifetime.end.p0(i64 8, ptr %540) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %539) #10
  br label %5198

5198:                                             ; preds = %5197, %5185
  call void @llvm.lifetime.end.p0(i64 8, ptr %539) #10
  br label %5207

5199:                                             ; preds = %5184, %5173
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %538) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %538) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %541) #10
  %5200 = load ptr, ptr %499, align 8, !tbaa !5
  %5201 = getelementptr inbounds %"class.cascadb::LeafNode", ptr %5200, i32 0, i32 6
  %5202 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %5201, i64 noundef 2)
  %5203 = getelementptr inbounds %"class.cascadb::Record", ptr %5202, i32 0, i32 1
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind writable sret(%"class.testing::AssertionResult") align 8 %541, ptr noundef @.str.10, ptr noundef @.str.151, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %5203)
  %5204 = invoke noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %541)
          to label %5205 unwind label %5208

5205:                                             ; preds = %5199
  br i1 %5204, label %5206, label %5212

5206:                                             ; preds = %5205
  br label %5232

5207:                                             ; preds = %5198, %5175
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %538) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %538) #10
  br label %5278

5208:                                             ; preds = %5199
  %5209 = landingpad { ptr, i32 }
          cleanup
  %5210 = extractvalue { ptr, i32 } %5209, 0
  store ptr %5210, ptr %5, align 8
  %5211 = extractvalue { ptr, i32 } %5209, 1
  store i32 %5211, ptr %6, align 4
  br label %5277

5212:                                             ; preds = %5205
  call void @llvm.lifetime.start.p0(i64 8, ptr %542) #10
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %542)
          to label %5213 unwind label %5218

5213:                                             ; preds = %5212
  call void @llvm.lifetime.start.p0(i64 8, ptr %543) #10
  %5214 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %541)
          to label %5215 unwind label %5222

5215:                                             ; preds = %5213
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %543, i32 noundef 1, ptr noundef @.str.7, i32 noundef 190, ptr noundef %5214)
          to label %5216 unwind label %5222

5216:                                             ; preds = %5215
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %543, ptr noundef nonnull align 8 dereferenceable(8) %542)
          to label %5217 unwind label %5226

5217:                                             ; preds = %5216
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %543) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %543) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %542) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %542) #10
  br label %5232

5218:                                             ; preds = %5212
  %5219 = landingpad { ptr, i32 }
          cleanup
  %5220 = extractvalue { ptr, i32 } %5219, 0
  store ptr %5220, ptr %5, align 8
  %5221 = extractvalue { ptr, i32 } %5219, 1
  store i32 %5221, ptr %6, align 4
  br label %5231

5222:                                             ; preds = %5215, %5213
  %5223 = landingpad { ptr, i32 }
          cleanup
  %5224 = extractvalue { ptr, i32 } %5223, 0
  store ptr %5224, ptr %5, align 8
  %5225 = extractvalue { ptr, i32 } %5223, 1
  store i32 %5225, ptr %6, align 4
  br label %5230

5226:                                             ; preds = %5216
  %5227 = landingpad { ptr, i32 }
          cleanup
  %5228 = extractvalue { ptr, i32 } %5227, 0
  store ptr %5228, ptr %5, align 8
  %5229 = extractvalue { ptr, i32 } %5227, 1
  store i32 %5229, ptr %6, align 4
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %543) #10
  br label %5230

5230:                                             ; preds = %5226, %5222
  call void @llvm.lifetime.end.p0(i64 8, ptr %543) #10
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %542) #10
  br label %5231

5231:                                             ; preds = %5230, %5218
  call void @llvm.lifetime.end.p0(i64 8, ptr %542) #10
  br label %5277

5232:                                             ; preds = %5217, %5206
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %541) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %541) #10
  %5233 = load ptr, ptr %60, align 8, !tbaa !5
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %5233)
  %5234 = load ptr, ptr %133, align 8, !tbaa !5
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %5234)
  %5235 = load ptr, ptr %255, align 8, !tbaa !5
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %5235)
  %5236 = load ptr, ptr %499, align 8, !tbaa !5
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %5236)
  %5237 = load ptr, ptr %319, align 8, !tbaa !5
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %5237)
  %5238 = load ptr, ptr %21, align 8, !tbaa !5
  %5239 = icmp eq ptr %5238, null
  br i1 %5239, label %5241, label %5240

5240:                                             ; preds = %5232
  call void @_ZN7cascadb4TreeD1Ev(ptr noundef nonnull align 8 dereferenceable(184) %5238) #10
  call void @_ZdlPvm(ptr noundef %5238, i64 noundef 184) #12
  br label %5241

5241:                                             ; preds = %5240, %5232
  %5242 = load ptr, ptr %16, align 8, !tbaa !5
  %5243 = icmp eq ptr %5242, null
  br i1 %5243, label %5245, label %5244

5244:                                             ; preds = %5241
  call void @_ZN7cascadb5CacheD1Ev(ptr noundef nonnull align 8 dereferenceable(432) %5242) #10
  call void @_ZdlPvm(ptr noundef %5242, i64 noundef 432) #12
  br label %5245

5245:                                             ; preds = %5244, %5241
  %5246 = load ptr, ptr %10, align 8, !tbaa !5
  %5247 = icmp eq ptr %5246, null
  br i1 %5247, label %5249, label %5248

5248:                                             ; preds = %5245
  call void @_ZN7cascadb6LayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(600) %5246) #10
  call void @_ZdlPvm(ptr noundef %5246, i64 noundef 600) #12
  br label %5249

5249:                                             ; preds = %5248, %5245
  %5250 = load ptr, ptr %7, align 8, !tbaa !5
  %5251 = icmp eq ptr %5250, null
  br i1 %5251, label %5256, label %5252

5252:                                             ; preds = %5249
  %5253 = load ptr, ptr %5250, align 8, !tbaa !18
  %5254 = getelementptr inbounds ptr, ptr %5253, i64 1
  %5255 = load ptr, ptr %5254, align 8
  call void %5255(ptr noundef nonnull align 8 dereferenceable(8) %5250) #10
  br label %5256

5256:                                             ; preds = %5252, %5249
  %5257 = load ptr, ptr %4, align 8, !tbaa !5
  %5258 = icmp eq ptr %5257, null
  br i1 %5258, label %5263, label %5259

5259:                                             ; preds = %5256
  %5260 = load ptr, ptr %5257, align 8, !tbaa !18
  %5261 = getelementptr inbounds ptr, ptr %5260, i64 1
  %5262 = load ptr, ptr %5261, align 8
  call void %5262(ptr noundef nonnull align 8 dereferenceable(8) %5257) #10
  br label %5263

5263:                                             ; preds = %5259, %5256
  %5264 = getelementptr inbounds %"class.cascadb::Options", ptr %3, i32 0, i32 1
  %5265 = load ptr, ptr %5264, align 8, !tbaa !9
  %5266 = icmp eq ptr %5265, null
  br i1 %5266, label %5271, label %5267

5267:                                             ; preds = %5263
  %5268 = load ptr, ptr %5265, align 8, !tbaa !18
  %5269 = getelementptr inbounds ptr, ptr %5268, i64 2
  %5270 = load ptr, ptr %5269, align 8
  call void %5270(ptr noundef nonnull align 8 dereferenceable(8) %5265) #10
  br label %5271

5271:                                             ; preds = %5267, %5263
  call void @llvm.lifetime.end.p0(i64 8, ptr %499) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %319) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  store i32 0, ptr %15, align 4
  br label %5272

5272:                                             ; preds = %5271, %718
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  br label %5273

5273:                                             ; preds = %5272, %661
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %5274

5274:                                             ; preds = %5273, %615
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #10
  call void @llvm.lifetime.end.p0(i64 104, ptr %3) #10
  %5275 = load i32, ptr %15, align 4
  switch i32 %5275, label %5295 [
    i32 0, label %5276
    i32 1, label %5276
  ]

5276:                                             ; preds = %5274, %5274
  ret void

5277:                                             ; preds = %5231, %5208
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %541) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %541) #10
  br label %5278

5278:                                             ; preds = %5277, %5207, %5174, %5141, %5108, %5075, %5042, %5009, %4977, %4944, %4911, %4878, %4845
  call void @llvm.lifetime.end.p0(i64 8, ptr %499) #10
  br label %5279

5279:                                             ; preds = %5278, %4813, %4775, %4740, %4701, %4666, %4627, %4591, %4559, %4518, %4480, %4446, %4412, %4378, %4339, %4303, %4266, %4212, %4176, %4140, %4104, %4069, %4035, %4001, %3967, %3934, %3898, %3862, %3826, %3790, %3754, %3718, %3683, %3648, %3615, %3582, %3551, %3480, %3446, %3414, %3381, %3347, %3313, %3279
  call void @llvm.lifetime.end.p0(i64 8, ptr %319) #10
  br label %5280

5280:                                             ; preds = %5279, %3246, %3202, %3161, %3127, %3095, %3061, %3028, %2995, %2962, %2929, %2896, %2863, %2831, %2798, %2765, %2732, %2699
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #10
  br label %5281

5281:                                             ; preds = %5280, %2667, %2623, %2582, %2538, %2497, %2463, %2431, %2398, %2365, %2332
  call void @llvm.lifetime.end.p0(i64 8, ptr %212) #10
  br label %5282

5282:                                             ; preds = %5281, %2299, %2265, %2224, %2160, %2127, %2094, %2061, %2028, %1995, %1962, %1929, %1896, %1864, %1831, %1798, %1765, %1732, %1699, %1666, %1633, %1600
  call void @llvm.lifetime.end.p0(i64 8, ptr %133) #10
  br label %5283

5283:                                             ; preds = %5282, %1568, %1524, %1483, %1442, %1408, %1376, %1343, %1300, %1237, %1204, %1171, %1138, %1105, %1072, %1039, %1006, %973
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #10
  br label %5284

5284:                                             ; preds = %5283, %941, %899, %866, %823, %790
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #10
  br label %5285

5285:                                             ; preds = %5284, %729, %686
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #10
  br label %5286

5286:                                             ; preds = %5285, %674, %626
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #10
  br label %5287

5287:                                             ; preds = %5286, %625, %580
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  br label %5288

5288:                                             ; preds = %5287, %579
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  br label %5289

5289:                                             ; preds = %5288, %567
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #10
  call void @llvm.lifetime.end.p0(i64 104, ptr %3) #10
  br label %5290

5290:                                             ; preds = %5289
  %5291 = load ptr, ptr %5, align 8
  %5292 = load i32, ptr %6, align 4
  %5293 = insertvalue { ptr, i32 } poison, ptr %5291, 0
  %5294 = insertvalue { ptr, i32 } %5293, i32 %5292, 1
  resume { ptr, i32 } %5294

5295:                                             ; preds = %5274
  unreachable
}

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

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

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

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

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

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

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

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

declare void @_ZN7cascadb6LayoutC1EPNS_7AIOFileEmRKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(600), ptr noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #5

declare noundef zeroext i1 @_ZN7cascadb6Layout4initEb(ptr noundef nonnull align 8 dereferenceable(600), i1 noundef zeroext) #5

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

declare void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef, ptr noundef) #5

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

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

declare void @_ZN7cascadb5CacheC1ERKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(432), ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #5

declare noundef zeroext i1 @_ZN7cascadb5Cache4initEv(ptr noundef nonnull align 8 dereferenceable(432)) #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7cascadb4TreeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7OptionsEPNS_5CacheEPNS_6LayoutE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(101), ptr noundef, ptr noundef) unnamed_addr #4 align 2

declare noundef zeroext i1 @_ZN7cascadb4Tree4initEv(ptr noundef nonnull align 8 dereferenceable(184)) #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312), ptr, i32, ptr, i32) #4 align 2

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

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

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

declare noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184), i64 noundef, i1 noundef zeroext) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56), i64 noundef) #9 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104), i64 noundef) #4 align 2

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

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

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 8}
!10 = !{!"_ZTSN7cascadb7OptionsE", !6, i64 0, !6, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !11, i64 48, !11, i64 56, !11, i64 64, !12, i64 72, !12, i64 76, !12, i64 80, !12, i64 84, !12, i64 88, !12, i64 92, !13, i64 96, !14, i64 100}
!11 = !{!"long", !7, i64 0}
!12 = !{!"int", !7, i64 0}
!13 = !{!"_ZTSN7cascadb8CompressE", !7, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{!10, !11, i64 48}
!16 = !{!10, !11, i64 24}
!17 = !{!10, !11, i64 56}
!18 = !{!19, !19, i64 0}
!19 = !{!"vtable pointer", !8, i64 0}
!20 = !{!21, !6, i64 176}
!21 = !{!"_ZTSN7cascadb4TreeE", !22, i64 0, !10, i64 32, !6, i64 136, !6, i64 144, !6, i64 152, !6, i64 160, !6, i64 168, !6, i64 176}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !23, i64 0, !11, i64 8, !7, i64 16}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!24 = !{!11, !11, i64 0}
!25 = !{!12, !12, i64 0}
!26 = !{!27, !6, i64 224}
!27 = !{!"_ZTSN7cascadb9InnerNodeE", !28, i64 0, !14, i64 212, !11, i64 216, !6, i64 224, !34, i64 232, !12, i64 248, !12, i64 252, !12, i64 256, !35, i64 260, !36, i64 264, !11, i64 288, !11, i64 296, !11, i64 304}
!28 = !{!"_ZTSN7cascadb8DataNodeE", !29, i64 0, !6, i64 200, !33, i64 208}
!29 = !{!"_ZTSN7cascadb4NodeE", !22, i64 8, !11, i64 40, !30, i64 48, !14, i64 96, !14, i64 97, !14, i64 98, !31, i64 104, !31, i64 120, !12, i64 136, !12, i64 140, !32, i64 144}
!30 = !{!"_ZTSN7cascadb5MutexE", !14, i64 0, !7, i64 8}
!31 = !{!"_ZTS7timeval", !11, i64 0, !11, i64 8}
!32 = !{!"_ZTSN7cascadb6RWLockE", !7, i64 0}
!33 = !{!"_ZTSN7cascadb10NodeStatusE", !7, i64 0}
!34 = !{!"_ZTSN7cascadb5SliceE", !6, i64 0, !12, i64 8}
!35 = !{!"short", !7, i64 0}
!36 = !{!"_ZTSSt6vectorIN7cascadb5PivotESaIS1_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseIN7cascadb5PivotESaIS1_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIN7cascadb5PivotESaIS1_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIN7cascadb5PivotESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!27, !11, i64 216}
!41 = !{!42, !11, i64 32}
!42 = !{!"_ZTSN7cascadb5PivotE", !34, i64 0, !34, i64 16, !11, i64 32, !6, i64 40, !12, i64 48, !12, i64 52, !12, i64 56, !35, i64 60}
!43 = !{!42, !6, i64 40}
!44 = !{!29, !11, i64 40}
!45 = !{!46, !46, i64 0}
!46 = !{!"_ZTSN7cascadb7MsgTypeE", !7, i64 0}


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

%"class.testing::AssertionResult" = type { i8, %"class.testing::internal::scoped_ptr" }
%"class.testing::internal::scoped_ptr" = type { ptr }
%"class.cascadb::Options" = type <{ ptr, ptr, i64, i64, i64, i64, i64, i64, i64, i32, i32, i32, i32, i32, i32, i32, i8, [3 x i8] }>
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator.2" = type { i8 }
%"class.testing::Message" = type { %"class.testing::internal::scoped_ptr.0" }
%"class.testing::internal::scoped_ptr.0" = type { ptr }
%"class.testing::internal::AssertHelper" = type { ptr }
%"class.testing::internal::String" = type { ptr, i64 }
%"class.cascadb::Slice" = type <{ ptr, i32, [4 x i8] }>

@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [24 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nobuiltin nounwind
declare void @_ZdlPvm(ptr noundef, i64 noundef) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN19Tree_bootstrap_Test8TestBodyEv(ptr nocapture noundef nonnull readnone align 8 dereferenceable(16) %0) unnamed_addr #4 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %"class.cascadb::Options", align 8
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator.2", align 1
  %5 = alloca %"class.testing::AssertionResult", align 8
  %6 = alloca %"class.testing::Message", align 8
  %7 = alloca %"class.testing::internal::AssertHelper", align 8
  %8 = alloca %"class.testing::internal::String", align 8
  %9 = alloca %"class.testing::AssertionResult", align 8
  %10 = alloca %"class.testing::Message", align 8
  %11 = alloca %"class.testing::internal::AssertHelper", align 8
  %12 = alloca %"class.testing::internal::String", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator.2", align 1
  %15 = alloca %"class.testing::AssertionResult", align 8
  %16 = alloca %"class.testing::Message", align 8
  %17 = alloca %"class.testing::internal::AssertHelper", align 8
  %18 = alloca %"class.testing::internal::String", align 8
  %19 = alloca ptr, align 8
  %20 = alloca %"class.testing::AssertionResult", align 8
  %21 = alloca i64, align 8
  %22 = alloca %"class.testing::Message", align 8
  %23 = alloca %"class.testing::internal::AssertHelper", align 8
  %24 = alloca %"class.cascadb::Slice", align 8
  %25 = alloca %"class.cascadb::Slice", align 8
  %26 = alloca %"class.cascadb::Slice", align 8
  %27 = alloca %"class.cascadb::Slice", align 8
  %28 = alloca %"class.cascadb::Slice", align 8
  %29 = alloca %"class.cascadb::Slice", align 8
  %30 = alloca %"class.testing::AssertionResult", align 8
  %31 = alloca i64, align 8
  %32 = alloca %"class.testing::Message", align 8
  %33 = alloca %"class.testing::internal::AssertHelper", align 8
  %34 = alloca %"class.testing::AssertionResult", align 8
  %35 = alloca i32, align 4
  %36 = alloca i64, align 8
  %37 = alloca %"class.testing::Message", align 8
  %38 = alloca %"class.testing::internal::AssertHelper", align 8
  %39 = alloca %"class.cascadb::Slice", align 8
  %40 = alloca %"class.cascadb::Slice", align 8
  %41 = alloca %"class.testing::AssertionResult", align 8
  %42 = alloca i32, align 4
  %43 = alloca i64, align 8
  %44 = alloca %"class.testing::Message", align 8
  %45 = alloca %"class.testing::internal::AssertHelper", align 8
  %46 = alloca %"class.testing::AssertionResult", align 8
  %47 = alloca %"class.testing::Message", align 8
  %48 = alloca %"class.testing::internal::AssertHelper", align 8
  %49 = alloca %"class.testing::internal::String", align 8
  %50 = alloca %"class.testing::AssertionResult", align 8
  %51 = alloca i64, align 8
  %52 = alloca %"class.testing::Message", align 8
  %53 = alloca %"class.testing::internal::AssertHelper", align 8
  %54 = alloca %"class.testing::AssertionResult", align 8
  %55 = alloca i32, align 4
  %56 = alloca i64, align 8
  %57 = alloca %"class.testing::Message", align 8
  %58 = alloca %"class.testing::internal::AssertHelper", align 8
  %59 = alloca %"class.testing::AssertionResult", align 8
  %60 = alloca %"class.testing::Message", align 8
  %61 = alloca %"class.testing::internal::AssertHelper", align 8
  %62 = alloca %"class.testing::AssertionResult", align 8
  %63 = alloca %"class.testing::Message", align 8
  %64 = alloca %"class.testing::internal::AssertHelper", align 8
  %65 = alloca %"class.testing::AssertionResult", align 8
  %66 = alloca %"class.testing::Message", align 8
  %67 = alloca %"class.testing::internal::AssertHelper", align 8
  %68 = alloca %"class.testing::AssertionResult", align 8
  %69 = alloca %"class.testing::Message", align 8
  %70 = alloca %"class.testing::internal::AssertHelper", align 8
  %71 = alloca %"class.testing::AssertionResult", align 8
  %72 = alloca %"class.testing::Message", align 8
  %73 = alloca %"class.testing::internal::AssertHelper", align 8
  %74 = alloca %"class.testing::AssertionResult", align 8
  %75 = alloca %"class.testing::Message", align 8
  %76 = alloca %"class.testing::internal::AssertHelper", align 8
  %77 = alloca %"class.testing::AssertionResult", align 8
  %78 = alloca %"class.testing::Message", align 8
  %79 = alloca %"class.testing::internal::AssertHelper", align 8
  %80 = alloca %"class.testing::AssertionResult", align 8
  %81 = alloca %"class.testing::Message", align 8
  %82 = alloca %"class.testing::internal::AssertHelper", align 8
  %83 = alloca %"class.cascadb::Slice", align 8
  %84 = alloca %"class.cascadb::Slice", align 8
  %85 = alloca %"class.cascadb::Slice", align 8
  %86 = alloca %"class.cascadb::Slice", align 8
  %87 = alloca %"class.cascadb::Slice", align 8
  %88 = alloca %"class.cascadb::Slice", align 8
  %89 = alloca %"class.testing::AssertionResult", align 8
  %90 = alloca i32, align 4
  %91 = alloca i64, align 8
  %92 = alloca %"class.testing::Message", align 8
  %93 = alloca %"class.testing::internal::AssertHelper", align 8
  %94 = alloca %"class.cascadb::Slice", align 8
  %95 = alloca %"class.cascadb::Slice", align 8
  %96 = alloca %"class.testing::AssertionResult", align 8
  %97 = alloca i32, align 4
  %98 = alloca i64, align 8
  %99 = alloca %"class.testing::Message", align 8
  %100 = alloca %"class.testing::internal::AssertHelper", align 8
  %101 = alloca %"class.testing::AssertionResult", align 8
  %102 = alloca %"class.testing::Message", align 8
  %103 = alloca %"class.testing::internal::AssertHelper", align 8
  %104 = alloca %"class.testing::AssertionResult", align 8
  %105 = alloca i32, align 4
  %106 = alloca i64, align 8
  %107 = alloca %"class.testing::Message", align 8
  %108 = alloca %"class.testing::internal::AssertHelper", align 8
  %109 = alloca %"class.testing::AssertionResult", align 8
  %110 = alloca %"class.cascadb::Slice", align 8
  %111 = alloca %"class.testing::Message", align 8
  %112 = alloca %"class.testing::internal::AssertHelper", align 8
  %113 = alloca %"class.testing::internal::String", align 8
  %114 = alloca %"class.testing::AssertionResult", align 8
  %115 = alloca %"class.testing::Message", align 8
  %116 = alloca %"class.testing::internal::AssertHelper", align 8
  %117 = alloca %"class.testing::internal::String", align 8
  %118 = alloca %"class.testing::AssertionResult", align 8
  %119 = alloca %"class.testing::Message", align 8
  %120 = alloca %"class.testing::internal::AssertHelper", align 8
  %121 = alloca %"class.testing::internal::String", align 8
  %122 = alloca %"class.testing::AssertionResult", align 8
  %123 = alloca i64, align 8
  %124 = alloca %"class.testing::Message", align 8
  %125 = alloca %"class.testing::internal::AssertHelper", align 8
  %126 = alloca %"class.testing::AssertionResult", align 8
  %127 = alloca i32, align 4
  %128 = alloca i64, align 8
  %129 = alloca %"class.testing::Message", align 8
  %130 = alloca %"class.testing::internal::AssertHelper", align 8
  %131 = alloca %"class.testing::AssertionResult", align 8
  %132 = alloca %"class.testing::Message", align 8
  %133 = alloca %"class.testing::internal::AssertHelper", align 8
  %134 = alloca %"class.testing::AssertionResult", align 8
  %135 = alloca %"class.testing::Message", align 8
  %136 = alloca %"class.testing::internal::AssertHelper", align 8
  %137 = alloca %"class.testing::AssertionResult", align 8
  %138 = alloca %"class.testing::Message", align 8
  %139 = alloca %"class.testing::internal::AssertHelper", align 8
  %140 = alloca %"class.testing::AssertionResult", align 8
  %141 = alloca %"class.testing::Message", align 8
  %142 = alloca %"class.testing::internal::AssertHelper", align 8
  %143 = alloca %"class.testing::AssertionResult", align 8
  %144 = alloca %"class.testing::Message", align 8
  %145 = alloca %"class.testing::internal::AssertHelper", align 8
  %146 = alloca %"class.testing::AssertionResult", align 8
  %147 = alloca %"class.testing::Message", align 8
  %148 = alloca %"class.testing::internal::AssertHelper", align 8
  %149 = alloca %"class.testing::AssertionResult", align 8
  %150 = alloca %"class.testing::Message", align 8
  %151 = alloca %"class.testing::internal::AssertHelper", align 8
  %152 = alloca %"class.testing::AssertionResult", align 8
  %153 = alloca %"class.testing::Message", align 8
  %154 = alloca %"class.testing::internal::AssertHelper", align 8
  %155 = alloca %"class.testing::AssertionResult", align 8
  %156 = alloca i32, align 4
  %157 = alloca i64, align 8
  %158 = alloca %"class.testing::Message", align 8
  %159 = alloca %"class.testing::internal::AssertHelper", align 8
  %160 = alloca %"class.testing::AssertionResult", align 8
  %161 = alloca %"class.testing::Message", align 8
  %162 = alloca %"class.testing::internal::AssertHelper", align 8
  %163 = alloca %"class.testing::AssertionResult", align 8
  %164 = alloca %"class.testing::Message", align 8
  %165 = alloca %"class.testing::internal::AssertHelper", align 8
  %166 = alloca %"class.testing::AssertionResult", align 8
  %167 = alloca %"class.testing::Message", align 8
  %168 = alloca %"class.testing::internal::AssertHelper", align 8
  %169 = alloca %"class.testing::AssertionResult", align 8
  %170 = alloca %"class.testing::Message", align 8
  %171 = alloca %"class.testing::internal::AssertHelper", align 8
  %172 = alloca %"class.testing::AssertionResult", align 8
  %173 = alloca %"class.testing::Message", align 8
  %174 = alloca %"class.testing::internal::AssertHelper", align 8
  %175 = alloca %"class.testing::AssertionResult", align 8
  %176 = alloca %"class.testing::Message", align 8
  %177 = alloca %"class.testing::internal::AssertHelper", align 8
  %178 = alloca %"class.testing::AssertionResult", align 8
  %179 = alloca %"class.testing::Message", align 8
  %180 = alloca %"class.testing::internal::AssertHelper", align 8
  %181 = alloca %"class.testing::AssertionResult", align 8
  %182 = alloca %"class.testing::Message", align 8
  %183 = alloca %"class.testing::internal::AssertHelper", align 8
  %184 = alloca %"class.cascadb::Slice", align 8
  %185 = alloca %"class.cascadb::Slice", align 8
  %186 = alloca %"class.cascadb::Slice", align 8
  %187 = alloca %"class.cascadb::Slice", align 8
  %188 = alloca %"class.cascadb::Slice", align 8
  %189 = alloca %"class.cascadb::Slice", align 8
  %190 = alloca %"class.testing::AssertionResult", align 8
  %191 = alloca i32, align 4
  %192 = alloca i64, align 8
  %193 = alloca %"class.testing::Message", align 8
  %194 = alloca %"class.testing::internal::AssertHelper", align 8
  %195 = alloca %"class.cascadb::Slice", align 8
  %196 = alloca %"class.cascadb::Slice", align 8
  %197 = alloca %"class.testing::AssertionResult", align 8
  %198 = alloca %"class.testing::Message", align 8
  %199 = alloca %"class.testing::internal::AssertHelper", align 8
  %200 = alloca ptr, align 8
  %201 = alloca %"class.testing::AssertionResult", align 8
  %202 = alloca i64, align 8
  %203 = alloca %"class.testing::Message", align 8
  %204 = alloca %"class.testing::internal::AssertHelper", align 8
  %205 = alloca %"class.testing::AssertionResult", align 8
  %206 = alloca %"class.testing::Message", align 8
  %207 = alloca %"class.testing::internal::AssertHelper", align 8
  %208 = alloca %"class.testing::AssertionResult", align 8
  %209 = alloca i64, align 8
  %210 = alloca i32, align 4
  %211 = alloca %"class.testing::Message", align 8
  %212 = alloca %"class.testing::internal::AssertHelper", align 8
  %213 = alloca %"class.testing::AssertionResult", align 8
  %214 = alloca i32, align 4
  %215 = alloca i64, align 8
  %216 = alloca %"class.testing::Message", align 8
  %217 = alloca %"class.testing::internal::AssertHelper", align 8
  %218 = alloca %"class.testing::AssertionResult", align 8
  %219 = alloca %"class.testing::Message", align 8
  %220 = alloca %"class.testing::internal::AssertHelper", align 8
  %221 = alloca %"class.testing::AssertionResult", align 8
  %222 = alloca i32, align 4
  %223 = alloca i64, align 8
  %224 = alloca %"class.testing::Message", align 8
  %225 = alloca %"class.testing::internal::AssertHelper", align 8
  %226 = alloca %"class.testing::AssertionResult", align 8
  %227 = alloca %"class.cascadb::Slice", align 8
  %228 = alloca %"class.testing::Message", align 8
  %229 = alloca %"class.testing::internal::AssertHelper", align 8
  %230 = alloca %"class.testing::internal::String", align 8
  %231 = alloca %"class.testing::AssertionResult", align 8
  %232 = alloca %"class.testing::Message", align 8
  %233 = alloca %"class.testing::internal::AssertHelper", align 8
  %234 = alloca %"class.testing::internal::String", align 8
  %235 = alloca %"class.testing::AssertionResult", align 8
  %236 = alloca %"class.testing::Message", align 8
  %237 = alloca %"class.testing::internal::AssertHelper", align 8
  %238 = alloca %"class.testing::internal::String", align 8
  %239 = alloca %"class.testing::AssertionResult", align 8
  %240 = alloca %"class.testing::Message", align 8
  %241 = alloca %"class.testing::internal::AssertHelper", align 8
  %242 = alloca %"class.testing::internal::String", align 8
  %243 = alloca %"class.testing::AssertionResult", align 8
  %244 = alloca i64, align 8
  %245 = alloca %"class.testing::Message", align 8
  %246 = alloca %"class.testing::internal::AssertHelper", align 8
  %247 = alloca %"class.testing::AssertionResult", align 8
  %248 = alloca i32, align 4
  %249 = alloca i64, align 8
  %250 = alloca %"class.testing::Message", align 8
  %251 = alloca %"class.testing::internal::AssertHelper", align 8
  %252 = alloca %"class.testing::AssertionResult", align 8
  %253 = alloca %"class.testing::Message", align 8
  %254 = alloca %"class.testing::internal::AssertHelper", align 8
  %255 = alloca %"class.testing::AssertionResult", align 8
  %256 = alloca %"class.testing::Message", align 8
  %257 = alloca %"class.testing::internal::AssertHelper", align 8
  %258 = alloca %"class.testing::AssertionResult", align 8
  %259 = alloca %"class.testing::Message", align 8
  %260 = alloca %"class.testing::internal::AssertHelper", align 8
  %261 = alloca %"class.testing::AssertionResult", align 8
  %262 = alloca %"class.testing::Message", align 8
  %263 = alloca %"class.testing::internal::AssertHelper", align 8
  %264 = alloca %"class.testing::AssertionResult", align 8
  %265 = alloca i32, align 4
  %266 = alloca i64, align 8
  %267 = alloca %"class.testing::Message", align 8
  %268 = alloca %"class.testing::internal::AssertHelper", align 8
  %269 = alloca %"class.testing::AssertionResult", align 8
  %270 = alloca %"class.testing::Message", align 8
  %271 = alloca %"class.testing::internal::AssertHelper", align 8
  %272 = alloca %"class.testing::AssertionResult", align 8
  %273 = alloca %"class.testing::Message", align 8
  %274 = alloca %"class.testing::internal::AssertHelper", align 8
  %275 = alloca %"class.testing::AssertionResult", align 8
  %276 = alloca %"class.testing::Message", align 8
  %277 = alloca %"class.testing::internal::AssertHelper", align 8
  %278 = alloca %"class.testing::AssertionResult", align 8
  %279 = alloca %"class.testing::Message", align 8
  %280 = alloca %"class.testing::internal::AssertHelper", align 8
  %281 = alloca %"class.testing::AssertionResult", align 8
  %282 = alloca %"class.testing::Message", align 8
  %283 = alloca %"class.testing::internal::AssertHelper", align 8
  %284 = alloca %"class.testing::AssertionResult", align 8
  %285 = alloca %"class.testing::Message", align 8
  %286 = alloca %"class.testing::internal::AssertHelper", align 8
  %287 = alloca %"class.testing::AssertionResult", align 8
  %288 = alloca i32, align 4
  %289 = alloca i64, align 8
  %290 = alloca %"class.testing::Message", align 8
  %291 = alloca %"class.testing::internal::AssertHelper", align 8
  %292 = alloca %"class.testing::AssertionResult", align 8
  %293 = alloca i64, align 8
  %294 = alloca i32, align 4
  %295 = alloca %"class.testing::Message", align 8
  %296 = alloca %"class.testing::internal::AssertHelper", align 8
  %297 = alloca %"class.testing::AssertionResult", align 8
  %298 = alloca %"class.cascadb::Slice", align 8
  %299 = alloca %"class.testing::Message", align 8
  %300 = alloca %"class.testing::internal::AssertHelper", align 8
  %301 = alloca %"class.testing::internal::String", align 8
  %302 = alloca %"class.testing::AssertionResult", align 8
  %303 = alloca %"class.testing::Message", align 8
  %304 = alloca %"class.testing::internal::AssertHelper", align 8
  %305 = alloca %"class.testing::internal::String", align 8
  %306 = alloca %"class.testing::AssertionResult", align 8
  %307 = alloca i64, align 8
  %308 = alloca %"class.testing::Message", align 8
  %309 = alloca %"class.testing::internal::AssertHelper", align 8
  %310 = alloca %"class.testing::AssertionResult", align 8
  %311 = alloca i32, align 4
  %312 = alloca i64, align 8
  %313 = alloca %"class.testing::Message", align 8
  %314 = alloca %"class.testing::internal::AssertHelper", align 8
  %315 = alloca %"class.testing::AssertionResult", align 8
  %316 = alloca i32, align 4
  %317 = alloca %"class.testing::Message", align 8
  %318 = alloca %"class.testing::internal::AssertHelper", align 8
  %319 = alloca %"class.testing::AssertionResult", align 8
  %320 = alloca %"class.testing::Message", align 8
  %321 = alloca %"class.testing::internal::AssertHelper", align 8
  %322 = alloca %"class.testing::AssertionResult", align 8
  %323 = alloca %"class.testing::Message", align 8
  %324 = alloca %"class.testing::internal::AssertHelper", align 8
  %325 = alloca %"class.testing::AssertionResult", align 8
  %326 = alloca %"class.testing::Message", align 8
  %327 = alloca %"class.testing::internal::AssertHelper", align 8
  %328 = alloca %"class.testing::AssertionResult", align 8
  %329 = alloca i32, align 4
  %330 = alloca i64, align 8
  %331 = alloca %"class.testing::Message", align 8
  %332 = alloca %"class.testing::internal::AssertHelper", align 8
  %333 = alloca %"class.testing::AssertionResult", align 8
  %334 = alloca i32, align 4
  %335 = alloca i64, align 8
  %336 = alloca %"class.testing::Message", align 8
  %337 = alloca %"class.testing::internal::AssertHelper", align 8
  %338 = alloca %"class.cascadb::Slice", align 8
  %339 = alloca %"class.cascadb::Slice", align 8
  %340 = alloca %"class.cascadb::Slice", align 8
  %341 = alloca %"class.cascadb::Slice", align 8
  %342 = alloca %"class.cascadb::Slice", align 8
  %343 = alloca %"class.cascadb::Slice", align 8
  %344 = alloca %"class.cascadb::Slice", align 8
  %345 = alloca %"class.cascadb::Slice", align 8
  %346 = alloca %"class.testing::AssertionResult", align 8
  %347 = alloca %"class.testing::Message", align 8
  %348 = alloca %"class.testing::internal::AssertHelper", align 8
  %349 = alloca %"class.testing::AssertionResult", align 8
  %350 = alloca i64, align 8
  %351 = alloca %"class.testing::Message", align 8
  %352 = alloca %"class.testing::internal::AssertHelper", align 8
  %353 = alloca %"class.testing::AssertionResult", align 8
  %354 = alloca %"class.testing::Message", align 8
  %355 = alloca %"class.testing::internal::AssertHelper", align 8
  %356 = alloca %"class.testing::AssertionResult", align 8
  %357 = alloca i32, align 4
  %358 = alloca i64, align 8
  %359 = alloca %"class.testing::Message", align 8
  %360 = alloca %"class.testing::internal::AssertHelper", align 8
  %361 = alloca %"class.testing::AssertionResult", align 8
  %362 = alloca %"class.testing::Message", align 8
  %363 = alloca %"class.testing::internal::AssertHelper", align 8
  %364 = alloca %"class.testing::AssertionResult", align 8
  %365 = alloca i32, align 4
  %366 = alloca i64, align 8
  %367 = alloca %"class.testing::Message", align 8
  %368 = alloca %"class.testing::internal::AssertHelper", align 8
  %369 = alloca %"class.testing::AssertionResult", align 8
  %370 = alloca i32, align 4
  %371 = alloca %"class.testing::Message", align 8
  %372 = alloca %"class.testing::internal::AssertHelper", align 8
  %373 = alloca %"class.testing::AssertionResult", align 8
  %374 = alloca %"class.testing::Message", align 8
  %375 = alloca %"class.testing::internal::AssertHelper", align 8
  %376 = alloca %"class.testing::AssertionResult", align 8
  %377 = alloca %"class.testing::Message", align 8
  %378 = alloca %"class.testing::internal::AssertHelper", align 8
  %379 = alloca %"class.testing::AssertionResult", align 8
  %380 = alloca i32, align 4
  %381 = alloca %"class.testing::Message", align 8
  %382 = alloca %"class.testing::internal::AssertHelper", align 8
  %383 = alloca %"class.testing::AssertionResult", align 8
  %384 = alloca %"class.testing::Message", align 8
  %385 = alloca %"class.testing::internal::AssertHelper", align 8
  %386 = alloca %"class.testing::AssertionResult", align 8
  %387 = alloca %"class.testing::Message", align 8
  %388 = alloca %"class.testing::internal::AssertHelper", align 8
  %389 = alloca %"class.testing::AssertionResult", align 8
  %390 = alloca i32, align 4
  %391 = alloca i64, align 8
  %392 = alloca %"class.testing::Message", align 8
  %393 = alloca %"class.testing::internal::AssertHelper", align 8
  %394 = alloca %"class.testing::AssertionResult", align 8
  %395 = alloca i32, align 4
  %396 = alloca %"class.testing::Message", align 8
  %397 = alloca %"class.testing::internal::AssertHelper", align 8
  %398 = alloca %"class.testing::AssertionResult", align 8
  %399 = alloca %"class.testing::Message", align 8
  %400 = alloca %"class.testing::internal::AssertHelper", align 8
  %401 = alloca %"class.testing::AssertionResult", align 8
  %402 = alloca %"class.testing::Message", align 8
  %403 = alloca %"class.testing::internal::AssertHelper", align 8
  %404 = alloca %"class.testing::AssertionResult", align 8
  %405 = alloca i32, align 4
  %406 = alloca i64, align 8
  %407 = alloca %"class.testing::Message", align 8
  %408 = alloca %"class.testing::internal::AssertHelper", align 8
  %409 = alloca %"class.testing::AssertionResult", align 8
  %410 = alloca i32, align 4
  %411 = alloca %"class.testing::Message", align 8
  %412 = alloca %"class.testing::internal::AssertHelper", align 8
  %413 = alloca %"class.testing::AssertionResult", align 8
  %414 = alloca %"class.testing::Message", align 8
  %415 = alloca %"class.testing::internal::AssertHelper", align 8
  %416 = alloca %"class.testing::AssertionResult", align 8
  %417 = alloca %"class.testing::Message", align 8
  %418 = alloca %"class.testing::internal::AssertHelper", align 8
  %419 = alloca %"class.cascadb::Slice", align 8
  %420 = alloca %"class.cascadb::Slice", align 8
  %421 = alloca %"class.cascadb::Slice", align 8
  %422 = alloca %"class.cascadb::Slice", align 8
  %423 = alloca %"class.testing::AssertionResult", align 8
  %424 = alloca %"class.testing::Message", align 8
  %425 = alloca %"class.testing::internal::AssertHelper", align 8
  %426 = alloca %"class.testing::internal::String", align 8
  %427 = alloca %"class.testing::AssertionResult", align 8
  %428 = alloca i64, align 8
  %429 = alloca %"class.testing::Message", align 8
  %430 = alloca %"class.testing::internal::AssertHelper", align 8
  %431 = alloca %"class.testing::AssertionResult", align 8
  %432 = alloca %"class.testing::Message", align 8
  %433 = alloca %"class.testing::internal::AssertHelper", align 8
  %434 = alloca %"class.testing::internal::String", align 8
  %435 = alloca %"class.testing::AssertionResult", align 8
  %436 = alloca i32, align 4
  %437 = alloca i64, align 8
  %438 = alloca %"class.testing::Message", align 8
  %439 = alloca %"class.testing::internal::AssertHelper", align 8
  %440 = alloca %"class.testing::AssertionResult", align 8
  %441 = alloca i32, align 4
  %442 = alloca %"class.testing::Message", align 8
  %443 = alloca %"class.testing::internal::AssertHelper", align 8
  %444 = alloca %"class.testing::AssertionResult", align 8
  %445 = alloca %"class.testing::Message", align 8
  %446 = alloca %"class.testing::internal::AssertHelper", align 8
  %447 = alloca %"class.testing::AssertionResult", align 8
  %448 = alloca %"class.testing::Message", align 8
  %449 = alloca %"class.testing::internal::AssertHelper", align 8
  %450 = alloca %"class.testing::AssertionResult", align 8
  %451 = alloca %"class.testing::Message", align 8
  %452 = alloca %"class.testing::internal::AssertHelper", align 8
  %453 = alloca %"class.testing::internal::String", align 8
  %454 = alloca %"class.testing::AssertionResult", align 8
  %455 = alloca i32, align 4
  %456 = alloca i64, align 8
  %457 = alloca %"class.testing::Message", align 8
  %458 = alloca %"class.testing::internal::AssertHelper", align 8
  %459 = alloca %"class.testing::AssertionResult", align 8
  %460 = alloca i32, align 4
  %461 = alloca i64, align 8
  %462 = alloca %"class.testing::Message", align 8
  %463 = alloca %"class.testing::internal::AssertHelper", align 8
  %464 = alloca %"class.testing::AssertionResult", align 8
  %465 = alloca %"class.testing::Message", align 8
  %466 = alloca %"class.testing::internal::AssertHelper", align 8
  %467 = alloca %"class.testing::internal::String", align 8
  %468 = alloca %"class.testing::AssertionResult", align 8
  %469 = alloca i32, align 4
  %470 = alloca i64, align 8
  %471 = alloca %"class.testing::Message", align 8
  %472 = alloca %"class.testing::internal::AssertHelper", align 8
  %473 = alloca %"class.testing::AssertionResult", align 8
  %474 = alloca %"class.testing::Message", align 8
  %475 = alloca %"class.testing::internal::AssertHelper", align 8
  %476 = alloca %"class.testing::internal::String", align 8
  %477 = alloca %"class.testing::AssertionResult", align 8
  %478 = alloca %"class.testing::Message", align 8
  %479 = alloca %"class.testing::internal::AssertHelper", align 8
  %480 = alloca %"class.testing::AssertionResult", align 8
  %481 = alloca i32, align 4
  %482 = alloca i64, align 8
  %483 = alloca %"class.testing::Message", align 8
  %484 = alloca %"class.testing::internal::AssertHelper", align 8
  %485 = alloca %"class.testing::AssertionResult", align 8
  %486 = alloca i64, align 8
  %487 = alloca %"class.testing::Message", align 8
  %488 = alloca %"class.testing::internal::AssertHelper", align 8
  %489 = alloca %"class.testing::AssertionResult", align 8
  %490 = alloca i32, align 4
  %491 = alloca i64, align 8
  %492 = alloca %"class.testing::Message", align 8
  %493 = alloca %"class.testing::internal::AssertHelper", align 8
  %494 = alloca %"class.testing::AssertionResult", align 8
  %495 = alloca %"class.testing::Message", align 8
  %496 = alloca %"class.testing::internal::AssertHelper", align 8
  %497 = alloca %"class.testing::AssertionResult", align 8
  %498 = alloca %"class.testing::Message", align 8
  %499 = alloca %"class.testing::internal::AssertHelper", align 8
  %500 = alloca %"class.testing::AssertionResult", align 8
  %501 = alloca %"class.testing::Message", align 8
  %502 = alloca %"class.testing::internal::AssertHelper", align 8
  %503 = alloca %"class.testing::AssertionResult", align 8
  %504 = alloca %"class.testing::Message", align 8
  %505 = alloca %"class.testing::internal::AssertHelper", align 8
  %506 = alloca %"class.testing::AssertionResult", align 8
  %507 = alloca i32, align 4
  %508 = alloca i64, align 8
  %509 = alloca %"class.testing::Message", align 8
  %510 = alloca %"class.testing::internal::AssertHelper", align 8
  %511 = alloca %"class.testing::AssertionResult", align 8
  %512 = alloca %"class.testing::Message", align 8
  %513 = alloca %"class.testing::internal::AssertHelper", align 8
  %514 = alloca %"class.testing::AssertionResult", align 8
  %515 = alloca %"class.testing::Message", align 8
  %516 = alloca %"class.testing::internal::AssertHelper", align 8
  %517 = alloca %"class.testing::AssertionResult", align 8
  %518 = alloca %"class.testing::Message", align 8
  %519 = alloca %"class.testing::internal::AssertHelper", align 8
  %520 = alloca %"class.testing::AssertionResult", align 8
  %521 = alloca %"class.testing::Message", align 8
  %522 = alloca %"class.testing::internal::AssertHelper", align 8
  %523 = alloca %"class.testing::AssertionResult", align 8
  %524 = alloca %"class.testing::Message", align 8
  %525 = alloca %"class.testing::internal::AssertHelper", align 8
  %526 = alloca %"class.testing::AssertionResult", align 8
  %527 = alloca %"class.testing::Message", align 8
  %528 = alloca %"class.testing::internal::AssertHelper", align 8
  call void @llvm.lifetime.start.p0(i64 104, ptr nonnull %2) #9
  call void @_ZN7cascadb7OptionsC2Ev(ptr noundef nonnull align 8 dereferenceable(101) %2)
  %529 = call noalias noundef nonnull dereferenceable(8) ptr @_Znwm(i64 noundef 8) #10
  store i64 0, ptr %529, align 8
  call void @_ZN7cascadb17LexicalComparatorC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %529) #9
  %530 = getelementptr inbounds i8, ptr %2, i64 8
  store ptr %529, ptr %530, align 8, !tbaa !5
  %531 = getelementptr inbounds i8, ptr %2, i64 48
  store i64 4, ptr %531, align 8, !tbaa !14
  %532 = getelementptr inbounds i8, ptr %2, i64 24
  store i64 2, ptr %532, align 8, !tbaa !15
  %533 = getelementptr inbounds i8, ptr %2, i64 56
  store i64 4, ptr %533, align 8, !tbaa !16
  %534 = call noalias noundef nonnull dereferenceable(104) ptr @_Znwm(i64 noundef 104) #10
  invoke void @_ZN7cascadb12RAMDirectoryC2Ev(ptr noundef nonnull align 8 dereferenceable(104) %534)
          to label %535 unwind label %546

535:                                              ; preds = %1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %3) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.15, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %536 unwind label %548

536:                                              ; preds = %535
  %537 = load ptr, ptr %534, align 8, !tbaa !17
  %538 = getelementptr inbounds i8, ptr %537, i64 40
  %539 = load ptr, ptr %538, align 8
  %540 = invoke noundef ptr %539(ptr noundef nonnull align 8 dereferenceable(8) %534, ptr noundef nonnull align 8 dereferenceable(32) %3)
          to label %541 unwind label %550

541:                                              ; preds = %536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #9
  %542 = call noalias noundef nonnull dereferenceable(600) ptr @_Znwm(i64 noundef 600) #10
  invoke void @_ZN7cascadb6LayoutC1EPNS_7AIOFileEmRKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(600) %542, ptr noundef %540, i64 noundef 0, ptr noundef nonnull align 8 dereferenceable(101) %2)
          to label %543 unwind label %553

543:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #9
  %544 = call noundef zeroext i1 @_ZN7cascadb6Layout4initEb(ptr noundef nonnull align 8 dereferenceable(600) %542, i1 noundef zeroext true)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %5, i1 noundef zeroext %544)
  %545 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %5)
  br i1 %545, label %572, label %555

546:                                              ; preds = %1
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %534, i64 noundef 104) #11
  br label %3248

548:                                              ; preds = %535
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %552

550:                                              ; preds = %536
  %551 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #9
  br label %552

552:                                              ; preds = %550, %548
  %.pn = phi { ptr, i32 } [ %551, %550 ], [ %549, %548 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %3) #9
  br label %3248

553:                                              ; preds = %541
  %554 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %542, i64 noundef 600) #11
  br label %3248

555:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %556 unwind label %561

556:                                              ; preds = %555
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %8) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %8, ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %557 unwind label %563

557:                                              ; preds = %556
  %558 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %8)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %7, i32 noundef 2, ptr noundef nonnull @.str.7, i32 noundef 43, ptr noundef %558)
          to label %559 unwind label %565

559:                                              ; preds = %557
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %560 unwind label %567

560:                                              ; preds = %559
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %7) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %8) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #9
  br label %3245

561:                                              ; preds = %555
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %571

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

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

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

569:                                              ; preds = %567, %565
  %.pn408 = phi { ptr, i32 } [ %568, %567 ], [ %566, %565 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %8) #9
  br label %570

570:                                              ; preds = %569, %563
  %.pn408.pn = phi { ptr, i32 } [ %.pn408, %569 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %8) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #9
  br label %571

571:                                              ; preds = %570, %561
  %.pn408.pn.pn = phi { ptr, i32 } [ %.pn408.pn, %570 ], [ %562, %561 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #9
  br label %3248

572:                                              ; preds = %543
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %5) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #9
  %573 = call noalias noundef nonnull dereferenceable(432) ptr @_Znwm(i64 noundef 432) #10
  invoke void @_ZN7cascadb5CacheC1ERKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(432) %573, ptr noundef nonnull align 8 dereferenceable(101) %2)
          to label %574 unwind label %577

574:                                              ; preds = %572
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #9
  %575 = call noundef zeroext i1 @_ZN7cascadb5Cache4initEv(ptr noundef nonnull align 8 dereferenceable(432) %573)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %9, i1 noundef zeroext %575)
  %576 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %9)
  br i1 %576, label %596, label %579

577:                                              ; preds = %572
  %578 = landingpad { ptr, i32 }
          cleanup
  call void @_ZdlPvm(ptr noundef nonnull %573, i64 noundef 432) #11
  br label %3248

579:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %580 unwind label %585

580:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %12, ptr noundef nonnull align 8 dereferenceable(16) %9, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %581 unwind label %587

581:                                              ; preds = %580
  %582 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %12)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %11, i32 noundef 2, ptr noundef nonnull @.str.7, i32 noundef 45, ptr noundef %582)
          to label %583 unwind label %589

583:                                              ; preds = %581
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %10)
          to label %584 unwind label %591

584:                                              ; preds = %583
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %11) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #9
  br label %3245

585:                                              ; preds = %579
  %586 = landingpad { ptr, i32 }
          cleanup
  br label %595

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

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

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

593:                                              ; preds = %591, %589
  %.pn412 = phi { ptr, i32 } [ %592, %591 ], [ %590, %589 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %12) #9
  br label %594

594:                                              ; preds = %593, %587
  %.pn412.pn = phi { ptr, i32 } [ %.pn412, %593 ], [ %588, %587 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  br label %595

595:                                              ; preds = %594, %585
  %.pn412.pn.pn = phi { ptr, i32 } [ %.pn412.pn, %594 ], [ %586, %585 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #9
  br label %3248

596:                                              ; preds = %574
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %9) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #9
  %597 = call noalias noundef nonnull dereferenceable(184) ptr @_Znwm(i64 noundef 184) #10
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.20, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %598 unwind label %602

598:                                              ; preds = %596
  invoke void @_ZN7cascadb4TreeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7OptionsEPNS_5CacheEPNS_6LayoutE(ptr noundef nonnull align 8 dereferenceable(184) %597, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(101) %2, ptr noundef nonnull %573, ptr noundef nonnull %542)
          to label %599 unwind label %604

599:                                              ; preds = %598
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #9
  %600 = call noundef zeroext i1 @_ZN7cascadb4Tree4initEv(ptr noundef nonnull align 8 dereferenceable(184) %597)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %15, i1 noundef zeroext %600)
  %601 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %15)
  br i1 %601, label %624, label %607

602:                                              ; preds = %596
  %603 = landingpad { ptr, i32 }
          cleanup
  br label %606

604:                                              ; preds = %598
  %605 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  br label %606

606:                                              ; preds = %604, %602
  %.pn416 = phi { ptr, i32 } [ %605, %604 ], [ %603, %602 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @_ZdlPvm(ptr noundef nonnull %597, i64 noundef 184) #11
  br label %3248

607:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %608 unwind label %613

608:                                              ; preds = %607
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %18, ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %609 unwind label %615

609:                                              ; preds = %608
  %610 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %18)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %17, i32 noundef 2, ptr noundef nonnull @.str.7, i32 noundef 47, ptr noundef %610)
          to label %611 unwind label %617

611:                                              ; preds = %609
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %16)
          to label %612 unwind label %619

612:                                              ; preds = %611
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #9
  br label %3245

613:                                              ; preds = %607
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %623

615:                                              ; preds = %608
  %616 = landingpad { ptr, i32 }
          cleanup
  br label %622

617:                                              ; preds = %609
  %618 = landingpad { ptr, i32 }
          cleanup
  br label %621

619:                                              ; preds = %611
  %620 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %17) #9
  br label %621

621:                                              ; preds = %619, %617
  %.pn418 = phi { ptr, i32 } [ %620, %619 ], [ %618, %617 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %18) #9
  br label %622

622:                                              ; preds = %621, %615
  %.pn418.pn = phi { ptr, i32 } [ %.pn418, %621 ], [ %616, %615 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %16) #9
  br label %623

623:                                              ; preds = %622, %613
  %.pn418.pn.pn = phi { ptr, i32 } [ %.pn418.pn, %622 ], [ %614, %613 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #9
  br label %3248

624:                                              ; preds = %599
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %15) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #9
  %625 = getelementptr inbounds i8, ptr %597, i64 176
  %626 = load ptr, ptr %625, align 8, !tbaa !19
  store ptr %626, ptr %19, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #9
  store i64 2, ptr %21, align 8, !tbaa !24
  %627 = getelementptr inbounds i8, ptr %626, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %20, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %627)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #9
  %628 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %20)
  br i1 %628, label %643, label %629

629:                                              ; preds = %624
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %630 unwind label %635

630:                                              ; preds = %629
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #9
  %631 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %632 unwind label %637

632:                                              ; preds = %630
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %23, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 50, ptr noundef %631)
          to label %633 unwind label %637

633:                                              ; preds = %632
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %634 unwind label %639

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

635:                                              ; preds = %629
  %636 = landingpad { ptr, i32 }
          cleanup
  br label %642

637:                                              ; preds = %632, %630
  %638 = landingpad { ptr, i32 }
          cleanup
  br label %641

639:                                              ; preds = %633
  %640 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %23) #9
  br label %641

641:                                              ; preds = %639, %637
  %.pn422 = phi { ptr, i32 } [ %640, %639 ], [ %638, %637 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %22) #9
  br label %642

642:                                              ; preds = %641, %635
  %.pn422.pn = phi { ptr, i32 } [ %.pn422, %641 ], [ %636, %635 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #9
  br label %3247

643:                                              ; preds = %624, %634
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %20) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #9
  %644 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %24, ptr noundef nonnull @.str.3)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %25, ptr noundef nonnull @.str.4)
  %645 = load ptr, ptr %24, align 8
  %646 = getelementptr inbounds i8, ptr %24, i64 8
  %647 = load i32, ptr %646, align 8
  %648 = load ptr, ptr %25, align 8
  %649 = getelementptr inbounds i8, ptr %25, i64 8
  %650 = load i32, ptr %649, align 8
  %651 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %644, ptr %645, i32 %647, ptr %648, i32 %650)
  %652 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %26, ptr noundef nonnull @.str.24)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %27, ptr noundef nonnull @.str.4)
  %653 = load ptr, ptr %26, align 8
  %654 = getelementptr inbounds i8, ptr %26, i64 8
  %655 = load i32, ptr %654, align 8
  %656 = load ptr, ptr %27, align 8
  %657 = getelementptr inbounds i8, ptr %27, i64 8
  %658 = load i32, ptr %657, align 8
  %659 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %652, ptr %653, i32 %655, ptr %656, i32 %658)
  %660 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %28, ptr noundef nonnull @.str.25)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %29, ptr noundef nonnull @.str.4)
  %661 = load ptr, ptr %28, align 8
  %662 = getelementptr inbounds i8, ptr %28, i64 8
  %663 = load i32, ptr %662, align 8
  %664 = load ptr, ptr %29, align 8
  %665 = getelementptr inbounds i8, ptr %29, i64 8
  %666 = load i32, ptr %665, align 8
  %667 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %660, ptr %661, i32 %663, ptr %664, i32 %666)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #9
  store i64 0, ptr %31, align 8, !tbaa !24
  %668 = load ptr, ptr %19, align 8, !tbaa !23
  %669 = getelementptr inbounds i8, ptr %668, i64 216
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %30, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %669)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #9
  %670 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
  br i1 %670, label %685, label %671

671:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %672 unwind label %677

672:                                              ; preds = %671
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #9
  %673 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %674 unwind label %679

674:                                              ; preds = %672
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %33, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 56, ptr noundef %673)
          to label %675 unwind label %679

675:                                              ; preds = %674
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %676 unwind label %681

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

677:                                              ; preds = %671
  %678 = landingpad { ptr, i32 }
          cleanup
  br label %684

679:                                              ; preds = %674, %672
  %680 = landingpad { ptr, i32 }
          cleanup
  br label %683

681:                                              ; preds = %675
  %682 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %33) #9
  br label %683

683:                                              ; preds = %681, %679
  %.pn425 = phi { ptr, i32 } [ %682, %681 ], [ %680, %679 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %32) #9
  br label %684

684:                                              ; preds = %683, %677
  %.pn425.pn = phi { ptr, i32 } [ %.pn425, %683 ], [ %678, %677 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  br label %3247

685:                                              ; preds = %643, %676
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %30) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #9
  store i32 3, ptr %35, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #9
  %686 = load ptr, ptr %19, align 8, !tbaa !23
  %687 = getelementptr inbounds i8, ptr %686, i64 224
  %688 = load ptr, ptr %687, align 8, !tbaa !26
  %689 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %688)
  store i64 %689, ptr %36, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %34, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 8 dereferenceable(8) %36)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #9
  %690 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
  br i1 %690, label %705, label %691

691:                                              ; preds = %685
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %692 unwind label %697

692:                                              ; preds = %691
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #9
  %693 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
          to label %694 unwind label %699

694:                                              ; preds = %692
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %38, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 57, ptr noundef %693)
          to label %695 unwind label %699

695:                                              ; preds = %694
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %696 unwind label %701

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

697:                                              ; preds = %691
  %698 = landingpad { ptr, i32 }
          cleanup
  br label %704

699:                                              ; preds = %694, %692
  %700 = landingpad { ptr, i32 }
          cleanup
  br label %703

701:                                              ; preds = %695
  %702 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %38) #9
  br label %703

703:                                              ; preds = %701, %699
  %.pn428 = phi { ptr, i32 } [ %702, %701 ], [ %700, %699 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %37) #9
  br label %704

704:                                              ; preds = %703, %697
  %.pn428.pn = phi { ptr, i32 } [ %.pn428, %703 ], [ %698, %697 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  br label %3247

705:                                              ; preds = %685, %696
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #9
  %706 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %39, ptr noundef nonnull @.str.30)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %40, ptr noundef nonnull @.str.4)
  %707 = load ptr, ptr %39, align 8
  %708 = getelementptr inbounds i8, ptr %39, i64 8
  %709 = load i32, ptr %708, align 8
  %710 = load ptr, ptr %40, align 8
  %711 = getelementptr inbounds i8, ptr %40, i64 8
  %712 = load i32, ptr %711, align 8
  %713 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %706, ptr %707, i32 %709, ptr %710, i32 %712)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #9
  store i32 0, ptr %42, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #9
  %714 = load ptr, ptr %19, align 8, !tbaa !23
  %715 = getelementptr inbounds i8, ptr %714, i64 224
  %716 = load ptr, ptr %715, align 8, !tbaa !26
  %717 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %716)
  store i64 %717, ptr %43, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %41, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %42, ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  %718 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %41)
  br i1 %718, label %733, label %719

719:                                              ; preds = %705
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %720 unwind label %725

720:                                              ; preds = %719
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #9
  %721 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %41)
          to label %722 unwind label %727

722:                                              ; preds = %720
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %45, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 61, ptr noundef %721)
          to label %723 unwind label %727

723:                                              ; preds = %722
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(8) %44)
          to label %724 unwind label %729

724:                                              ; preds = %723
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #9
  br label %733

725:                                              ; preds = %719
  %726 = landingpad { ptr, i32 }
          cleanup
  br label %732

727:                                              ; preds = %722, %720
  %728 = landingpad { ptr, i32 }
          cleanup
  br label %731

729:                                              ; preds = %723
  %730 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %45) #9
  br label %731

731:                                              ; preds = %729, %727
  %.pn431 = phi { ptr, i32 } [ %730, %729 ], [ %728, %727 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %44) #9
  br label %732

732:                                              ; preds = %731, %725
  %.pn431.pn = phi { ptr, i32 } [ %.pn431, %731 ], [ %726, %725 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  br label %3247

733:                                              ; preds = %705, %724
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %41) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #9
  %734 = load ptr, ptr %19, align 8, !tbaa !23
  %735 = getelementptr inbounds i8, ptr %734, i64 216
  %736 = load i64, ptr %735, align 8, !tbaa !40
  %737 = icmp ne i64 %736, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %46, i1 noundef zeroext %737)
  %738 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %46)
  br i1 %738, label %756, label %739

739:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %740 unwind label %745

740:                                              ; preds = %739
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %49, ptr noundef nonnull align 8 dereferenceable(16) %46, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %741 unwind label %747

741:                                              ; preds = %740
  %742 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %49)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %48, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 62, ptr noundef %742)
          to label %743 unwind label %749

743:                                              ; preds = %741
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %744 unwind label %751

744:                                              ; preds = %743
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #9
  br label %756

745:                                              ; preds = %739
  %746 = landingpad { ptr, i32 }
          cleanup
  br label %755

747:                                              ; preds = %740
  %748 = landingpad { ptr, i32 }
          cleanup
  br label %754

749:                                              ; preds = %741
  %750 = landingpad { ptr, i32 }
          cleanup
  br label %753

751:                                              ; preds = %743
  %752 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  br label %753

753:                                              ; preds = %751, %749
  %.pn434 = phi { ptr, i32 } [ %752, %751 ], [ %750, %749 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %49) #9
  br label %754

754:                                              ; preds = %753, %747
  %.pn434.pn = phi { ptr, i32 } [ %.pn434, %753 ], [ %748, %747 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %47) #9
  br label %755

755:                                              ; preds = %754, %745
  %.pn434.pn.pn = phi { ptr, i32 } [ %.pn434.pn, %754 ], [ %746, %745 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  br label %3247

756:                                              ; preds = %733, %744
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %46) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #9
  %757 = load ptr, ptr %19, align 8, !tbaa !23
  %758 = getelementptr inbounds i8, ptr %757, i64 216
  %759 = load i64, ptr %758, align 8, !tbaa !40
  %760 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %597, i64 noundef %759, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #9
  store i64 281474976710657, ptr %51, align 8, !tbaa !24
  %761 = getelementptr inbounds i8, ptr %760, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %50, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.34, ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %761)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #9
  %762 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %50)
  br i1 %762, label %777, label %763

763:                                              ; preds = %756
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %764 unwind label %769

764:                                              ; preds = %763
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #9
  %765 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %766 unwind label %771

766:                                              ; preds = %764
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %53, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 64, ptr noundef %765)
          to label %767 unwind label %771

767:                                              ; preds = %766
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 8 dereferenceable(8) %52)
          to label %768 unwind label %773

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

769:                                              ; preds = %763
  %770 = landingpad { ptr, i32 }
          cleanup
  br label %776

771:                                              ; preds = %766, %764
  %772 = landingpad { ptr, i32 }
          cleanup
  br label %775

773:                                              ; preds = %767
  %774 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %53) #9
  br label %775

775:                                              ; preds = %773, %771
  %.pn438 = phi { ptr, i32 } [ %774, %773 ], [ %772, %771 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %52) #9
  br label %776

776:                                              ; preds = %775, %769
  %.pn438.pn = phi { ptr, i32 } [ %.pn438, %775 ], [ %770, %769 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #9
  br label %3247

777:                                              ; preds = %756, %768
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %50) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %54) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %55) #9
  store i32 4, ptr %55, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #9
  %778 = getelementptr inbounds i8, ptr %760, i64 264
  %779 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %778)
  store i64 %779, ptr %56, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %54, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %55, ptr noundef nonnull align 8 dereferenceable(8) %56)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %55) #9
  %780 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
  br i1 %780, label %795, label %781

781:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %782 unwind label %787

782:                                              ; preds = %781
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #9
  %783 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %54)
          to label %784 unwind label %789

784:                                              ; preds = %782
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %58, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 65, ptr noundef %783)
          to label %785 unwind label %789

785:                                              ; preds = %784
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %58, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %786 unwind label %791

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

787:                                              ; preds = %781
  %788 = landingpad { ptr, i32 }
          cleanup
  br label %794

789:                                              ; preds = %784, %782
  %790 = landingpad { ptr, i32 }
          cleanup
  br label %793

791:                                              ; preds = %785
  %792 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %58) #9
  br label %793

793:                                              ; preds = %791, %789
  %.pn441 = phi { ptr, i32 } [ %792, %791 ], [ %790, %789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %57) #9
  br label %794

794:                                              ; preds = %793, %787
  %.pn441.pn = phi { ptr, i32 } [ %.pn441, %793 ], [ %788, %787 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #9
  br label %3247

795:                                              ; preds = %777, %786
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %54) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %54) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %59) #9
  %796 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %59, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %796)
  %797 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %59)
  br i1 %797, label %812, label %798

798:                                              ; preds = %795
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %799 unwind label %804

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

801:                                              ; preds = %799
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %61, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 66, ptr noundef %800)
          to label %802 unwind label %806

802:                                              ; preds = %801
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %60)
          to label %803 unwind label %808

803:                                              ; preds = %802
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #9
  br label %812

804:                                              ; preds = %798
  %805 = landingpad { ptr, i32 }
          cleanup
  br label %811

806:                                              ; preds = %801, %799
  %807 = landingpad { ptr, i32 }
          cleanup
  br label %810

808:                                              ; preds = %802
  %809 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %61) #9
  br label %810

810:                                              ; preds = %808, %806
  %.pn444 = phi { ptr, i32 } [ %809, %808 ], [ %807, %806 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %60) #9
  br label %811

811:                                              ; preds = %810, %804
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %810 ], [ %805, %804 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #9
  br label %3247

812:                                              ; preds = %795, %803
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %59) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %59) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %62) #9
  %813 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  %814 = getelementptr inbounds i8, ptr %813, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %62, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %814)
  %815 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %62)
  br i1 %815, label %830, label %816

816:                                              ; preds = %812
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %817 unwind label %822

817:                                              ; preds = %816
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #9
  %818 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %62)
          to label %819 unwind label %824

819:                                              ; preds = %817
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %64, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 66, ptr noundef %818)
          to label %820 unwind label %824

820:                                              ; preds = %819
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %63)
          to label %821 unwind label %826

821:                                              ; preds = %820
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #9
  br label %830

822:                                              ; preds = %816
  %823 = landingpad { ptr, i32 }
          cleanup
  br label %829

824:                                              ; preds = %819, %817
  %825 = landingpad { ptr, i32 }
          cleanup
  br label %828

826:                                              ; preds = %820
  %827 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %64) #9
  br label %828

828:                                              ; preds = %826, %824
  %.pn447 = phi { ptr, i32 } [ %827, %826 ], [ %825, %824 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %63) #9
  br label %829

829:                                              ; preds = %828, %822
  %.pn447.pn = phi { ptr, i32 } [ %.pn447, %828 ], [ %823, %822 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #9
  br label %3247

830:                                              ; preds = %812, %821
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %62) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %65) #9
  %831 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %65, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %831)
  %832 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %65)
  br i1 %832, label %847, label %833

833:                                              ; preds = %830
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %834 unwind label %839

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

836:                                              ; preds = %834
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %67, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 67, ptr noundef %835)
          to label %837 unwind label %841

837:                                              ; preds = %836
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %67, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %838 unwind label %843

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

839:                                              ; preds = %833
  %840 = landingpad { ptr, i32 }
          cleanup
  br label %846

841:                                              ; preds = %836, %834
  %842 = landingpad { ptr, i32 }
          cleanup
  br label %845

843:                                              ; preds = %837
  %844 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %67) #9
  br label %845

845:                                              ; preds = %843, %841
  %.pn450 = phi { ptr, i32 } [ %844, %843 ], [ %842, %841 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %66) #9
  br label %846

846:                                              ; preds = %845, %839
  %.pn450.pn = phi { ptr, i32 } [ %.pn450, %845 ], [ %840, %839 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #9
  br label %3247

847:                                              ; preds = %830, %838
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %65) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %65) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %68) #9
  %848 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  %849 = getelementptr inbounds i8, ptr %848, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %68, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %849)
  %850 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %68)
  br i1 %850, label %865, label %851

851:                                              ; preds = %847
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %852 unwind label %857

852:                                              ; preds = %851
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #9
  %853 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %68)
          to label %854 unwind label %859

854:                                              ; preds = %852
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %70, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 67, ptr noundef %853)
          to label %855 unwind label %859

855:                                              ; preds = %854
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %70, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %856 unwind label %861

856:                                              ; preds = %855
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #9
  br label %865

857:                                              ; preds = %851
  %858 = landingpad { ptr, i32 }
          cleanup
  br label %864

859:                                              ; preds = %854, %852
  %860 = landingpad { ptr, i32 }
          cleanup
  br label %863

861:                                              ; preds = %855
  %862 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %70) #9
  br label %863

863:                                              ; preds = %861, %859
  %.pn453 = phi { ptr, i32 } [ %862, %861 ], [ %860, %859 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %69) #9
  br label %864

864:                                              ; preds = %863, %857
  %.pn453.pn = phi { ptr, i32 } [ %.pn453, %863 ], [ %858, %857 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #9
  br label %3247

865:                                              ; preds = %847, %856
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %68) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %71) #9
  %866 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 2)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %71, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.43, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %866)
  %867 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %71)
  br i1 %867, label %882, label %868

868:                                              ; preds = %865
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %869 unwind label %874

869:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #9
  %870 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %71)
          to label %871 unwind label %876

871:                                              ; preds = %869
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %73, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 68, ptr noundef %870)
          to label %872 unwind label %876

872:                                              ; preds = %871
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(8) %72)
          to label %873 unwind label %878

873:                                              ; preds = %872
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #9
  br label %882

874:                                              ; preds = %868
  %875 = landingpad { ptr, i32 }
          cleanup
  br label %881

876:                                              ; preds = %871, %869
  %877 = landingpad { ptr, i32 }
          cleanup
  br label %880

878:                                              ; preds = %872
  %879 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %73) #9
  br label %880

880:                                              ; preds = %878, %876
  %.pn456 = phi { ptr, i32 } [ %879, %878 ], [ %877, %876 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %72) #9
  br label %881

881:                                              ; preds = %880, %874
  %.pn456.pn = phi { ptr, i32 } [ %.pn456, %880 ], [ %875, %874 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %71) #9
  br label %3247

882:                                              ; preds = %865, %873
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %71) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %74) #9
  %883 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 2)
  %884 = getelementptr inbounds i8, ptr %883, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %74, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %884)
  %885 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %74)
  br i1 %885, label %900, label %886

886:                                              ; preds = %882
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %887 unwind label %892

887:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #9
  %888 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %74)
          to label %889 unwind label %894

889:                                              ; preds = %887
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %76, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 68, ptr noundef %888)
          to label %890 unwind label %894

890:                                              ; preds = %889
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %891 unwind label %896

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

892:                                              ; preds = %886
  %893 = landingpad { ptr, i32 }
          cleanup
  br label %899

894:                                              ; preds = %889, %887
  %895 = landingpad { ptr, i32 }
          cleanup
  br label %898

896:                                              ; preds = %890
  %897 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %76) #9
  br label %898

898:                                              ; preds = %896, %894
  %.pn459 = phi { ptr, i32 } [ %897, %896 ], [ %895, %894 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %75) #9
  br label %899

899:                                              ; preds = %898, %892
  %.pn459.pn = phi { ptr, i32 } [ %.pn459, %898 ], [ %893, %892 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #9
  br label %3247

900:                                              ; preds = %882, %891
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %74) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %74) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %77) #9
  %901 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 3)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %77, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.46, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %901)
  %902 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %77)
  br i1 %902, label %917, label %903

903:                                              ; preds = %900
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %904 unwind label %909

904:                                              ; preds = %903
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %79) #9
  %905 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %77)
          to label %906 unwind label %911

906:                                              ; preds = %904
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %79, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 69, ptr noundef %905)
          to label %907 unwind label %911

907:                                              ; preds = %906
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %79, ptr noundef nonnull align 8 dereferenceable(8) %78)
          to label %908 unwind label %913

908:                                              ; preds = %907
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #9
  br label %917

909:                                              ; preds = %903
  %910 = landingpad { ptr, i32 }
          cleanup
  br label %916

911:                                              ; preds = %906, %904
  %912 = landingpad { ptr, i32 }
          cleanup
  br label %915

913:                                              ; preds = %907
  %914 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %79) #9
  br label %915

915:                                              ; preds = %913, %911
  %.pn462 = phi { ptr, i32 } [ %914, %913 ], [ %912, %911 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %79) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %78) #9
  br label %916

916:                                              ; preds = %915, %909
  %.pn462.pn = phi { ptr, i32 } [ %.pn462, %915 ], [ %910, %909 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #9
  br label %3247

917:                                              ; preds = %900, %908
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %77) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %77) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #9
  %918 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 3)
  %919 = getelementptr inbounds i8, ptr %918, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %80, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %919)
  %920 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %80)
  br i1 %920, label %935, label %921

921:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %922 unwind label %927

922:                                              ; preds = %921
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #9
  %923 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %80)
          to label %924 unwind label %929

924:                                              ; preds = %922
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %82, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 69, ptr noundef %923)
          to label %925 unwind label %929

925:                                              ; preds = %924
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %82, ptr noundef nonnull align 8 dereferenceable(8) %81)
          to label %926 unwind label %931

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

927:                                              ; preds = %921
  %928 = landingpad { ptr, i32 }
          cleanup
  br label %934

929:                                              ; preds = %924, %922
  %930 = landingpad { ptr, i32 }
          cleanup
  br label %933

931:                                              ; preds = %925
  %932 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %82) #9
  br label %933

933:                                              ; preds = %931, %929
  %.pn465 = phi { ptr, i32 } [ %932, %931 ], [ %930, %929 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %81) #9
  br label %934

934:                                              ; preds = %933, %927
  %.pn465.pn = phi { ptr, i32 } [ %.pn465, %933 ], [ %928, %927 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #9
  br label %3247

935:                                              ; preds = %917, %926
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %80) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #9
  %936 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %83, ptr noundef nonnull @.str.48)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %84, ptr noundef nonnull @.str.4)
  %937 = load ptr, ptr %83, align 8
  %938 = getelementptr inbounds i8, ptr %83, i64 8
  %939 = load i32, ptr %938, align 8
  %940 = load ptr, ptr %84, align 8
  %941 = getelementptr inbounds i8, ptr %84, i64 8
  %942 = load i32, ptr %941, align 8
  %943 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %936, ptr %937, i32 %939, ptr %940, i32 %942)
  %944 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %85, ptr noundef nonnull @.str.49)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %86, ptr noundef nonnull @.str.4)
  %945 = load ptr, ptr %85, align 8
  %946 = getelementptr inbounds i8, ptr %85, i64 8
  %947 = load i32, ptr %946, align 8
  %948 = load ptr, ptr %86, align 8
  %949 = getelementptr inbounds i8, ptr %86, i64 8
  %950 = load i32, ptr %949, align 8
  %951 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %944, ptr %945, i32 %947, ptr %948, i32 %950)
  %952 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %87, ptr noundef nonnull @.str.50)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %88, ptr noundef nonnull @.str.4)
  %953 = load ptr, ptr %87, align 8
  %954 = getelementptr inbounds i8, ptr %87, i64 8
  %955 = load i32, ptr %954, align 8
  %956 = load ptr, ptr %88, align 8
  %957 = getelementptr inbounds i8, ptr %88, i64 8
  %958 = load i32, ptr %957, align 8
  %959 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %952, ptr %953, i32 %955, ptr %956, i32 %958)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %89) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %90) #9
  store i32 3, ptr %90, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #9
  %960 = load ptr, ptr %19, align 8, !tbaa !23
  %961 = getelementptr inbounds i8, ptr %960, i64 224
  %962 = load ptr, ptr %961, align 8, !tbaa !26
  %963 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %962)
  store i64 %963, ptr %91, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %89, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %90, ptr noundef nonnull align 8 dereferenceable(8) %91)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %90) #9
  %964 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %89)
  br i1 %964, label %979, label %965

965:                                              ; preds = %935
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %966 unwind label %971

966:                                              ; preds = %965
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #9
  %967 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %89)
          to label %968 unwind label %973

968:                                              ; preds = %966
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %93, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 75, ptr noundef %967)
          to label %969 unwind label %973

969:                                              ; preds = %968
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %92)
          to label %970 unwind label %975

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

971:                                              ; preds = %965
  %972 = landingpad { ptr, i32 }
          cleanup
  br label %978

973:                                              ; preds = %968, %966
  %974 = landingpad { ptr, i32 }
          cleanup
  br label %977

975:                                              ; preds = %969
  %976 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %93) #9
  br label %977

977:                                              ; preds = %975, %973
  %.pn468 = phi { ptr, i32 } [ %976, %975 ], [ %974, %973 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %92) #9
  br label %978

978:                                              ; preds = %977, %971
  %.pn468.pn = phi { ptr, i32 } [ %.pn468, %977 ], [ %972, %971 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %89) #9
  br label %3247

979:                                              ; preds = %935, %970
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %89) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %89) #9
  %980 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %94, ptr noundef nonnull @.str.51)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %95, ptr noundef nonnull @.str.4)
  %981 = load ptr, ptr %94, align 8
  %982 = getelementptr inbounds i8, ptr %94, i64 8
  %983 = load i32, ptr %982, align 8
  %984 = load ptr, ptr %95, align 8
  %985 = getelementptr inbounds i8, ptr %95, i64 8
  %986 = load i32, ptr %985, align 8
  %987 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %980, ptr %981, i32 %983, ptr %984, i32 %986)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %96) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %97) #9
  store i32 0, ptr %97, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #9
  %988 = load ptr, ptr %19, align 8, !tbaa !23
  %989 = getelementptr inbounds i8, ptr %988, i64 224
  %990 = load ptr, ptr %989, align 8, !tbaa !26
  %991 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %990)
  store i64 %991, ptr %98, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %96, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %97, ptr noundef nonnull align 8 dereferenceable(8) %98, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %97) #9
  %992 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %96)
  br i1 %992, label %1007, label %993

993:                                              ; preds = %979
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %994 unwind label %999

994:                                              ; preds = %993
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #9
  %995 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %96)
          to label %996 unwind label %1001

996:                                              ; preds = %994
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %100, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 79, ptr noundef %995)
          to label %997 unwind label %1001

997:                                              ; preds = %996
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %100, ptr noundef nonnull align 8 dereferenceable(8) %99)
          to label %998 unwind label %1003

998:                                              ; preds = %997
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #9
  br label %1007

999:                                              ; preds = %993
  %1000 = landingpad { ptr, i32 }
          cleanup
  br label %1006

1001:                                             ; preds = %996, %994
  %1002 = landingpad { ptr, i32 }
          cleanup
  br label %1005

1003:                                             ; preds = %997
  %1004 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %100) #9
  br label %1005

1005:                                             ; preds = %1003, %1001
  %.pn471 = phi { ptr, i32 } [ %1004, %1003 ], [ %1002, %1001 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %99) #9
  br label %1006

1006:                                             ; preds = %1005, %999
  %.pn471.pn = phi { ptr, i32 } [ %.pn471, %1005 ], [ %1000, %999 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %96) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %96) #9
  br label %3247

1007:                                             ; preds = %979, %998
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %96) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %96) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %101) #9
  %1008 = load ptr, ptr %19, align 8, !tbaa !23
  %1009 = getelementptr inbounds i8, ptr %1008, i64 216
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %101, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef nonnull align 8 dereferenceable(8) %1009)
  %1010 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %101)
  br i1 %1010, label %1025, label %1011

1011:                                             ; preds = %1007
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1012 unwind label %1017

1012:                                             ; preds = %1011
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #9
  %1013 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %101)
          to label %1014 unwind label %1019

1014:                                             ; preds = %1012
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %103, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 80, ptr noundef %1013)
          to label %1015 unwind label %1019

1015:                                             ; preds = %1014
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 8 dereferenceable(8) %102)
          to label %1016 unwind label %1021

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

1017:                                             ; preds = %1011
  %1018 = landingpad { ptr, i32 }
          cleanup
  br label %1024

1019:                                             ; preds = %1014, %1012
  %1020 = landingpad { ptr, i32 }
          cleanup
  br label %1023

1021:                                             ; preds = %1015
  %1022 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %103) #9
  br label %1023

1023:                                             ; preds = %1021, %1019
  %.pn474 = phi { ptr, i32 } [ %1022, %1021 ], [ %1020, %1019 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %102) #9
  br label %1024

1024:                                             ; preds = %1023, %1017
  %.pn474.pn = phi { ptr, i32 } [ %.pn474, %1023 ], [ %1018, %1017 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %101) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %101) #9
  br label %3247

1025:                                             ; preds = %1007, %1016
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %101) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %101) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %104) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %105) #9
  store i32 1, ptr %105, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %106) #9
  %1026 = load ptr, ptr %19, align 8, !tbaa !23
  %1027 = getelementptr inbounds i8, ptr %1026, i64 264
  %1028 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1027) #9
  store i64 %1028, ptr %106, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %104, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.53, ptr noundef nonnull align 4 dereferenceable(4) %105, ptr noundef nonnull align 8 dereferenceable(8) %106)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %106) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %105) #9
  %1029 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %104)
  br i1 %1029, label %1044, label %1030

1030:                                             ; preds = %1025
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1031 unwind label %1036

1031:                                             ; preds = %1030
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #9
  %1032 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %104)
          to label %1033 unwind label %1038

1033:                                             ; preds = %1031
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %108, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 81, ptr noundef %1032)
          to label %1034 unwind label %1038

1034:                                             ; preds = %1033
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %108, ptr noundef nonnull align 8 dereferenceable(8) %107)
          to label %1035 unwind label %1040

1035:                                             ; preds = %1034
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #9
  br label %1044

1036:                                             ; preds = %1030
  %1037 = landingpad { ptr, i32 }
          cleanup
  br label %1043

1038:                                             ; preds = %1033, %1031
  %1039 = landingpad { ptr, i32 }
          cleanup
  br label %1042

1040:                                             ; preds = %1034
  %1041 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %108) #9
  br label %1042

1042:                                             ; preds = %1040, %1038
  %.pn477 = phi { ptr, i32 } [ %1041, %1040 ], [ %1039, %1038 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %107) #9
  br label %1043

1043:                                             ; preds = %1042, %1036
  %.pn477.pn = phi { ptr, i32 } [ %.pn477, %1042 ], [ %1037, %1036 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #9
  br label %3247

1044:                                             ; preds = %1025, %1035
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %104) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %104) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %109) #9
  %1045 = load ptr, ptr %19, align 8, !tbaa !23
  %1046 = getelementptr inbounds i8, ptr %1045, i64 264
  %1047 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1046, i64 noundef 0) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %110) #9
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %110, ptr noundef nonnull @.str.48)
  %1048 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %1047, ptr noundef nonnull align 8 dereferenceable(12) %110)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %109, i1 noundef zeroext %1048)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %110) #9
  %1049 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %109)
  br i1 %1049, label %1067, label %1050

1050:                                             ; preds = %1044
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %111) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1051 unwind label %1056

1051:                                             ; preds = %1050
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %113) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %113, ptr noundef nonnull align 8 dereferenceable(16) %109, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1052 unwind label %1058

1052:                                             ; preds = %1051
  %1053 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %113)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %112, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 82, ptr noundef %1053)
          to label %1054 unwind label %1060

1054:                                             ; preds = %1052
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %112, ptr noundef nonnull align 8 dereferenceable(8) %111)
          to label %1055 unwind label %1062

1055:                                             ; preds = %1054
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %113) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #9
  br label %1067

1056:                                             ; preds = %1050
  %1057 = landingpad { ptr, i32 }
          cleanup
  br label %1066

1058:                                             ; preds = %1051
  %1059 = landingpad { ptr, i32 }
          cleanup
  br label %1065

1060:                                             ; preds = %1052
  %1061 = landingpad { ptr, i32 }
          cleanup
  br label %1064

1062:                                             ; preds = %1054
  %1063 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %112) #9
  br label %1064

1064:                                             ; preds = %1062, %1060
  %.pn480 = phi { ptr, i32 } [ %1063, %1062 ], [ %1061, %1060 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %113) #9
  br label %1065

1065:                                             ; preds = %1064, %1058
  %.pn480.pn = phi { ptr, i32 } [ %.pn480, %1064 ], [ %1059, %1058 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %113) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %111) #9
  br label %1066

1066:                                             ; preds = %1065, %1056
  %.pn480.pn.pn = phi { ptr, i32 } [ %.pn480.pn, %1065 ], [ %1057, %1056 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %111) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %109) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %109) #9
  br label %3247

1067:                                             ; preds = %1044, %1055
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %109) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %109) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %114) #9
  %1068 = load ptr, ptr %19, align 8, !tbaa !23
  %1069 = getelementptr inbounds i8, ptr %1068, i64 264
  %1070 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1069, i64 noundef 0) #9
  %1071 = getelementptr inbounds i8, ptr %1070, i64 32
  %1072 = load i64, ptr %1071, align 8, !tbaa !41
  %1073 = icmp ne i64 %1072, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %114, i1 noundef zeroext %1073)
  %1074 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %114)
  br i1 %1074, label %1092, label %1075

1075:                                             ; preds = %1067
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %1076 unwind label %1081

1076:                                             ; preds = %1075
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %116) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %117) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %117, ptr noundef nonnull align 8 dereferenceable(16) %114, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1077 unwind label %1083

1077:                                             ; preds = %1076
  %1078 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %117)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %116, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 83, ptr noundef %1078)
          to label %1079 unwind label %1085

1079:                                             ; preds = %1077
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %116, ptr noundef nonnull align 8 dereferenceable(8) %115)
          to label %1080 unwind label %1087

1080:                                             ; preds = %1079
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %117) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #9
  br label %1092

1081:                                             ; preds = %1075
  %1082 = landingpad { ptr, i32 }
          cleanup
  br label %1091

1083:                                             ; preds = %1076
  %1084 = landingpad { ptr, i32 }
          cleanup
  br label %1090

1085:                                             ; preds = %1077
  %1086 = landingpad { ptr, i32 }
          cleanup
  br label %1089

1087:                                             ; preds = %1079
  %1088 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %116) #9
  br label %1089

1089:                                             ; preds = %1087, %1085
  %.pn484 = phi { ptr, i32 } [ %1088, %1087 ], [ %1086, %1085 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %117) #9
  br label %1090

1090:                                             ; preds = %1089, %1083
  %.pn484.pn = phi { ptr, i32 } [ %.pn484, %1089 ], [ %1084, %1083 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %117) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %116) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %115) #9
  br label %1091

1091:                                             ; preds = %1090, %1081
  %.pn484.pn.pn = phi { ptr, i32 } [ %.pn484.pn, %1090 ], [ %1082, %1081 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %114) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %114) #9
  br label %3247

1092:                                             ; preds = %1067, %1080
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %114) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %114) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %118) #9
  %1093 = load ptr, ptr %19, align 8, !tbaa !23
  %1094 = getelementptr inbounds i8, ptr %1093, i64 264
  %1095 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1094, i64 noundef 0) #9
  %1096 = getelementptr inbounds i8, ptr %1095, i64 40
  %1097 = load ptr, ptr %1096, align 8, !tbaa !43
  %1098 = icmp ne ptr %1097, null
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %118, i1 noundef zeroext %1098)
  %1099 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %118)
  br i1 %1099, label %1117, label %1100

1100:                                             ; preds = %1092
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %119) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %1101 unwind label %1106

1101:                                             ; preds = %1100
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %120) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %121) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %121, ptr noundef nonnull align 8 dereferenceable(16) %118, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1102 unwind label %1108

1102:                                             ; preds = %1101
  %1103 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %121)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %120, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 84, ptr noundef %1103)
          to label %1104 unwind label %1110

1104:                                             ; preds = %1102
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %120, ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %1105 unwind label %1112

1105:                                             ; preds = %1104
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %121) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #9
  br label %1117

1106:                                             ; preds = %1100
  %1107 = landingpad { ptr, i32 }
          cleanup
  br label %1116

1108:                                             ; preds = %1101
  %1109 = landingpad { ptr, i32 }
          cleanup
  br label %1115

1110:                                             ; preds = %1102
  %1111 = landingpad { ptr, i32 }
          cleanup
  br label %1114

1112:                                             ; preds = %1104
  %1113 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %120) #9
  br label %1114

1114:                                             ; preds = %1112, %1110
  %.pn488 = phi { ptr, i32 } [ %1113, %1112 ], [ %1111, %1110 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %121) #9
  br label %1115

1115:                                             ; preds = %1114, %1108
  %.pn488.pn = phi { ptr, i32 } [ %.pn488, %1114 ], [ %1109, %1108 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %121) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %120) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %119) #9
  br label %1116

1116:                                             ; preds = %1115, %1106
  %.pn488.pn.pn = phi { ptr, i32 } [ %.pn488.pn, %1115 ], [ %1107, %1106 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %119) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #9
  br label %3247

1117:                                             ; preds = %1092, %1105
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %118) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %118) #9
  %1118 = load ptr, ptr %19, align 8, !tbaa !23
  %1119 = getelementptr inbounds i8, ptr %1118, i64 264
  %1120 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1119, i64 noundef 0) #9
  %1121 = getelementptr inbounds i8, ptr %1120, i64 32
  %1122 = load i64, ptr %1121, align 8, !tbaa !41
  %1123 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %597, i64 noundef %1122, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %122) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %123) #9
  store i64 281474976710658, ptr %123, align 8, !tbaa !24
  %1124 = getelementptr inbounds i8, ptr %1123, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %122, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.58, ptr noundef nonnull align 8 dereferenceable(8) %123, ptr noundef nonnull align 8 dereferenceable(8) %1124)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %123) #9
  %1125 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %122)
  br i1 %1125, label %1140, label %1126

1126:                                             ; preds = %1117
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %1127 unwind label %1132

1127:                                             ; preds = %1126
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %125) #9
  %1128 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %122)
          to label %1129 unwind label %1134

1129:                                             ; preds = %1127
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %125, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 86, ptr noundef %1128)
          to label %1130 unwind label %1134

1130:                                             ; preds = %1129
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %125, ptr noundef nonnull align 8 dereferenceable(8) %124)
          to label %1131 unwind label %1136

1131:                                             ; preds = %1130
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #9
  br label %1140

1132:                                             ; preds = %1126
  %1133 = landingpad { ptr, i32 }
          cleanup
  br label %1139

1134:                                             ; preds = %1129, %1127
  %1135 = landingpad { ptr, i32 }
          cleanup
  br label %1138

1136:                                             ; preds = %1130
  %1137 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %125) #9
  br label %1138

1138:                                             ; preds = %1136, %1134
  %.pn492 = phi { ptr, i32 } [ %1137, %1136 ], [ %1135, %1134 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %125) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %124) #9
  br label %1139

1139:                                             ; preds = %1138, %1132
  %.pn492.pn = phi { ptr, i32 } [ %.pn492, %1138 ], [ %1133, %1132 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #9
  br label %3247

1140:                                             ; preds = %1117, %1131
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %122) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %122) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %126) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %127) #9
  store i32 4, ptr %127, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %128) #9
  %1141 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %778)
  store i64 %1141, ptr %128, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %126, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %127, ptr noundef nonnull align 8 dereferenceable(8) %128)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %128) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %127) #9
  %1142 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %126)
  br i1 %1142, label %1157, label %1143

1143:                                             ; preds = %1140
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %129) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129)
          to label %1144 unwind label %1149

1144:                                             ; preds = %1143
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %130) #9
  %1145 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %126)
          to label %1146 unwind label %1151

1146:                                             ; preds = %1144
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %130, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 87, ptr noundef %1145)
          to label %1147 unwind label %1151

1147:                                             ; preds = %1146
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %130, ptr noundef nonnull align 8 dereferenceable(8) %129)
          to label %1148 unwind label %1153

1148:                                             ; preds = %1147
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #9
  br label %1157

1149:                                             ; preds = %1143
  %1150 = landingpad { ptr, i32 }
          cleanup
  br label %1156

1151:                                             ; preds = %1146, %1144
  %1152 = landingpad { ptr, i32 }
          cleanup
  br label %1155

1153:                                             ; preds = %1147
  %1154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %130) #9
  br label %1155

1155:                                             ; preds = %1153, %1151
  %.pn495 = phi { ptr, i32 } [ %1154, %1153 ], [ %1152, %1151 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %130) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %129) #9
  br label %1156

1156:                                             ; preds = %1155, %1149
  %.pn495.pn = phi { ptr, i32 } [ %.pn495, %1155 ], [ %1150, %1149 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %129) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %126) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #9
  br label %3247

1157:                                             ; preds = %1140, %1148
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %126) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %126) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %131) #9
  %1158 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %131, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %1158)
  %1159 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %131)
  br i1 %1159, label %1174, label %1160

1160:                                             ; preds = %1157
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %132) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132)
          to label %1161 unwind label %1166

1161:                                             ; preds = %1160
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %133) #9
  %1162 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %131)
          to label %1163 unwind label %1168

1163:                                             ; preds = %1161
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %133, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 88, ptr noundef %1162)
          to label %1164 unwind label %1168

1164:                                             ; preds = %1163
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %133, ptr noundef nonnull align 8 dereferenceable(8) %132)
          to label %1165 unwind label %1170

1165:                                             ; preds = %1164
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #9
  br label %1174

1166:                                             ; preds = %1160
  %1167 = landingpad { ptr, i32 }
          cleanup
  br label %1173

1168:                                             ; preds = %1163, %1161
  %1169 = landingpad { ptr, i32 }
          cleanup
  br label %1172

1170:                                             ; preds = %1164
  %1171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %133) #9
  br label %1172

1172:                                             ; preds = %1170, %1168
  %.pn498 = phi { ptr, i32 } [ %1171, %1170 ], [ %1169, %1168 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %133) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %132) #9
  br label %1173

1173:                                             ; preds = %1172, %1166
  %.pn498.pn = phi { ptr, i32 } [ %.pn498, %1172 ], [ %1167, %1166 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %132) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %131) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %131) #9
  br label %3247

1174:                                             ; preds = %1157, %1165
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %131) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %131) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %134) #9
  %1175 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  %1176 = getelementptr inbounds i8, ptr %1175, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %134, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1176)
  %1177 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %134)
  br i1 %1177, label %1192, label %1178

1178:                                             ; preds = %1174
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %135) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135)
          to label %1179 unwind label %1184

1179:                                             ; preds = %1178
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %136) #9
  %1180 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %134)
          to label %1181 unwind label %1186

1181:                                             ; preds = %1179
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %136, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 88, ptr noundef %1180)
          to label %1182 unwind label %1186

1182:                                             ; preds = %1181
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %136, ptr noundef nonnull align 8 dereferenceable(8) %135)
          to label %1183 unwind label %1188

1183:                                             ; preds = %1182
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #9
  br label %1192

1184:                                             ; preds = %1178
  %1185 = landingpad { ptr, i32 }
          cleanup
  br label %1191

1186:                                             ; preds = %1181, %1179
  %1187 = landingpad { ptr, i32 }
          cleanup
  br label %1190

1188:                                             ; preds = %1182
  %1189 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %136) #9
  br label %1190

1190:                                             ; preds = %1188, %1186
  %.pn501 = phi { ptr, i32 } [ %1189, %1188 ], [ %1187, %1186 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %136) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %135) #9
  br label %1191

1191:                                             ; preds = %1190, %1184
  %.pn501.pn = phi { ptr, i32 } [ %.pn501, %1190 ], [ %1185, %1184 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %135) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #9
  br label %3247

1192:                                             ; preds = %1174, %1183
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %134) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %134) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %137) #9
  %1193 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %137, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %1193)
  %1194 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %137)
  br i1 %1194, label %1209, label %1195

1195:                                             ; preds = %1192
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %138) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %1196 unwind label %1201

1196:                                             ; preds = %1195
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %139) #9
  %1197 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %137)
          to label %1198 unwind label %1203

1198:                                             ; preds = %1196
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %139, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 89, ptr noundef %1197)
          to label %1199 unwind label %1203

1199:                                             ; preds = %1198
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %139, ptr noundef nonnull align 8 dereferenceable(8) %138)
          to label %1200 unwind label %1205

1200:                                             ; preds = %1199
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #9
  br label %1209

1201:                                             ; preds = %1195
  %1202 = landingpad { ptr, i32 }
          cleanup
  br label %1208

1203:                                             ; preds = %1198, %1196
  %1204 = landingpad { ptr, i32 }
          cleanup
  br label %1207

1205:                                             ; preds = %1199
  %1206 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %139) #9
  br label %1207

1207:                                             ; preds = %1205, %1203
  %.pn504 = phi { ptr, i32 } [ %1206, %1205 ], [ %1204, %1203 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %139) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %138) #9
  br label %1208

1208:                                             ; preds = %1207, %1201
  %.pn504.pn = phi { ptr, i32 } [ %.pn504, %1207 ], [ %1202, %1201 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %138) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %137) #9
  br label %3247

1209:                                             ; preds = %1192, %1200
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %137) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %137) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %140) #9
  %1210 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  %1211 = getelementptr inbounds i8, ptr %1210, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %140, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1211)
  %1212 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %140)
  br i1 %1212, label %1227, label %1213

1213:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %141) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141)
          to label %1214 unwind label %1219

1214:                                             ; preds = %1213
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %142) #9
  %1215 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %140)
          to label %1216 unwind label %1221

1216:                                             ; preds = %1214
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %142, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 89, ptr noundef %1215)
          to label %1217 unwind label %1221

1217:                                             ; preds = %1216
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %142, ptr noundef nonnull align 8 dereferenceable(8) %141)
          to label %1218 unwind label %1223

1218:                                             ; preds = %1217
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #9
  br label %1227

1219:                                             ; preds = %1213
  %1220 = landingpad { ptr, i32 }
          cleanup
  br label %1226

1221:                                             ; preds = %1216, %1214
  %1222 = landingpad { ptr, i32 }
          cleanup
  br label %1225

1223:                                             ; preds = %1217
  %1224 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %142) #9
  br label %1225

1225:                                             ; preds = %1223, %1221
  %.pn507 = phi { ptr, i32 } [ %1224, %1223 ], [ %1222, %1221 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %142) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %141) #9
  br label %1226

1226:                                             ; preds = %1225, %1219
  %.pn507.pn = phi { ptr, i32 } [ %.pn507, %1225 ], [ %1220, %1219 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %141) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #9
  br label %3247

1227:                                             ; preds = %1209, %1218
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %140) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %140) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %143) #9
  %1228 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 2)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %143, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.43, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %1228)
  %1229 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %143)
  br i1 %1229, label %1244, label %1230

1230:                                             ; preds = %1227
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %144) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %1231 unwind label %1236

1231:                                             ; preds = %1230
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %145) #9
  %1232 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %143)
          to label %1233 unwind label %1238

1233:                                             ; preds = %1231
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %145, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 90, ptr noundef %1232)
          to label %1234 unwind label %1238

1234:                                             ; preds = %1233
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %145, ptr noundef nonnull align 8 dereferenceable(8) %144)
          to label %1235 unwind label %1240

1235:                                             ; preds = %1234
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #9
  br label %1244

1236:                                             ; preds = %1230
  %1237 = landingpad { ptr, i32 }
          cleanup
  br label %1243

1238:                                             ; preds = %1233, %1231
  %1239 = landingpad { ptr, i32 }
          cleanup
  br label %1242

1240:                                             ; preds = %1234
  %1241 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %145) #9
  br label %1242

1242:                                             ; preds = %1240, %1238
  %.pn510 = phi { ptr, i32 } [ %1241, %1240 ], [ %1239, %1238 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %145) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %144) #9
  br label %1243

1243:                                             ; preds = %1242, %1236
  %.pn510.pn = phi { ptr, i32 } [ %.pn510, %1242 ], [ %1237, %1236 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %144) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #9
  br label %3247

1244:                                             ; preds = %1227, %1235
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %143) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %143) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %146) #9
  %1245 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 2)
  %1246 = getelementptr inbounds i8, ptr %1245, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %146, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.44, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1246)
  %1247 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %146)
  br i1 %1247, label %1262, label %1248

1248:                                             ; preds = %1244
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %147) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %1249 unwind label %1254

1249:                                             ; preds = %1248
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %148) #9
  %1250 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %146)
          to label %1251 unwind label %1256

1251:                                             ; preds = %1249
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %148, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 90, ptr noundef %1250)
          to label %1252 unwind label %1256

1252:                                             ; preds = %1251
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %148, ptr noundef nonnull align 8 dereferenceable(8) %147)
          to label %1253 unwind label %1258

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

1254:                                             ; preds = %1248
  %1255 = landingpad { ptr, i32 }
          cleanup
  br label %1261

1256:                                             ; preds = %1251, %1249
  %1257 = landingpad { ptr, i32 }
          cleanup
  br label %1260

1258:                                             ; preds = %1252
  %1259 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %148) #9
  br label %1260

1260:                                             ; preds = %1258, %1256
  %.pn513 = phi { ptr, i32 } [ %1259, %1258 ], [ %1257, %1256 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %148) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %147) #9
  br label %1261

1261:                                             ; preds = %1260, %1254
  %.pn513.pn = phi { ptr, i32 } [ %.pn513, %1260 ], [ %1255, %1254 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %147) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #9
  br label %3247

1262:                                             ; preds = %1244, %1253
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %146) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %146) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %149) #9
  %1263 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 3)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %149, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.46, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %1263)
  %1264 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %149)
  br i1 %1264, label %1279, label %1265

1265:                                             ; preds = %1262
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %150) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %1266 unwind label %1271

1266:                                             ; preds = %1265
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %151) #9
  %1267 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %149)
          to label %1268 unwind label %1273

1268:                                             ; preds = %1266
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %151, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 91, ptr noundef %1267)
          to label %1269 unwind label %1273

1269:                                             ; preds = %1268
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %151, ptr noundef nonnull align 8 dereferenceable(8) %150)
          to label %1270 unwind label %1275

1270:                                             ; preds = %1269
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #9
  br label %1279

1271:                                             ; preds = %1265
  %1272 = landingpad { ptr, i32 }
          cleanup
  br label %1278

1273:                                             ; preds = %1268, %1266
  %1274 = landingpad { ptr, i32 }
          cleanup
  br label %1277

1275:                                             ; preds = %1269
  %1276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %151) #9
  br label %1277

1277:                                             ; preds = %1275, %1273
  %.pn516 = phi { ptr, i32 } [ %1276, %1275 ], [ %1274, %1273 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %151) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %150) #9
  br label %1278

1278:                                             ; preds = %1277, %1271
  %.pn516.pn = phi { ptr, i32 } [ %.pn516, %1277 ], [ %1272, %1271 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %150) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %149) #9
  br label %3247

1279:                                             ; preds = %1262, %1270
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %149) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %149) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %152) #9
  %1280 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 3)
  %1281 = getelementptr inbounds i8, ptr %1280, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %152, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.47, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1281)
  %1282 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %152)
  br i1 %1282, label %1297, label %1283

1283:                                             ; preds = %1279
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %153) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %1284 unwind label %1289

1284:                                             ; preds = %1283
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %154) #9
  %1285 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %152)
          to label %1286 unwind label %1291

1286:                                             ; preds = %1284
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %154, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 91, ptr noundef %1285)
          to label %1287 unwind label %1291

1287:                                             ; preds = %1286
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %154, ptr noundef nonnull align 8 dereferenceable(8) %153)
          to label %1288 unwind label %1293

1288:                                             ; preds = %1287
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #9
  br label %1297

1289:                                             ; preds = %1283
  %1290 = landingpad { ptr, i32 }
          cleanup
  br label %1296

1291:                                             ; preds = %1286, %1284
  %1292 = landingpad { ptr, i32 }
          cleanup
  br label %1295

1293:                                             ; preds = %1287
  %1294 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %154) #9
  br label %1295

1295:                                             ; preds = %1293, %1291
  %.pn519 = phi { ptr, i32 } [ %1294, %1293 ], [ %1292, %1291 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %154) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %153) #9
  br label %1296

1296:                                             ; preds = %1295, %1289
  %.pn519.pn = phi { ptr, i32 } [ %.pn519, %1295 ], [ %1290, %1289 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %153) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #9
  br label %3247

1297:                                             ; preds = %1279, %1288
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %152) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %152) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %155) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %156) #9
  store i32 4, ptr %156, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %157) #9
  %1298 = getelementptr inbounds i8, ptr %1123, i64 264
  %1299 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %1298)
  store i64 %1299, ptr %157, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %155, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.59, ptr noundef nonnull align 4 dereferenceable(4) %156, ptr noundef nonnull align 8 dereferenceable(8) %157)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %157) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %156) #9
  %1300 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %155)
  br i1 %1300, label %1315, label %1301

1301:                                             ; preds = %1297
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %158) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %1302 unwind label %1307

1302:                                             ; preds = %1301
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %159) #9
  %1303 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %155)
          to label %1304 unwind label %1309

1304:                                             ; preds = %1302
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %159, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 92, ptr noundef %1303)
          to label %1305 unwind label %1309

1305:                                             ; preds = %1304
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %159, ptr noundef nonnull align 8 dereferenceable(8) %158)
          to label %1306 unwind label %1311

1306:                                             ; preds = %1305
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #9
  br label %1315

1307:                                             ; preds = %1301
  %1308 = landingpad { ptr, i32 }
          cleanup
  br label %1314

1309:                                             ; preds = %1304, %1302
  %1310 = landingpad { ptr, i32 }
          cleanup
  br label %1313

1311:                                             ; preds = %1305
  %1312 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %159) #9
  br label %1313

1313:                                             ; preds = %1311, %1309
  %.pn522 = phi { ptr, i32 } [ %1312, %1311 ], [ %1310, %1309 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %159) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %158) #9
  br label %1314

1314:                                             ; preds = %1313, %1307
  %.pn522.pn = phi { ptr, i32 } [ %.pn522, %1313 ], [ %1308, %1307 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %158) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %155) #9
  br label %3247

1315:                                             ; preds = %1297, %1306
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %155) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %155) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %160) #9
  %1316 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %160, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.61, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %1316)
  %1317 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %160)
  br i1 %1317, label %1332, label %1318

1318:                                             ; preds = %1315
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %161) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161)
          to label %1319 unwind label %1324

1319:                                             ; preds = %1318
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %162) #9
  %1320 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %160)
          to label %1321 unwind label %1326

1321:                                             ; preds = %1319
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %162, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 93, ptr noundef %1320)
          to label %1322 unwind label %1326

1322:                                             ; preds = %1321
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %162, ptr noundef nonnull align 8 dereferenceable(8) %161)
          to label %1323 unwind label %1328

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

1324:                                             ; preds = %1318
  %1325 = landingpad { ptr, i32 }
          cleanup
  br label %1331

1326:                                             ; preds = %1321, %1319
  %1327 = landingpad { ptr, i32 }
          cleanup
  br label %1330

1328:                                             ; preds = %1322
  %1329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %162) #9
  br label %1330

1330:                                             ; preds = %1328, %1326
  %.pn525 = phi { ptr, i32 } [ %1329, %1328 ], [ %1327, %1326 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %162) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %161) #9
  br label %1331

1331:                                             ; preds = %1330, %1324
  %.pn525.pn = phi { ptr, i32 } [ %.pn525, %1330 ], [ %1325, %1324 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %161) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %160) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %160) #9
  br label %3247

1332:                                             ; preds = %1315, %1323
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %160) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %160) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %163) #9
  %1333 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 0)
  %1334 = getelementptr inbounds i8, ptr %1333, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %163, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.62, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1334)
  %1335 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %163)
  br i1 %1335, label %1350, label %1336

1336:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %164) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164)
          to label %1337 unwind label %1342

1337:                                             ; preds = %1336
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %165) #9
  %1338 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %163)
          to label %1339 unwind label %1344

1339:                                             ; preds = %1337
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %165, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 93, ptr noundef %1338)
          to label %1340 unwind label %1344

1340:                                             ; preds = %1339
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %165, ptr noundef nonnull align 8 dereferenceable(8) %164)
          to label %1341 unwind label %1346

1341:                                             ; preds = %1340
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #9
  br label %1350

1342:                                             ; preds = %1336
  %1343 = landingpad { ptr, i32 }
          cleanup
  br label %1349

1344:                                             ; preds = %1339, %1337
  %1345 = landingpad { ptr, i32 }
          cleanup
  br label %1348

1346:                                             ; preds = %1340
  %1347 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %165) #9
  br label %1348

1348:                                             ; preds = %1346, %1344
  %.pn528 = phi { ptr, i32 } [ %1347, %1346 ], [ %1345, %1344 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %165) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %164) #9
  br label %1349

1349:                                             ; preds = %1348, %1342
  %.pn528.pn = phi { ptr, i32 } [ %.pn528, %1348 ], [ %1343, %1342 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %164) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #9
  br label %3247

1350:                                             ; preds = %1332, %1341
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %163) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %163) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %166) #9
  %1351 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %166, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %1351)
  %1352 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %166)
  br i1 %1352, label %1367, label %1353

1353:                                             ; preds = %1350
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %167) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167)
          to label %1354 unwind label %1359

1354:                                             ; preds = %1353
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %168) #9
  %1355 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %166)
          to label %1356 unwind label %1361

1356:                                             ; preds = %1354
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %168, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 94, ptr noundef %1355)
          to label %1357 unwind label %1361

1357:                                             ; preds = %1356
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %168, ptr noundef nonnull align 8 dereferenceable(8) %167)
          to label %1358 unwind label %1363

1358:                                             ; preds = %1357
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %168) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %167) #9
  br label %1367

1359:                                             ; preds = %1353
  %1360 = landingpad { ptr, i32 }
          cleanup
  br label %1366

1361:                                             ; preds = %1356, %1354
  %1362 = landingpad { ptr, i32 }
          cleanup
  br label %1365

1363:                                             ; preds = %1357
  %1364 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %168) #9
  br label %1365

1365:                                             ; preds = %1363, %1361
  %.pn531 = phi { ptr, i32 } [ %1364, %1363 ], [ %1362, %1361 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %168) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %167) #9
  br label %1366

1366:                                             ; preds = %1365, %1359
  %.pn531.pn = phi { ptr, i32 } [ %.pn531, %1365 ], [ %1360, %1359 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %167) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %166) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %166) #9
  br label %3247

1367:                                             ; preds = %1350, %1358
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %166) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %166) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %169) #9
  %1368 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 1)
  %1369 = getelementptr inbounds i8, ptr %1368, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %169, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.65, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1369)
  %1370 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %169)
  br i1 %1370, label %1385, label %1371

1371:                                             ; preds = %1367
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %170) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1372 unwind label %1377

1372:                                             ; preds = %1371
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %171) #9
  %1373 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %169)
          to label %1374 unwind label %1379

1374:                                             ; preds = %1372
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %171, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 94, ptr noundef %1373)
          to label %1375 unwind label %1379

1375:                                             ; preds = %1374
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %171, ptr noundef nonnull align 8 dereferenceable(8) %170)
          to label %1376 unwind label %1381

1376:                                             ; preds = %1375
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #9
  br label %1385

1377:                                             ; preds = %1371
  %1378 = landingpad { ptr, i32 }
          cleanup
  br label %1384

1379:                                             ; preds = %1374, %1372
  %1380 = landingpad { ptr, i32 }
          cleanup
  br label %1383

1381:                                             ; preds = %1375
  %1382 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %171) #9
  br label %1383

1383:                                             ; preds = %1381, %1379
  %.pn534 = phi { ptr, i32 } [ %1382, %1381 ], [ %1380, %1379 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %171) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %170) #9
  br label %1384

1384:                                             ; preds = %1383, %1377
  %.pn534.pn = phi { ptr, i32 } [ %.pn534, %1383 ], [ %1378, %1377 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %170) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %169) #9
  br label %3247

1385:                                             ; preds = %1367, %1376
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %169) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %169) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %172) #9
  %1386 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 2)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %172, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.67, ptr noundef nonnull align 1 dereferenceable(2) @.str.50, ptr noundef nonnull align 8 dereferenceable(12) %1386)
  %1387 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %172)
  br i1 %1387, label %1402, label %1388

1388:                                             ; preds = %1385
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %173) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %1389 unwind label %1394

1389:                                             ; preds = %1388
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %174) #9
  %1390 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %172)
          to label %1391 unwind label %1396

1391:                                             ; preds = %1389
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %174, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 95, ptr noundef %1390)
          to label %1392 unwind label %1396

1392:                                             ; preds = %1391
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %174, ptr noundef nonnull align 8 dereferenceable(8) %173)
          to label %1393 unwind label %1398

1393:                                             ; preds = %1392
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %174) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %173) #9
  br label %1402

1394:                                             ; preds = %1388
  %1395 = landingpad { ptr, i32 }
          cleanup
  br label %1401

1396:                                             ; preds = %1391, %1389
  %1397 = landingpad { ptr, i32 }
          cleanup
  br label %1400

1398:                                             ; preds = %1392
  %1399 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %174) #9
  br label %1400

1400:                                             ; preds = %1398, %1396
  %.pn537 = phi { ptr, i32 } [ %1399, %1398 ], [ %1397, %1396 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %174) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %173) #9
  br label %1401

1401:                                             ; preds = %1400, %1394
  %.pn537.pn = phi { ptr, i32 } [ %.pn537, %1400 ], [ %1395, %1394 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %173) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #9
  br label %3247

1402:                                             ; preds = %1385, %1393
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %172) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %172) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %175) #9
  %1403 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 2)
  %1404 = getelementptr inbounds i8, ptr %1403, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %175, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.68, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1404)
  %1405 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %175)
  br i1 %1405, label %1420, label %1406

1406:                                             ; preds = %1402
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %176) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %1407 unwind label %1412

1407:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %177) #9
  %1408 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %175)
          to label %1409 unwind label %1414

1409:                                             ; preds = %1407
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %177, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 95, ptr noundef %1408)
          to label %1410 unwind label %1414

1410:                                             ; preds = %1409
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %177, ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %1411 unwind label %1416

1411:                                             ; preds = %1410
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %177) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %176) #9
  br label %1420

1412:                                             ; preds = %1406
  %1413 = landingpad { ptr, i32 }
          cleanup
  br label %1419

1414:                                             ; preds = %1409, %1407
  %1415 = landingpad { ptr, i32 }
          cleanup
  br label %1418

1416:                                             ; preds = %1410
  %1417 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %177) #9
  br label %1418

1418:                                             ; preds = %1416, %1414
  %.pn540 = phi { ptr, i32 } [ %1417, %1416 ], [ %1415, %1414 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %177) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %176) #9
  br label %1419

1419:                                             ; preds = %1418, %1412
  %.pn540.pn = phi { ptr, i32 } [ %.pn540, %1418 ], [ %1413, %1412 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %176) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %175) #9
  br label %3247

1420:                                             ; preds = %1402, %1411
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %175) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %175) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %178) #9
  %1421 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 3)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %178, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.70, ptr noundef nonnull align 1 dereferenceable(2) @.str.51, ptr noundef nonnull align 8 dereferenceable(12) %1421)
  %1422 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %178)
  br i1 %1422, label %1437, label %1423

1423:                                             ; preds = %1420
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %179) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179)
          to label %1424 unwind label %1429

1424:                                             ; preds = %1423
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %180) #9
  %1425 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %178)
          to label %1426 unwind label %1431

1426:                                             ; preds = %1424
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %180, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 96, ptr noundef %1425)
          to label %1427 unwind label %1431

1427:                                             ; preds = %1426
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %180, ptr noundef nonnull align 8 dereferenceable(8) %179)
          to label %1428 unwind label %1433

1428:                                             ; preds = %1427
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %180) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #9
  br label %1437

1429:                                             ; preds = %1423
  %1430 = landingpad { ptr, i32 }
          cleanup
  br label %1436

1431:                                             ; preds = %1426, %1424
  %1432 = landingpad { ptr, i32 }
          cleanup
  br label %1435

1433:                                             ; preds = %1427
  %1434 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %180) #9
  br label %1435

1435:                                             ; preds = %1433, %1431
  %.pn543 = phi { ptr, i32 } [ %1434, %1433 ], [ %1432, %1431 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %180) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %179) #9
  br label %1436

1436:                                             ; preds = %1435, %1429
  %.pn543.pn = phi { ptr, i32 } [ %.pn543, %1435 ], [ %1430, %1429 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %179) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %178) #9
  br label %3247

1437:                                             ; preds = %1420, %1428
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %178) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %178) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %181) #9
  %1438 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 3)
  %1439 = getelementptr inbounds i8, ptr %1438, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %181, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.71, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1439)
  %1440 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
  br i1 %1440, label %1455, label %1441

1441:                                             ; preds = %1437
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %182) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %1442 unwind label %1447

1442:                                             ; preds = %1441
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %183) #9
  %1443 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %181)
          to label %1444 unwind label %1449

1444:                                             ; preds = %1442
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %183, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 96, ptr noundef %1443)
          to label %1445 unwind label %1449

1445:                                             ; preds = %1444
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %183, ptr noundef nonnull align 8 dereferenceable(8) %182)
          to label %1446 unwind label %1451

1446:                                             ; preds = %1445
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %182) #9
  br label %1455

1447:                                             ; preds = %1441
  %1448 = landingpad { ptr, i32 }
          cleanup
  br label %1454

1449:                                             ; preds = %1444, %1442
  %1450 = landingpad { ptr, i32 }
          cleanup
  br label %1453

1451:                                             ; preds = %1445
  %1452 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %183) #9
  br label %1453

1453:                                             ; preds = %1451, %1449
  %.pn546 = phi { ptr, i32 } [ %1452, %1451 ], [ %1450, %1449 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %183) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %182) #9
  br label %1454

1454:                                             ; preds = %1453, %1447
  %.pn546.pn = phi { ptr, i32 } [ %.pn546, %1453 ], [ %1448, %1447 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %182) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %181) #9
  br label %3247

1455:                                             ; preds = %1437, %1446
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %181) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %181) #9
  %1456 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %184, ptr noundef nonnull @.str.3)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %185, ptr noundef nonnull @.str.72)
  %1457 = load ptr, ptr %184, align 8
  %1458 = getelementptr inbounds i8, ptr %184, i64 8
  %1459 = load i32, ptr %1458, align 8
  %1460 = load ptr, ptr %185, align 8
  %1461 = getelementptr inbounds i8, ptr %185, i64 8
  %1462 = load i32, ptr %1461, align 8
  %1463 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1456, ptr %1457, i32 %1459, ptr %1460, i32 %1462)
  %1464 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %186, ptr noundef nonnull @.str.24)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %187, ptr noundef nonnull @.str.72)
  %1465 = load ptr, ptr %186, align 8
  %1466 = getelementptr inbounds i8, ptr %186, i64 8
  %1467 = load i32, ptr %1466, align 8
  %1468 = load ptr, ptr %187, align 8
  %1469 = getelementptr inbounds i8, ptr %187, i64 8
  %1470 = load i32, ptr %1469, align 8
  %1471 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1464, ptr %1465, i32 %1467, ptr %1468, i32 %1470)
  %1472 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %188, ptr noundef nonnull @.str.73)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %189, ptr noundef nonnull @.str.4)
  %1473 = load ptr, ptr %188, align 8
  %1474 = getelementptr inbounds i8, ptr %188, i64 8
  %1475 = load i32, ptr %1474, align 8
  %1476 = load ptr, ptr %189, align 8
  %1477 = getelementptr inbounds i8, ptr %189, i64 8
  %1478 = load i32, ptr %1477, align 8
  %1479 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1472, ptr %1473, i32 %1475, ptr %1476, i32 %1478)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %190) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %191) #9
  store i32 96, ptr %191, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %192) #9
  %1480 = load ptr, ptr %19, align 8, !tbaa !23
  %1481 = load ptr, ptr %1480, align 8, !tbaa !17
  %1482 = getelementptr inbounds i8, ptr %1481, i64 16
  %1483 = load ptr, ptr %1482, align 8
  %1484 = call noundef i64 %1483(ptr noundef nonnull align 8 dereferenceable(312) %1480)
  store i64 %1484, ptr %192, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %190, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %191, ptr noundef nonnull align 8 dereferenceable(8) %192)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %192) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %191) #9
  %1485 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %190)
  br i1 %1485, label %1500, label %1486

1486:                                             ; preds = %1455
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %193) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193)
          to label %1487 unwind label %1492

1487:                                             ; preds = %1486
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %194) #9
  %1488 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %190)
          to label %1489 unwind label %1494

1489:                                             ; preds = %1487
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %194, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 101, ptr noundef %1488)
          to label %1490 unwind label %1494

1490:                                             ; preds = %1489
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %194, ptr noundef nonnull align 8 dereferenceable(8) %193)
          to label %1491 unwind label %1496

1491:                                             ; preds = %1490
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #9
  br label %1500

1492:                                             ; preds = %1486
  %1493 = landingpad { ptr, i32 }
          cleanup
  br label %1499

1494:                                             ; preds = %1489, %1487
  %1495 = landingpad { ptr, i32 }
          cleanup
  br label %1498

1496:                                             ; preds = %1490
  %1497 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %194) #9
  br label %1498

1498:                                             ; preds = %1496, %1494
  %.pn549 = phi { ptr, i32 } [ %1497, %1496 ], [ %1495, %1494 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %194) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %193) #9
  br label %1499

1499:                                             ; preds = %1498, %1492
  %.pn549.pn = phi { ptr, i32 } [ %.pn549, %1498 ], [ %1493, %1492 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %193) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %190) #9
  br label %3247

1500:                                             ; preds = %1455, %1491
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %190) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %190) #9
  %1501 = load ptr, ptr %19, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %195, ptr noundef nonnull @.str.48)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %196, ptr noundef nonnull @.str.72)
  %1502 = load ptr, ptr %195, align 8
  %1503 = getelementptr inbounds i8, ptr %195, i64 8
  %1504 = load i32, ptr %1503, align 8
  %1505 = load ptr, ptr %196, align 8
  %1506 = getelementptr inbounds i8, ptr %196, i64 8
  %1507 = load i32, ptr %1506, align 8
  %1508 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %1501, ptr %1502, i32 %1504, ptr %1505, i32 %1507)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %197) #9
  call void @_ZN7testing8internal11CmpHelperNEIPN7cascadb9InnerNodeES4_EENS_15AssertionResultEPKcS7_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %197, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.77, ptr noundef nonnull align 8 dereferenceable(8) %625, ptr noundef nonnull align 8 dereferenceable(8) %19)
  %1509 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %197)
  br i1 %1509, label %1524, label %1510

1510:                                             ; preds = %1500
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %198) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %198)
          to label %1511 unwind label %1516

1511:                                             ; preds = %1510
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %199) #9
  %1512 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %197)
          to label %1513 unwind label %1518

1513:                                             ; preds = %1511
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %199, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 109, ptr noundef %1512)
          to label %1514 unwind label %1518

1514:                                             ; preds = %1513
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %199, ptr noundef nonnull align 8 dereferenceable(8) %198)
          to label %1515 unwind label %1520

1515:                                             ; preds = %1514
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %199) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %198) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #9
  br label %1524

1516:                                             ; preds = %1510
  %1517 = landingpad { ptr, i32 }
          cleanup
  br label %1523

1518:                                             ; preds = %1513, %1511
  %1519 = landingpad { ptr, i32 }
          cleanup
  br label %1522

1520:                                             ; preds = %1514
  %1521 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %199) #9
  br label %1522

1522:                                             ; preds = %1520, %1518
  %.pn552 = phi { ptr, i32 } [ %1521, %1520 ], [ %1519, %1518 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %199) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %198) #9
  br label %1523

1523:                                             ; preds = %1522, %1516
  %.pn552.pn = phi { ptr, i32 } [ %.pn552, %1522 ], [ %1517, %1516 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %198) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %197) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %197) #9
  br label %3247

1524:                                             ; preds = %1500, %1515
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %197) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %197) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %200) #9
  %1525 = load ptr, ptr %625, align 8, !tbaa !19
  store ptr %1525, ptr %200, align 8, !tbaa !23
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %201) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %202) #9
  store i64 4, ptr %202, align 8, !tbaa !24
  %1526 = getelementptr inbounds i8, ptr %1525, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %201, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %202, ptr noundef nonnull align 8 dereferenceable(8) %1526)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %202) #9
  %1527 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %201)
  br i1 %1527, label %1542, label %1528

1528:                                             ; preds = %1524
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %203) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203)
          to label %1529 unwind label %1534

1529:                                             ; preds = %1528
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %204) #9
  %1530 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %201)
          to label %1531 unwind label %1536

1531:                                             ; preds = %1529
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %204, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 111, ptr noundef %1530)
          to label %1532 unwind label %1536

1532:                                             ; preds = %1531
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %204, ptr noundef nonnull align 8 dereferenceable(8) %203)
          to label %1533 unwind label %1538

1533:                                             ; preds = %1532
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %204) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #9
  br label %1542

1534:                                             ; preds = %1528
  %1535 = landingpad { ptr, i32 }
          cleanup
  br label %1541

1536:                                             ; preds = %1531, %1529
  %1537 = landingpad { ptr, i32 }
          cleanup
  br label %1540

1538:                                             ; preds = %1532
  %1539 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %204) #9
  br label %1540

1540:                                             ; preds = %1538, %1536
  %.pn555 = phi { ptr, i32 } [ %1539, %1538 ], [ %1537, %1536 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %204) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %203) #9
  br label %1541

1541:                                             ; preds = %1540, %1534
  %.pn555.pn = phi { ptr, i32 } [ %.pn555, %1540 ], [ %1535, %1534 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %203) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %201) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %201) #9
  br label %3246

1542:                                             ; preds = %1524, %1533
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %201) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %201) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %205) #9
  %1543 = load ptr, ptr %200, align 8, !tbaa !23
  %1544 = getelementptr inbounds i8, ptr %1543, i64 216
  %1545 = load ptr, ptr %19, align 8, !tbaa !23
  %1546 = getelementptr inbounds i8, ptr %1545, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %205, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %1544, ptr noundef nonnull align 8 dereferenceable(8) %1546)
  %1547 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %205)
  br i1 %1547, label %1562, label %1548

1548:                                             ; preds = %1542
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %206) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206)
          to label %1549 unwind label %1554

1549:                                             ; preds = %1548
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %207) #9
  %1550 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %205)
          to label %1551 unwind label %1556

1551:                                             ; preds = %1549
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %207, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 112, ptr noundef %1550)
          to label %1552 unwind label %1556

1552:                                             ; preds = %1551
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %207, ptr noundef nonnull align 8 dereferenceable(8) %206)
          to label %1553 unwind label %1558

1553:                                             ; preds = %1552
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %207) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #9
  br label %1562

1554:                                             ; preds = %1548
  %1555 = landingpad { ptr, i32 }
          cleanup
  br label %1561

1556:                                             ; preds = %1551, %1549
  %1557 = landingpad { ptr, i32 }
          cleanup
  br label %1560

1558:                                             ; preds = %1552
  %1559 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %207) #9
  br label %1560

1560:                                             ; preds = %1558, %1556
  %.pn558 = phi { ptr, i32 } [ %1559, %1558 ], [ %1557, %1556 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %207) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %206) #9
  br label %1561

1561:                                             ; preds = %1560, %1554
  %.pn558.pn = phi { ptr, i32 } [ %.pn558, %1560 ], [ %1555, %1554 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %206) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %205) #9
  br label %3246

1562:                                             ; preds = %1542, %1553
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %205) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %205) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %208) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %209) #9
  %1563 = load ptr, ptr %200, align 8, !tbaa !23
  %1564 = getelementptr inbounds i8, ptr %1563, i64 224
  %1565 = load ptr, ptr %1564, align 8, !tbaa !26
  %1566 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %1565)
  store i64 %1566, ptr %209, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %210) #9
  store i32 0, ptr %210, align 4, !tbaa !25
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImjEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %208, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.31, ptr noundef nonnull align 8 dereferenceable(8) %209, ptr noundef nonnull align 4 dereferenceable(4) %210)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %210) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %209) #9
  %1567 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %208)
  br i1 %1567, label %1582, label %1568

1568:                                             ; preds = %1562
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %211) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %211)
          to label %1569 unwind label %1574

1569:                                             ; preds = %1568
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %212) #9
  %1570 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %208)
          to label %1571 unwind label %1576

1571:                                             ; preds = %1569
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %212, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 113, ptr noundef %1570)
          to label %1572 unwind label %1576

1572:                                             ; preds = %1571
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %212, ptr noundef nonnull align 8 dereferenceable(8) %211)
          to label %1573 unwind label %1578

1573:                                             ; preds = %1572
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %212) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %212) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %211) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %211) #9
  br label %1582

1574:                                             ; preds = %1568
  %1575 = landingpad { ptr, i32 }
          cleanup
  br label %1581

1576:                                             ; preds = %1571, %1569
  %1577 = landingpad { ptr, i32 }
          cleanup
  br label %1580

1578:                                             ; preds = %1572
  %1579 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %212) #9
  br label %1580

1580:                                             ; preds = %1578, %1576
  %.pn561 = phi { ptr, i32 } [ %1579, %1578 ], [ %1577, %1576 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %212) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %211) #9
  br label %1581

1581:                                             ; preds = %1580, %1574
  %.pn561.pn = phi { ptr, i32 } [ %.pn561, %1580 ], [ %1575, %1574 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %211) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %208) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %208) #9
  br label %3246

1582:                                             ; preds = %1562, %1573
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %208) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %208) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %213) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %214) #9
  store i32 0, ptr %214, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %215) #9
  %1583 = load ptr, ptr %19, align 8, !tbaa !23
  %1584 = getelementptr inbounds i8, ptr %1583, i64 224
  %1585 = load ptr, ptr %1584, align 8, !tbaa !26
  %1586 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %1585)
  store i64 %1586, ptr %215, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %213, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %214, ptr noundef nonnull align 8 dereferenceable(8) %215, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %215) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %214) #9
  %1587 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %213)
  br i1 %1587, label %1602, label %1588

1588:                                             ; preds = %1582
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %216) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %216)
          to label %1589 unwind label %1594

1589:                                             ; preds = %1588
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %217) #9
  %1590 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %213)
          to label %1591 unwind label %1596

1591:                                             ; preds = %1589
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %217, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 116, ptr noundef %1590)
          to label %1592 unwind label %1596

1592:                                             ; preds = %1591
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %217, ptr noundef nonnull align 8 dereferenceable(8) %216)
          to label %1593 unwind label %1598

1593:                                             ; preds = %1592
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %217) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %217) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %216) #9
  br label %1602

1594:                                             ; preds = %1588
  %1595 = landingpad { ptr, i32 }
          cleanup
  br label %1601

1596:                                             ; preds = %1591, %1589
  %1597 = landingpad { ptr, i32 }
          cleanup
  br label %1600

1598:                                             ; preds = %1592
  %1599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %217) #9
  br label %1600

1600:                                             ; preds = %1598, %1596
  %.pn564 = phi { ptr, i32 } [ %1599, %1598 ], [ %1597, %1596 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %217) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %216) #9
  br label %1601

1601:                                             ; preds = %1600, %1594
  %.pn564.pn = phi { ptr, i32 } [ %.pn564, %1600 ], [ %1595, %1594 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %216) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %213) #9
  br label %3246

1602:                                             ; preds = %1582, %1593
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %213) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %213) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %218) #9
  %1603 = load ptr, ptr %19, align 8, !tbaa !23
  %1604 = getelementptr inbounds i8, ptr %1603, i64 216
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %218, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.27, ptr noundef nonnull align 8 dereferenceable(8) %761, ptr noundef nonnull align 8 dereferenceable(8) %1604)
  %1605 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %218)
  br i1 %1605, label %1620, label %1606

1606:                                             ; preds = %1602
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %219) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %219)
          to label %1607 unwind label %1612

1607:                                             ; preds = %1606
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %220) #9
  %1608 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %218)
          to label %1609 unwind label %1614

1609:                                             ; preds = %1607
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %220, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 117, ptr noundef %1608)
          to label %1610 unwind label %1614

1610:                                             ; preds = %1609
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %220, ptr noundef nonnull align 8 dereferenceable(8) %219)
          to label %1611 unwind label %1616

1611:                                             ; preds = %1610
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %220) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %220) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %219) #9
  br label %1620

1612:                                             ; preds = %1606
  %1613 = landingpad { ptr, i32 }
          cleanup
  br label %1619

1614:                                             ; preds = %1609, %1607
  %1615 = landingpad { ptr, i32 }
          cleanup
  br label %1618

1616:                                             ; preds = %1610
  %1617 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %220) #9
  br label %1618

1618:                                             ; preds = %1616, %1614
  %.pn567 = phi { ptr, i32 } [ %1617, %1616 ], [ %1615, %1614 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %220) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %219) #9
  br label %1619

1619:                                             ; preds = %1618, %1612
  %.pn567.pn = phi { ptr, i32 } [ %.pn567, %1618 ], [ %1613, %1612 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %219) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %218) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %218) #9
  br label %3246

1620:                                             ; preds = %1602, %1611
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %218) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %218) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %221) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %222) #9
  store i32 1, ptr %222, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %223) #9
  %1621 = load ptr, ptr %19, align 8, !tbaa !23
  %1622 = getelementptr inbounds i8, ptr %1621, i64 264
  %1623 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1622) #9
  store i64 %1623, ptr %223, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %221, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.53, ptr noundef nonnull align 4 dereferenceable(4) %222, ptr noundef nonnull align 8 dereferenceable(8) %223)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %223) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %222) #9
  %1624 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %221)
  br i1 %1624, label %1639, label %1625

1625:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %224) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %224)
          to label %1626 unwind label %1631

1626:                                             ; preds = %1625
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %225) #9
  %1627 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %221)
          to label %1628 unwind label %1633

1628:                                             ; preds = %1626
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %225, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 118, ptr noundef %1627)
          to label %1629 unwind label %1633

1629:                                             ; preds = %1628
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %225, ptr noundef nonnull align 8 dereferenceable(8) %224)
          to label %1630 unwind label %1635

1630:                                             ; preds = %1629
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %225) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %225) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %224) #9
  br label %1639

1631:                                             ; preds = %1625
  %1632 = landingpad { ptr, i32 }
          cleanup
  br label %1638

1633:                                             ; preds = %1628, %1626
  %1634 = landingpad { ptr, i32 }
          cleanup
  br label %1637

1635:                                             ; preds = %1629
  %1636 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %225) #9
  br label %1637

1637:                                             ; preds = %1635, %1633
  %.pn570 = phi { ptr, i32 } [ %1636, %1635 ], [ %1634, %1633 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %225) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %224) #9
  br label %1638

1638:                                             ; preds = %1637, %1631
  %.pn570.pn = phi { ptr, i32 } [ %.pn570, %1637 ], [ %1632, %1631 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %224) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %221) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %221) #9
  br label %3246

1639:                                             ; preds = %1620, %1630
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %221) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %221) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %226) #9
  %1640 = load ptr, ptr %19, align 8, !tbaa !23
  %1641 = getelementptr inbounds i8, ptr %1640, i64 264
  %1642 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1641, i64 noundef 0) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %227) #9
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %227, ptr noundef nonnull @.str.73)
  %1643 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %1642, ptr noundef nonnull align 8 dereferenceable(12) %227)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %226, i1 noundef zeroext %1643)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %227) #9
  %1644 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %226)
  br i1 %1644, label %1662, label %1645

1645:                                             ; preds = %1639
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %228) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228)
          to label %1646 unwind label %1651

1646:                                             ; preds = %1645
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %229) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %230) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %230, ptr noundef nonnull align 8 dereferenceable(16) %226, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1647 unwind label %1653

1647:                                             ; preds = %1646
  %1648 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %230)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %229, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 119, ptr noundef %1648)
          to label %1649 unwind label %1655

1649:                                             ; preds = %1647
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %229, ptr noundef nonnull align 8 dereferenceable(8) %228)
          to label %1650 unwind label %1657

1650:                                             ; preds = %1649
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %230) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %229) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %228) #9
  br label %1662

1651:                                             ; preds = %1645
  %1652 = landingpad { ptr, i32 }
          cleanup
  br label %1661

1653:                                             ; preds = %1646
  %1654 = landingpad { ptr, i32 }
          cleanup
  br label %1660

1655:                                             ; preds = %1647
  %1656 = landingpad { ptr, i32 }
          cleanup
  br label %1659

1657:                                             ; preds = %1649
  %1658 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %229) #9
  br label %1659

1659:                                             ; preds = %1657, %1655
  %.pn573 = phi { ptr, i32 } [ %1658, %1657 ], [ %1656, %1655 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %230) #9
  br label %1660

1660:                                             ; preds = %1659, %1653
  %.pn573.pn = phi { ptr, i32 } [ %.pn573, %1659 ], [ %1654, %1653 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %230) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %229) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %228) #9
  br label %1661

1661:                                             ; preds = %1660, %1651
  %.pn573.pn.pn = phi { ptr, i32 } [ %.pn573.pn, %1660 ], [ %1652, %1651 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %228) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %226) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %226) #9
  br label %3246

1662:                                             ; preds = %1639, %1650
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %226) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %226) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %231) #9
  %1663 = load ptr, ptr %19, align 8, !tbaa !23
  %1664 = getelementptr inbounds i8, ptr %1663, i64 264
  %1665 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1664, i64 noundef 0) #9
  %1666 = getelementptr inbounds i8, ptr %1665, i64 32
  %1667 = load i64, ptr %1666, align 8, !tbaa !41
  %1668 = icmp ne i64 %1667, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %231, i1 noundef zeroext %1668)
  %1669 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %231)
  br i1 %1669, label %1687, label %1670

1670:                                             ; preds = %1662
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %232) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %232)
          to label %1671 unwind label %1676

1671:                                             ; preds = %1670
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %233) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %234) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %234, ptr noundef nonnull align 8 dereferenceable(16) %231, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1672 unwind label %1678

1672:                                             ; preds = %1671
  %1673 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %234)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %233, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 120, ptr noundef %1673)
          to label %1674 unwind label %1680

1674:                                             ; preds = %1672
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %233, ptr noundef nonnull align 8 dereferenceable(8) %232)
          to label %1675 unwind label %1682

1675:                                             ; preds = %1674
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %233) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %234) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %234) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %233) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %232) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %232) #9
  br label %1687

1676:                                             ; preds = %1670
  %1677 = landingpad { ptr, i32 }
          cleanup
  br label %1686

1678:                                             ; preds = %1671
  %1679 = landingpad { ptr, i32 }
          cleanup
  br label %1685

1680:                                             ; preds = %1672
  %1681 = landingpad { ptr, i32 }
          cleanup
  br label %1684

1682:                                             ; preds = %1674
  %1683 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %233) #9
  br label %1684

1684:                                             ; preds = %1682, %1680
  %.pn577 = phi { ptr, i32 } [ %1683, %1682 ], [ %1681, %1680 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %234) #9
  br label %1685

1685:                                             ; preds = %1684, %1678
  %.pn577.pn = phi { ptr, i32 } [ %.pn577, %1684 ], [ %1679, %1678 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %234) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %233) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %232) #9
  br label %1686

1686:                                             ; preds = %1685, %1676
  %.pn577.pn.pn = phi { ptr, i32 } [ %.pn577.pn, %1685 ], [ %1677, %1676 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %232) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %231) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %231) #9
  br label %3246

1687:                                             ; preds = %1662, %1675
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %231) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %231) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %235) #9
  %1688 = load ptr, ptr %19, align 8, !tbaa !23
  %1689 = getelementptr inbounds i8, ptr %1688, i64 264
  %1690 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1689, i64 noundef 0) #9
  %1691 = getelementptr inbounds i8, ptr %1690, i64 32
  %1692 = load i64, ptr %1691, align 8, !tbaa !41
  %1693 = load i64, ptr %1124, align 8, !tbaa !44
  %1694 = icmp ne i64 %1692, %1693
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %235, i1 noundef zeroext %1694)
  %1695 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %235)
  br i1 %1695, label %1713, label %1696

1696:                                             ; preds = %1687
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %236) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236)
          to label %1697 unwind label %1702

1697:                                             ; preds = %1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %237) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %238) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %238, ptr noundef nonnull align 8 dereferenceable(16) %235, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1698 unwind label %1704

1698:                                             ; preds = %1697
  %1699 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %238)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %237, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 121, ptr noundef %1699)
          to label %1700 unwind label %1706

1700:                                             ; preds = %1698
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %237, ptr noundef nonnull align 8 dereferenceable(8) %236)
          to label %1701 unwind label %1708

1701:                                             ; preds = %1700
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %237) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %238) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %238) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %237) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %236) #9
  br label %1713

1702:                                             ; preds = %1696
  %1703 = landingpad { ptr, i32 }
          cleanup
  br label %1712

1704:                                             ; preds = %1697
  %1705 = landingpad { ptr, i32 }
          cleanup
  br label %1711

1706:                                             ; preds = %1698
  %1707 = landingpad { ptr, i32 }
          cleanup
  br label %1710

1708:                                             ; preds = %1700
  %1709 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %237) #9
  br label %1710

1710:                                             ; preds = %1708, %1706
  %.pn581 = phi { ptr, i32 } [ %1709, %1708 ], [ %1707, %1706 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %238) #9
  br label %1711

1711:                                             ; preds = %1710, %1704
  %.pn581.pn = phi { ptr, i32 } [ %.pn581, %1710 ], [ %1705, %1704 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %238) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %237) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %236) #9
  br label %1712

1712:                                             ; preds = %1711, %1702
  %.pn581.pn.pn = phi { ptr, i32 } [ %.pn581.pn, %1711 ], [ %1703, %1702 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %236) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %235) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %235) #9
  br label %3246

1713:                                             ; preds = %1687, %1701
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %235) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %235) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %239) #9
  %1714 = load ptr, ptr %19, align 8, !tbaa !23
  %1715 = getelementptr inbounds i8, ptr %1714, i64 264
  %1716 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1715, i64 noundef 0) #9
  %1717 = getelementptr inbounds i8, ptr %1716, i64 40
  %1718 = load ptr, ptr %1717, align 8, !tbaa !43
  %1719 = icmp ne ptr %1718, null
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %239, i1 noundef zeroext %1719)
  %1720 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %239)
  br i1 %1720, label %1738, label %1721

1721:                                             ; preds = %1713
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %240) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %1722 unwind label %1727

1722:                                             ; preds = %1721
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %241) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %242) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %242, ptr noundef nonnull align 8 dereferenceable(16) %239, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %1723 unwind label %1729

1723:                                             ; preds = %1722
  %1724 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %242)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %241, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 122, ptr noundef %1724)
          to label %1725 unwind label %1731

1725:                                             ; preds = %1723
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %241, ptr noundef nonnull align 8 dereferenceable(8) %240)
          to label %1726 unwind label %1733

1726:                                             ; preds = %1725
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %242) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %242) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %241) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %240) #9
  br label %1738

1727:                                             ; preds = %1721
  %1728 = landingpad { ptr, i32 }
          cleanup
  br label %1737

1729:                                             ; preds = %1722
  %1730 = landingpad { ptr, i32 }
          cleanup
  br label %1736

1731:                                             ; preds = %1723
  %1732 = landingpad { ptr, i32 }
          cleanup
  br label %1735

1733:                                             ; preds = %1725
  %1734 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %241) #9
  br label %1735

1735:                                             ; preds = %1733, %1731
  %.pn585 = phi { ptr, i32 } [ %1734, %1733 ], [ %1732, %1731 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %242) #9
  br label %1736

1736:                                             ; preds = %1735, %1729
  %.pn585.pn = phi { ptr, i32 } [ %.pn585, %1735 ], [ %1730, %1729 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %242) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %241) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %240) #9
  br label %1737

1737:                                             ; preds = %1736, %1727
  %.pn585.pn.pn = phi { ptr, i32 } [ %.pn585.pn, %1736 ], [ %1728, %1727 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %240) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %239) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %239) #9
  br label %3246

1738:                                             ; preds = %1713, %1726
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %239) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %239) #9
  %1739 = load ptr, ptr %19, align 8, !tbaa !23
  %1740 = getelementptr inbounds i8, ptr %1739, i64 264
  %1741 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1740, i64 noundef 0) #9
  %1742 = getelementptr inbounds i8, ptr %1741, i64 32
  %1743 = load i64, ptr %1742, align 8, !tbaa !41
  %1744 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %597, i64 noundef %1743, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %243) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %244) #9
  store i64 281474976710659, ptr %244, align 8, !tbaa !24
  %1745 = getelementptr inbounds i8, ptr %1744, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %243, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.85, ptr noundef nonnull align 8 dereferenceable(8) %244, ptr noundef nonnull align 8 dereferenceable(8) %1745)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %244) #9
  %1746 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %243)
  br i1 %1746, label %1761, label %1747

1747:                                             ; preds = %1738
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %245) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %245)
          to label %1748 unwind label %1753

1748:                                             ; preds = %1747
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %246) #9
  %1749 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %243)
          to label %1750 unwind label %1755

1750:                                             ; preds = %1748
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %246, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 124, ptr noundef %1749)
          to label %1751 unwind label %1755

1751:                                             ; preds = %1750
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %246, ptr noundef nonnull align 8 dereferenceable(8) %245)
          to label %1752 unwind label %1757

1752:                                             ; preds = %1751
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %246) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %246) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %245) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %245) #9
  br label %1761

1753:                                             ; preds = %1747
  %1754 = landingpad { ptr, i32 }
          cleanup
  br label %1760

1755:                                             ; preds = %1750, %1748
  %1756 = landingpad { ptr, i32 }
          cleanup
  br label %1759

1757:                                             ; preds = %1751
  %1758 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %246) #9
  br label %1759

1759:                                             ; preds = %1757, %1755
  %.pn589 = phi { ptr, i32 } [ %1758, %1757 ], [ %1756, %1755 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %246) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %245) #9
  br label %1760

1760:                                             ; preds = %1759, %1753
  %.pn589.pn = phi { ptr, i32 } [ %.pn589, %1759 ], [ %1754, %1753 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %245) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %243) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %243) #9
  br label %3246

1761:                                             ; preds = %1738, %1752
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %243) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %243) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %247) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %248) #9
  store i32 2, ptr %248, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %249) #9
  %1762 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %778)
  store i64 %1762, ptr %249, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %247, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.36, ptr noundef nonnull align 4 dereferenceable(4) %248, ptr noundef nonnull align 8 dereferenceable(8) %249)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %249) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %248) #9
  %1763 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %247)
  br i1 %1763, label %1778, label %1764

1764:                                             ; preds = %1761
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %250) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %250)
          to label %1765 unwind label %1770

1765:                                             ; preds = %1764
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %251) #9
  %1766 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %247)
          to label %1767 unwind label %1772

1767:                                             ; preds = %1765
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %251, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 125, ptr noundef %1766)
          to label %1768 unwind label %1772

1768:                                             ; preds = %1767
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %251, ptr noundef nonnull align 8 dereferenceable(8) %250)
          to label %1769 unwind label %1774

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

1770:                                             ; preds = %1764
  %1771 = landingpad { ptr, i32 }
          cleanup
  br label %1777

1772:                                             ; preds = %1767, %1765
  %1773 = landingpad { ptr, i32 }
          cleanup
  br label %1776

1774:                                             ; preds = %1768
  %1775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %251) #9
  br label %1776

1776:                                             ; preds = %1774, %1772
  %.pn592 = phi { ptr, i32 } [ %1775, %1774 ], [ %1773, %1772 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %251) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %250) #9
  br label %1777

1777:                                             ; preds = %1776, %1770
  %.pn592.pn = phi { ptr, i32 } [ %.pn592, %1776 ], [ %1771, %1770 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %250) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %247) #9
  br label %3246

1778:                                             ; preds = %1761, %1769
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %247) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %247) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %252) #9
  %1779 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %252, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.37, ptr noundef nonnull align 1 dereferenceable(2) @.str.3, ptr noundef nonnull align 8 dereferenceable(12) %1779)
  %1780 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %252)
  br i1 %1780, label %1795, label %1781

1781:                                             ; preds = %1778
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %253) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %253)
          to label %1782 unwind label %1787

1782:                                             ; preds = %1781
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %254) #9
  %1783 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %252)
          to label %1784 unwind label %1789

1784:                                             ; preds = %1782
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %254, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 126, ptr noundef %1783)
          to label %1785 unwind label %1789

1785:                                             ; preds = %1784
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %254, ptr noundef nonnull align 8 dereferenceable(8) %253)
          to label %1786 unwind label %1791

1786:                                             ; preds = %1785
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %254) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %254) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %253) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %253) #9
  br label %1795

1787:                                             ; preds = %1781
  %1788 = landingpad { ptr, i32 }
          cleanup
  br label %1794

1789:                                             ; preds = %1784, %1782
  %1790 = landingpad { ptr, i32 }
          cleanup
  br label %1793

1791:                                             ; preds = %1785
  %1792 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %254) #9
  br label %1793

1793:                                             ; preds = %1791, %1789
  %.pn595 = phi { ptr, i32 } [ %1792, %1791 ], [ %1790, %1789 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %254) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %253) #9
  br label %1794

1794:                                             ; preds = %1793, %1787
  %.pn595.pn = phi { ptr, i32 } [ %.pn595, %1793 ], [ %1788, %1787 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %253) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %252) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %252) #9
  br label %3246

1795:                                             ; preds = %1778, %1786
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %252) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %252) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %255) #9
  %1796 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 0)
  %1797 = getelementptr inbounds i8, ptr %1796, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %255, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.38, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %1797)
  %1798 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %255)
  br i1 %1798, label %1813, label %1799

1799:                                             ; preds = %1795
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %256) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %256)
          to label %1800 unwind label %1805

1800:                                             ; preds = %1799
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %257) #9
  %1801 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %255)
          to label %1802 unwind label %1807

1802:                                             ; preds = %1800
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %257, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 126, ptr noundef %1801)
          to label %1803 unwind label %1807

1803:                                             ; preds = %1802
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %257, ptr noundef nonnull align 8 dereferenceable(8) %256)
          to label %1804 unwind label %1809

1804:                                             ; preds = %1803
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %257) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %257) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %256) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %256) #9
  br label %1813

1805:                                             ; preds = %1799
  %1806 = landingpad { ptr, i32 }
          cleanup
  br label %1812

1807:                                             ; preds = %1802, %1800
  %1808 = landingpad { ptr, i32 }
          cleanup
  br label %1811

1809:                                             ; preds = %1803
  %1810 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %257) #9
  br label %1811

1811:                                             ; preds = %1809, %1807
  %.pn598 = phi { ptr, i32 } [ %1810, %1809 ], [ %1808, %1807 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %257) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %256) #9
  br label %1812

1812:                                             ; preds = %1811, %1805
  %.pn598.pn = phi { ptr, i32 } [ %.pn598, %1811 ], [ %1806, %1805 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %256) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %255) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %255) #9
  br label %3246

1813:                                             ; preds = %1795, %1804
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %255) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %255) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %258) #9
  %1814 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %258, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.40, ptr noundef nonnull align 1 dereferenceable(2) @.str.24, ptr noundef nonnull align 8 dereferenceable(12) %1814)
  %1815 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %258)
  br i1 %1815, label %1830, label %1816

1816:                                             ; preds = %1813
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %259) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %259)
          to label %1817 unwind label %1822

1817:                                             ; preds = %1816
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %260) #9
  %1818 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %258)
          to label %1819 unwind label %1824

1819:                                             ; preds = %1817
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %260, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 127, ptr noundef %1818)
          to label %1820 unwind label %1824

1820:                                             ; preds = %1819
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %260, ptr noundef nonnull align 8 dereferenceable(8) %259)
          to label %1821 unwind label %1826

1821:                                             ; preds = %1820
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %260) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %260) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %259) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %259) #9
  br label %1830

1822:                                             ; preds = %1816
  %1823 = landingpad { ptr, i32 }
          cleanup
  br label %1829

1824:                                             ; preds = %1819, %1817
  %1825 = landingpad { ptr, i32 }
          cleanup
  br label %1828

1826:                                             ; preds = %1820
  %1827 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %260) #9
  br label %1828

1828:                                             ; preds = %1826, %1824
  %.pn601 = phi { ptr, i32 } [ %1827, %1826 ], [ %1825, %1824 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %260) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %259) #9
  br label %1829

1829:                                             ; preds = %1828, %1822
  %.pn601.pn = phi { ptr, i32 } [ %.pn601, %1828 ], [ %1823, %1822 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %259) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %258) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %258) #9
  br label %3246

1830:                                             ; preds = %1813, %1821
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %258) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %258) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %261) #9
  %1831 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %778, i64 noundef 1)
  %1832 = getelementptr inbounds i8, ptr %1831, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %261, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.41, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %1832)
  %1833 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %261)
  br i1 %1833, label %1848, label %1834

1834:                                             ; preds = %1830
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %262) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %262)
          to label %1835 unwind label %1840

1835:                                             ; preds = %1834
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %263) #9
  %1836 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %261)
          to label %1837 unwind label %1842

1837:                                             ; preds = %1835
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %263, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 127, ptr noundef %1836)
          to label %1838 unwind label %1842

1838:                                             ; preds = %1837
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %263, ptr noundef nonnull align 8 dereferenceable(8) %262)
          to label %1839 unwind label %1844

1839:                                             ; preds = %1838
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %263) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %263) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %262) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %262) #9
  br label %1848

1840:                                             ; preds = %1834
  %1841 = landingpad { ptr, i32 }
          cleanup
  br label %1847

1842:                                             ; preds = %1837, %1835
  %1843 = landingpad { ptr, i32 }
          cleanup
  br label %1846

1844:                                             ; preds = %1838
  %1845 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %263) #9
  br label %1846

1846:                                             ; preds = %1844, %1842
  %.pn604 = phi { ptr, i32 } [ %1845, %1844 ], [ %1843, %1842 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %263) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %262) #9
  br label %1847

1847:                                             ; preds = %1846, %1840
  %.pn604.pn = phi { ptr, i32 } [ %.pn604, %1846 ], [ %1841, %1840 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %262) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %261) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %261) #9
  br label %3246

1848:                                             ; preds = %1830, %1839
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %261) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %261) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %264) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %265) #9
  store i32 3, ptr %265, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %266) #9
  %1849 = getelementptr inbounds i8, ptr %1744, i64 264
  %1850 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %1849)
  store i64 %1850, ptr %266, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %264, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.88, ptr noundef nonnull align 4 dereferenceable(4) %265, ptr noundef nonnull align 8 dereferenceable(8) %266)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %266) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %265) #9
  %1851 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %264)
  br i1 %1851, label %1866, label %1852

1852:                                             ; preds = %1848
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %267) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %267)
          to label %1853 unwind label %1858

1853:                                             ; preds = %1852
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %268) #9
  %1854 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %264)
          to label %1855 unwind label %1860

1855:                                             ; preds = %1853
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %268, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 128, ptr noundef %1854)
          to label %1856 unwind label %1860

1856:                                             ; preds = %1855
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %268, ptr noundef nonnull align 8 dereferenceable(8) %267)
          to label %1857 unwind label %1862

1857:                                             ; preds = %1856
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %268) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %268) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %267) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %267) #9
  br label %1866

1858:                                             ; preds = %1852
  %1859 = landingpad { ptr, i32 }
          cleanup
  br label %1865

1860:                                             ; preds = %1855, %1853
  %1861 = landingpad { ptr, i32 }
          cleanup
  br label %1864

1862:                                             ; preds = %1856
  %1863 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %268) #9
  br label %1864

1864:                                             ; preds = %1862, %1860
  %.pn607 = phi { ptr, i32 } [ %1863, %1862 ], [ %1861, %1860 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %268) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %267) #9
  br label %1865

1865:                                             ; preds = %1864, %1858
  %.pn607.pn = phi { ptr, i32 } [ %.pn607, %1864 ], [ %1859, %1858 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %267) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %264) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %264) #9
  br label %3246

1866:                                             ; preds = %1848, %1857
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %264) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %264) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %269) #9
  %1867 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %269, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.90, ptr noundef nonnull align 1 dereferenceable(3) @.str.73, ptr noundef nonnull align 8 dereferenceable(12) %1867)
  %1868 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %269)
  br i1 %1868, label %1883, label %1869

1869:                                             ; preds = %1866
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %270) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %270)
          to label %1870 unwind label %1875

1870:                                             ; preds = %1869
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %271) #9
  %1871 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %269)
          to label %1872 unwind label %1877

1872:                                             ; preds = %1870
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %271, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 129, ptr noundef %1871)
          to label %1873 unwind label %1877

1873:                                             ; preds = %1872
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %271, ptr noundef nonnull align 8 dereferenceable(8) %270)
          to label %1874 unwind label %1879

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

1875:                                             ; preds = %1869
  %1876 = landingpad { ptr, i32 }
          cleanup
  br label %1882

1877:                                             ; preds = %1872, %1870
  %1878 = landingpad { ptr, i32 }
          cleanup
  br label %1881

1879:                                             ; preds = %1873
  %1880 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %271) #9
  br label %1881

1881:                                             ; preds = %1879, %1877
  %.pn610 = phi { ptr, i32 } [ %1880, %1879 ], [ %1878, %1877 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %271) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %270) #9
  br label %1882

1882:                                             ; preds = %1881, %1875
  %.pn610.pn = phi { ptr, i32 } [ %.pn610, %1881 ], [ %1876, %1875 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %270) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %269) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %269) #9
  br label %3246

1883:                                             ; preds = %1866, %1874
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %269) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %269) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %272) #9
  %1884 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 0)
  %1885 = getelementptr inbounds i8, ptr %1884, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %272, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.91, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1885)
  %1886 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %272)
  br i1 %1886, label %1901, label %1887

1887:                                             ; preds = %1883
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %273) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %273)
          to label %1888 unwind label %1893

1888:                                             ; preds = %1887
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %274) #9
  %1889 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %272)
          to label %1890 unwind label %1895

1890:                                             ; preds = %1888
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %274, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 129, ptr noundef %1889)
          to label %1891 unwind label %1895

1891:                                             ; preds = %1890
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %274, ptr noundef nonnull align 8 dereferenceable(8) %273)
          to label %1892 unwind label %1897

1892:                                             ; preds = %1891
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %274) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %274) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %273) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %273) #9
  br label %1901

1893:                                             ; preds = %1887
  %1894 = landingpad { ptr, i32 }
          cleanup
  br label %1900

1895:                                             ; preds = %1890, %1888
  %1896 = landingpad { ptr, i32 }
          cleanup
  br label %1899

1897:                                             ; preds = %1891
  %1898 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %274) #9
  br label %1899

1899:                                             ; preds = %1897, %1895
  %.pn613 = phi { ptr, i32 } [ %1898, %1897 ], [ %1896, %1895 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %274) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %273) #9
  br label %1900

1900:                                             ; preds = %1899, %1893
  %.pn613.pn = phi { ptr, i32 } [ %.pn613, %1899 ], [ %1894, %1893 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %273) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %272) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %272) #9
  br label %3246

1901:                                             ; preds = %1883, %1892
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %272) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %272) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %275) #9
  %1902 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %275, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.92, ptr noundef nonnull align 1 dereferenceable(2) @.str.25, ptr noundef nonnull align 8 dereferenceable(12) %1902)
  %1903 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %275)
  br i1 %1903, label %1918, label %1904

1904:                                             ; preds = %1901
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %276) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %276)
          to label %1905 unwind label %1910

1905:                                             ; preds = %1904
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %277) #9
  %1906 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %275)
          to label %1907 unwind label %1912

1907:                                             ; preds = %1905
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %277, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 130, ptr noundef %1906)
          to label %1908 unwind label %1912

1908:                                             ; preds = %1907
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %277, ptr noundef nonnull align 8 dereferenceable(8) %276)
          to label %1909 unwind label %1914

1909:                                             ; preds = %1908
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %277) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %277) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %276) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %276) #9
  br label %1918

1910:                                             ; preds = %1904
  %1911 = landingpad { ptr, i32 }
          cleanup
  br label %1917

1912:                                             ; preds = %1907, %1905
  %1913 = landingpad { ptr, i32 }
          cleanup
  br label %1916

1914:                                             ; preds = %1908
  %1915 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %277) #9
  br label %1916

1916:                                             ; preds = %1914, %1912
  %.pn616 = phi { ptr, i32 } [ %1915, %1914 ], [ %1913, %1912 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %277) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %276) #9
  br label %1917

1917:                                             ; preds = %1916, %1910
  %.pn616.pn = phi { ptr, i32 } [ %.pn616, %1916 ], [ %1911, %1910 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %276) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %275) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %275) #9
  br label %3246

1918:                                             ; preds = %1901, %1909
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %275) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %275) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %278) #9
  %1919 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 1)
  %1920 = getelementptr inbounds i8, ptr %1919, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %278, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.93, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1920)
  %1921 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %278)
  br i1 %1921, label %1936, label %1922

1922:                                             ; preds = %1918
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %279) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %279)
          to label %1923 unwind label %1928

1923:                                             ; preds = %1922
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %280) #9
  %1924 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %278)
          to label %1925 unwind label %1930

1925:                                             ; preds = %1923
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %280, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 130, ptr noundef %1924)
          to label %1926 unwind label %1930

1926:                                             ; preds = %1925
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %280, ptr noundef nonnull align 8 dereferenceable(8) %279)
          to label %1927 unwind label %1932

1927:                                             ; preds = %1926
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %280) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %280) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %279) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %279) #9
  br label %1936

1928:                                             ; preds = %1922
  %1929 = landingpad { ptr, i32 }
          cleanup
  br label %1935

1930:                                             ; preds = %1925, %1923
  %1931 = landingpad { ptr, i32 }
          cleanup
  br label %1934

1932:                                             ; preds = %1926
  %1933 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %280) #9
  br label %1934

1934:                                             ; preds = %1932, %1930
  %.pn619 = phi { ptr, i32 } [ %1933, %1932 ], [ %1931, %1930 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %280) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %279) #9
  br label %1935

1935:                                             ; preds = %1934, %1928
  %.pn619.pn = phi { ptr, i32 } [ %.pn619, %1934 ], [ %1929, %1928 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %279) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %278) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %278) #9
  br label %3246

1936:                                             ; preds = %1918, %1927
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %278) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %278) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %281) #9
  %1937 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 2)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %281, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.94, ptr noundef nonnull align 1 dereferenceable(2) @.str.30, ptr noundef nonnull align 8 dereferenceable(12) %1937)
  %1938 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %281)
  br i1 %1938, label %1953, label %1939

1939:                                             ; preds = %1936
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %282) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %282)
          to label %1940 unwind label %1945

1940:                                             ; preds = %1939
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %283) #9
  %1941 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %281)
          to label %1942 unwind label %1947

1942:                                             ; preds = %1940
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %283, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 131, ptr noundef %1941)
          to label %1943 unwind label %1947

1943:                                             ; preds = %1942
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %283, ptr noundef nonnull align 8 dereferenceable(8) %282)
          to label %1944 unwind label %1949

1944:                                             ; preds = %1943
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %283) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %283) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %282) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %282) #9
  br label %1953

1945:                                             ; preds = %1939
  %1946 = landingpad { ptr, i32 }
          cleanup
  br label %1952

1947:                                             ; preds = %1942, %1940
  %1948 = landingpad { ptr, i32 }
          cleanup
  br label %1951

1949:                                             ; preds = %1943
  %1950 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %283) #9
  br label %1951

1951:                                             ; preds = %1949, %1947
  %.pn622 = phi { ptr, i32 } [ %1950, %1949 ], [ %1948, %1947 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %283) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %282) #9
  br label %1952

1952:                                             ; preds = %1951, %1945
  %.pn622.pn = phi { ptr, i32 } [ %.pn622, %1951 ], [ %1946, %1945 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %282) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %281) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %281) #9
  br label %3246

1953:                                             ; preds = %1936, %1944
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %281) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %281) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %284) #9
  %1954 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1849, i64 noundef 2)
  %1955 = getelementptr inbounds i8, ptr %1954, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %284, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.95, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %1955)
  %1956 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %284)
  br i1 %1956, label %1971, label %1957

1957:                                             ; preds = %1953
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %285) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %285)
          to label %1958 unwind label %1963

1958:                                             ; preds = %1957
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %286) #9
  %1959 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %284)
          to label %1960 unwind label %1965

1960:                                             ; preds = %1958
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %286, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 131, ptr noundef %1959)
          to label %1961 unwind label %1965

1961:                                             ; preds = %1960
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %286, ptr noundef nonnull align 8 dereferenceable(8) %285)
          to label %1962 unwind label %1967

1962:                                             ; preds = %1961
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %286) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %286) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %285) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %285) #9
  br label %1971

1963:                                             ; preds = %1957
  %1964 = landingpad { ptr, i32 }
          cleanup
  br label %1970

1965:                                             ; preds = %1960, %1958
  %1966 = landingpad { ptr, i32 }
          cleanup
  br label %1969

1967:                                             ; preds = %1961
  %1968 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %286) #9
  br label %1969

1969:                                             ; preds = %1967, %1965
  %.pn625 = phi { ptr, i32 } [ %1968, %1967 ], [ %1966, %1965 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %286) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %285) #9
  br label %1970

1970:                                             ; preds = %1969, %1963
  %.pn625.pn = phi { ptr, i32 } [ %.pn625, %1969 ], [ %1964, %1963 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %285) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %284) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %284) #9
  br label %3246

1971:                                             ; preds = %1953, %1962
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %284) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %284) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %287) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %288) #9
  store i32 63, ptr %288, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %289) #9
  %1972 = load ptr, ptr %19, align 8, !tbaa !23
  %1973 = load ptr, ptr %1972, align 8, !tbaa !17
  %1974 = getelementptr inbounds i8, ptr %1973, i64 16
  %1975 = load ptr, ptr %1974, align 8
  %1976 = call noundef i64 %1975(ptr noundef nonnull align 8 dereferenceable(312) %1972)
  store i64 %1976, ptr %289, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %287, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.75, ptr noundef nonnull align 4 dereferenceable(4) %288, ptr noundef nonnull align 8 dereferenceable(8) %289)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %289) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %288) #9
  %1977 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %287)
  br i1 %1977, label %1992, label %1978

1978:                                             ; preds = %1971
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %290) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %290)
          to label %1979 unwind label %1984

1979:                                             ; preds = %1978
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %291) #9
  %1980 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %287)
          to label %1981 unwind label %1986

1981:                                             ; preds = %1979
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %291, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 132, ptr noundef %1980)
          to label %1982 unwind label %1986

1982:                                             ; preds = %1981
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %291, ptr noundef nonnull align 8 dereferenceable(8) %290)
          to label %1983 unwind label %1988

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

1984:                                             ; preds = %1978
  %1985 = landingpad { ptr, i32 }
          cleanup
  br label %1991

1986:                                             ; preds = %1981, %1979
  %1987 = landingpad { ptr, i32 }
          cleanup
  br label %1990

1988:                                             ; preds = %1982
  %1989 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %291) #9
  br label %1990

1990:                                             ; preds = %1988, %1986
  %.pn628 = phi { ptr, i32 } [ %1989, %1988 ], [ %1987, %1986 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %291) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %290) #9
  br label %1991

1991:                                             ; preds = %1990, %1984
  %.pn628.pn = phi { ptr, i32 } [ %.pn628, %1990 ], [ %1985, %1984 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %290) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %287) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %287) #9
  br label %3246

1992:                                             ; preds = %1971, %1983
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %287) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %287) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %292) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %293) #9
  %1993 = load ptr, ptr %200, align 8, !tbaa !23
  %1994 = getelementptr inbounds i8, ptr %1993, i64 264
  %1995 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1994) #9
  store i64 %1995, ptr %293, align 8, !tbaa !24
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %294) #9
  store i32 1, ptr %294, align 4, !tbaa !25
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImjEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %292, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.52, ptr noundef nonnull align 8 dereferenceable(8) %293, ptr noundef nonnull align 4 dereferenceable(4) %294)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %294) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %293) #9
  %1996 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %292)
  br i1 %1996, label %2011, label %1997

1997:                                             ; preds = %1992
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %295) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295)
          to label %1998 unwind label %2003

1998:                                             ; preds = %1997
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %296) #9
  %1999 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %292)
          to label %2000 unwind label %2005

2000:                                             ; preds = %1998
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %296, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 135, ptr noundef %1999)
          to label %2001 unwind label %2005

2001:                                             ; preds = %2000
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(8) %295)
          to label %2002 unwind label %2007

2002:                                             ; preds = %2001
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %296) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %296) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %295) #9
  br label %2011

2003:                                             ; preds = %1997
  %2004 = landingpad { ptr, i32 }
          cleanup
  br label %2010

2005:                                             ; preds = %2000, %1998
  %2006 = landingpad { ptr, i32 }
          cleanup
  br label %2009

2007:                                             ; preds = %2001
  %2008 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %296) #9
  br label %2009

2009:                                             ; preds = %2007, %2005
  %.pn631 = phi { ptr, i32 } [ %2008, %2007 ], [ %2006, %2005 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %296) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %295) #9
  br label %2010

2010:                                             ; preds = %2009, %2003
  %.pn631.pn = phi { ptr, i32 } [ %.pn631, %2009 ], [ %2004, %2003 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %295) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %292) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %292) #9
  br label %3246

2011:                                             ; preds = %1992, %2002
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %292) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %292) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %297) #9
  %2012 = load ptr, ptr %200, align 8, !tbaa !23
  %2013 = getelementptr inbounds i8, ptr %2012, i64 264
  %2014 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2013, i64 noundef 0) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %298) #9
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %298, ptr noundef nonnull @.str.48)
  %2015 = call noundef zeroext i1 @_ZN7cascadbeqERKNS_5SliceES2_(ptr noundef nonnull align 8 dereferenceable(12) %2014, ptr noundef nonnull align 8 dereferenceable(12) %298)
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %297, i1 noundef zeroext %2015)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %298) #9
  %2016 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %297)
  br i1 %2016, label %2034, label %2017

2017:                                             ; preds = %2011
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %299) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %299)
          to label %2018 unwind label %2023

2018:                                             ; preds = %2017
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %300) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %301) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %301, ptr noundef nonnull align 8 dereferenceable(16) %297, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2019 unwind label %2025

2019:                                             ; preds = %2018
  %2020 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %301)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %300, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 136, ptr noundef %2020)
          to label %2021 unwind label %2027

2021:                                             ; preds = %2019
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %300, ptr noundef nonnull align 8 dereferenceable(8) %299)
          to label %2022 unwind label %2029

2022:                                             ; preds = %2021
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %300) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %301) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %301) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %300) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %299) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %299) #9
  br label %2034

2023:                                             ; preds = %2017
  %2024 = landingpad { ptr, i32 }
          cleanup
  br label %2033

2025:                                             ; preds = %2018
  %2026 = landingpad { ptr, i32 }
          cleanup
  br label %2032

2027:                                             ; preds = %2019
  %2028 = landingpad { ptr, i32 }
          cleanup
  br label %2031

2029:                                             ; preds = %2021
  %2030 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %300) #9
  br label %2031

2031:                                             ; preds = %2029, %2027
  %.pn634 = phi { ptr, i32 } [ %2030, %2029 ], [ %2028, %2027 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %301) #9
  br label %2032

2032:                                             ; preds = %2031, %2025
  %.pn634.pn = phi { ptr, i32 } [ %.pn634, %2031 ], [ %2026, %2025 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %301) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %300) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %299) #9
  br label %2033

2033:                                             ; preds = %2032, %2023
  %.pn634.pn.pn = phi { ptr, i32 } [ %.pn634.pn, %2032 ], [ %2024, %2023 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %299) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %297) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %297) #9
  br label %3246

2034:                                             ; preds = %2011, %2022
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %297) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %297) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %302) #9
  %2035 = load ptr, ptr %200, align 8, !tbaa !23
  %2036 = getelementptr inbounds i8, ptr %2035, i64 264
  %2037 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2036, i64 noundef 0) #9
  %2038 = getelementptr inbounds i8, ptr %2037, i64 32
  %2039 = load i64, ptr %2038, align 8, !tbaa !41
  %2040 = icmp ne i64 %2039, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %302, i1 noundef zeroext %2040)
  %2041 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %302)
  br i1 %2041, label %2059, label %2042

2042:                                             ; preds = %2034
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %303) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303)
          to label %2043 unwind label %2048

2043:                                             ; preds = %2042
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %304) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %305) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %305, ptr noundef nonnull align 8 dereferenceable(16) %302, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2044 unwind label %2050

2044:                                             ; preds = %2043
  %2045 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %305)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %304, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 137, ptr noundef %2045)
          to label %2046 unwind label %2052

2046:                                             ; preds = %2044
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %304, ptr noundef nonnull align 8 dereferenceable(8) %303)
          to label %2047 unwind label %2054

2047:                                             ; preds = %2046
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %304) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %305) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %305) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %304) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %303) #9
  br label %2059

2048:                                             ; preds = %2042
  %2049 = landingpad { ptr, i32 }
          cleanup
  br label %2058

2050:                                             ; preds = %2043
  %2051 = landingpad { ptr, i32 }
          cleanup
  br label %2057

2052:                                             ; preds = %2044
  %2053 = landingpad { ptr, i32 }
          cleanup
  br label %2056

2054:                                             ; preds = %2046
  %2055 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %304) #9
  br label %2056

2056:                                             ; preds = %2054, %2052
  %.pn638 = phi { ptr, i32 } [ %2055, %2054 ], [ %2053, %2052 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %305) #9
  br label %2057

2057:                                             ; preds = %2056, %2050
  %.pn638.pn = phi { ptr, i32 } [ %.pn638, %2056 ], [ %2051, %2050 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %305) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %304) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %303) #9
  br label %2058

2058:                                             ; preds = %2057, %2048
  %.pn638.pn.pn = phi { ptr, i32 } [ %.pn638.pn, %2057 ], [ %2049, %2048 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %303) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %302) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %302) #9
  br label %3246

2059:                                             ; preds = %2034, %2047
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %302) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %302) #9
  %2060 = load ptr, ptr %200, align 8, !tbaa !23
  %2061 = getelementptr inbounds i8, ptr %2060, i64 264
  %2062 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2061, i64 noundef 0) #9
  %2063 = getelementptr inbounds i8, ptr %2062, i64 32
  %2064 = load i64, ptr %2063, align 8, !tbaa !41
  %2065 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %597, i64 noundef %2064, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %306) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %307) #9
  store i64 3, ptr %307, align 8, !tbaa !24
  %2066 = getelementptr inbounds i8, ptr %2065, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %306, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.101, ptr noundef nonnull align 8 dereferenceable(8) %307, ptr noundef nonnull align 8 dereferenceable(8) %2066)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %307) #9
  %2067 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %306)
  br i1 %2067, label %2082, label %2068

2068:                                             ; preds = %2059
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %308) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308)
          to label %2069 unwind label %2074

2069:                                             ; preds = %2068
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %309) #9
  %2070 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %306)
          to label %2071 unwind label %2076

2071:                                             ; preds = %2069
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %309, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 139, ptr noundef %2070)
          to label %2072 unwind label %2076

2072:                                             ; preds = %2071
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %309, ptr noundef nonnull align 8 dereferenceable(8) %308)
          to label %2073 unwind label %2078

2073:                                             ; preds = %2072
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %309) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %309) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %308) #9
  br label %2082

2074:                                             ; preds = %2068
  %2075 = landingpad { ptr, i32 }
          cleanup
  br label %2081

2076:                                             ; preds = %2071, %2069
  %2077 = landingpad { ptr, i32 }
          cleanup
  br label %2080

2078:                                             ; preds = %2072
  %2079 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %309) #9
  br label %2080

2080:                                             ; preds = %2078, %2076
  %.pn642 = phi { ptr, i32 } [ %2079, %2078 ], [ %2077, %2076 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %309) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %308) #9
  br label %2081

2081:                                             ; preds = %2080, %2074
  %.pn642.pn = phi { ptr, i32 } [ %.pn642, %2080 ], [ %2075, %2074 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %308) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %306) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %306) #9
  br label %3246

2082:                                             ; preds = %2059, %2073
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %306) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %306) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %310) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %311) #9
  store i32 1, ptr %311, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %312) #9
  %2083 = getelementptr inbounds i8, ptr %2065, i64 224
  %2084 = load ptr, ptr %2083, align 8, !tbaa !26
  %2085 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2084)
  store i64 %2085, ptr %312, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %310, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.102, ptr noundef nonnull align 4 dereferenceable(4) %311, ptr noundef nonnull align 8 dereferenceable(8) %312)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %312) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %311) #9
  %2086 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %310)
  br i1 %2086, label %2101, label %2087

2087:                                             ; preds = %2082
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %313) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %313)
          to label %2088 unwind label %2093

2088:                                             ; preds = %2087
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %314) #9
  %2089 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %310)
          to label %2090 unwind label %2095

2090:                                             ; preds = %2088
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %314, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 140, ptr noundef %2089)
          to label %2091 unwind label %2095

2091:                                             ; preds = %2090
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %314, ptr noundef nonnull align 8 dereferenceable(8) %313)
          to label %2092 unwind label %2097

2092:                                             ; preds = %2091
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %314) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %314) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %313) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %313) #9
  br label %2101

2093:                                             ; preds = %2087
  %2094 = landingpad { ptr, i32 }
          cleanup
  br label %2100

2095:                                             ; preds = %2090, %2088
  %2096 = landingpad { ptr, i32 }
          cleanup
  br label %2099

2097:                                             ; preds = %2091
  %2098 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %314) #9
  br label %2099

2099:                                             ; preds = %2097, %2095
  %.pn645 = phi { ptr, i32 } [ %2098, %2097 ], [ %2096, %2095 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %314) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %313) #9
  br label %2100

2100:                                             ; preds = %2099, %2093
  %.pn645.pn = phi { ptr, i32 } [ %.pn645, %2099 ], [ %2094, %2093 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %313) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %310) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %310) #9
  br label %3246

2101:                                             ; preds = %2082, %2092
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %310) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %310) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %315) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %316) #9
  store i32 1, ptr %316, align 4, !tbaa !45
  %2102 = load ptr, ptr %2083, align 8, !tbaa !26
  %2103 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2102, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %315, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.104, ptr noundef nonnull align 4 dereferenceable(4) %316, ptr noundef nonnull align 4 dereferenceable(4) %2103)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %316) #9
  %2104 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %315)
  br i1 %2104, label %2119, label %2105

2105:                                             ; preds = %2101
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %317) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %317)
          to label %2106 unwind label %2111

2106:                                             ; preds = %2105
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %318) #9
  %2107 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %315)
          to label %2108 unwind label %2113

2108:                                             ; preds = %2106
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %318, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 141, ptr noundef %2107)
          to label %2109 unwind label %2113

2109:                                             ; preds = %2108
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %318, ptr noundef nonnull align 8 dereferenceable(8) %317)
          to label %2110 unwind label %2115

2110:                                             ; preds = %2109
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %318) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %318) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %317) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %317) #9
  br label %2119

2111:                                             ; preds = %2105
  %2112 = landingpad { ptr, i32 }
          cleanup
  br label %2118

2113:                                             ; preds = %2108, %2106
  %2114 = landingpad { ptr, i32 }
          cleanup
  br label %2117

2115:                                             ; preds = %2109
  %2116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %318) #9
  br label %2117

2117:                                             ; preds = %2115, %2113
  %.pn648 = phi { ptr, i32 } [ %2116, %2115 ], [ %2114, %2113 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %318) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %317) #9
  br label %2118

2118:                                             ; preds = %2117, %2111
  %.pn648.pn = phi { ptr, i32 } [ %.pn648, %2117 ], [ %2112, %2111 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %317) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %315) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %315) #9
  br label %3246

2119:                                             ; preds = %2101, %2110
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %315) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %315) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %319) #9
  %2120 = load ptr, ptr %2083, align 8, !tbaa !26
  %2121 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2120, i64 noundef 0)
  %2122 = getelementptr inbounds i8, ptr %2121, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %319, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.105, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %2122)
  %2123 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %319)
  br i1 %2123, label %2138, label %2124

2124:                                             ; preds = %2119
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %320) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %320)
          to label %2125 unwind label %2130

2125:                                             ; preds = %2124
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %321) #9
  %2126 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %319)
          to label %2127 unwind label %2132

2127:                                             ; preds = %2125
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %321, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 141, ptr noundef %2126)
          to label %2128 unwind label %2132

2128:                                             ; preds = %2127
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %321, ptr noundef nonnull align 8 dereferenceable(8) %320)
          to label %2129 unwind label %2134

2129:                                             ; preds = %2128
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %321) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %321) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %320) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %320) #9
  br label %2138

2130:                                             ; preds = %2124
  %2131 = landingpad { ptr, i32 }
          cleanup
  br label %2137

2132:                                             ; preds = %2127, %2125
  %2133 = landingpad { ptr, i32 }
          cleanup
  br label %2136

2134:                                             ; preds = %2128
  %2135 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %321) #9
  br label %2136

2136:                                             ; preds = %2134, %2132
  %.pn651 = phi { ptr, i32 } [ %2135, %2134 ], [ %2133, %2132 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %321) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %320) #9
  br label %2137

2137:                                             ; preds = %2136, %2130
  %.pn651.pn = phi { ptr, i32 } [ %.pn651, %2136 ], [ %2131, %2130 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %320) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %319) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %319) #9
  br label %3246

2138:                                             ; preds = %2119, %2129
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %319) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %319) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %322) #9
  %2139 = load ptr, ptr %2083, align 8, !tbaa !26
  %2140 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2139, i64 noundef 0)
  %2141 = getelementptr inbounds i8, ptr %2140, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %322, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.106, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %2141)
  %2142 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %322)
  br i1 %2142, label %2157, label %2143

2143:                                             ; preds = %2138
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %323) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %323)
          to label %2144 unwind label %2149

2144:                                             ; preds = %2143
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %324) #9
  %2145 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %322)
          to label %2146 unwind label %2151

2146:                                             ; preds = %2144
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %324, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 141, ptr noundef %2145)
          to label %2147 unwind label %2151

2147:                                             ; preds = %2146
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %324, ptr noundef nonnull align 8 dereferenceable(8) %323)
          to label %2148 unwind label %2153

2148:                                             ; preds = %2147
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %324) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %324) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %323) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %323) #9
  br label %2157

2149:                                             ; preds = %2143
  %2150 = landingpad { ptr, i32 }
          cleanup
  br label %2156

2151:                                             ; preds = %2146, %2144
  %2152 = landingpad { ptr, i32 }
          cleanup
  br label %2155

2153:                                             ; preds = %2147
  %2154 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %324) #9
  br label %2155

2155:                                             ; preds = %2153, %2151
  %.pn654 = phi { ptr, i32 } [ %2154, %2153 ], [ %2152, %2151 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %324) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %323) #9
  br label %2156

2156:                                             ; preds = %2155, %2149
  %.pn654.pn = phi { ptr, i32 } [ %.pn654, %2155 ], [ %2150, %2149 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %323) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %322) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %322) #9
  br label %3246

2157:                                             ; preds = %2138, %2148
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %322) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %322) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %325) #9
  %2158 = getelementptr inbounds i8, ptr %2065, i64 216
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %325, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.107, ptr noundef nonnull align 8 dereferenceable(8) %1124, ptr noundef nonnull align 8 dereferenceable(8) %2158)
  %2159 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %325)
  br i1 %2159, label %2174, label %2160

2160:                                             ; preds = %2157
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %326) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %326)
          to label %2161 unwind label %2166

2161:                                             ; preds = %2160
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %327) #9
  %2162 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %325)
          to label %2163 unwind label %2168

2163:                                             ; preds = %2161
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %327, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 142, ptr noundef %2162)
          to label %2164 unwind label %2168

2164:                                             ; preds = %2163
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %327, ptr noundef nonnull align 8 dereferenceable(8) %326)
          to label %2165 unwind label %2170

2165:                                             ; preds = %2164
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %327) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %327) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %326) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %326) #9
  br label %2174

2166:                                             ; preds = %2160
  %2167 = landingpad { ptr, i32 }
          cleanup
  br label %2173

2168:                                             ; preds = %2163, %2161
  %2169 = landingpad { ptr, i32 }
          cleanup
  br label %2172

2170:                                             ; preds = %2164
  %2171 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %327) #9
  br label %2172

2172:                                             ; preds = %2170, %2168
  %.pn657 = phi { ptr, i32 } [ %2171, %2170 ], [ %2169, %2168 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %327) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %326) #9
  br label %2173

2173:                                             ; preds = %2172, %2166
  %.pn657.pn = phi { ptr, i32 } [ %.pn657, %2172 ], [ %2167, %2166 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %326) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %325) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %325) #9
  br label %3246

2174:                                             ; preds = %2157, %2165
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %325) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %325) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %328) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %329) #9
  store i32 0, ptr %329, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %330) #9
  %2175 = getelementptr inbounds i8, ptr %2065, i64 264
  %2176 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2175) #9
  store i64 %2176, ptr %330, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %328, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.108, ptr noundef nonnull align 4 dereferenceable(4) %329, ptr noundef nonnull align 8 dereferenceable(8) %330, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %330) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %329) #9
  %2177 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %328)
  br i1 %2177, label %2192, label %2178

2178:                                             ; preds = %2174
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %331) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %2179 unwind label %2184

2179:                                             ; preds = %2178
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %332) #9
  %2180 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %328)
          to label %2181 unwind label %2186

2181:                                             ; preds = %2179
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %332, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 143, ptr noundef %2180)
          to label %2182 unwind label %2186

2182:                                             ; preds = %2181
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %332, ptr noundef nonnull align 8 dereferenceable(8) %331)
          to label %2183 unwind label %2188

2183:                                             ; preds = %2182
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %332) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %332) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %331) #9
  br label %2192

2184:                                             ; preds = %2178
  %2185 = landingpad { ptr, i32 }
          cleanup
  br label %2191

2186:                                             ; preds = %2181, %2179
  %2187 = landingpad { ptr, i32 }
          cleanup
  br label %2190

2188:                                             ; preds = %2182
  %2189 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %332) #9
  br label %2190

2190:                                             ; preds = %2188, %2186
  %.pn660 = phi { ptr, i32 } [ %2189, %2188 ], [ %2187, %2186 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %332) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %331) #9
  br label %2191

2191:                                             ; preds = %2190, %2184
  %.pn660.pn = phi { ptr, i32 } [ %.pn660, %2190 ], [ %2185, %2184 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %331) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %328) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %328) #9
  br label %3246

2192:                                             ; preds = %2174, %2183
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %328) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %328) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %333) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %334) #9
  store i32 42, ptr %334, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %335) #9
  %2193 = load ptr, ptr %2065, align 8, !tbaa !17
  %2194 = getelementptr inbounds i8, ptr %2193, i64 16
  %2195 = load ptr, ptr %2194, align 8
  %2196 = call noundef i64 %2195(ptr noundef nonnull align 8 dereferenceable(312) %2065)
  store i64 %2196, ptr %335, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %333, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.110, ptr noundef nonnull align 4 dereferenceable(4) %334, ptr noundef nonnull align 8 dereferenceable(8) %335)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %335) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %334) #9
  %2197 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %333)
  br i1 %2197, label %2212, label %2198

2198:                                             ; preds = %2192
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %336) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %336)
          to label %2199 unwind label %2204

2199:                                             ; preds = %2198
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %337) #9
  %2200 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %333)
          to label %2201 unwind label %2206

2201:                                             ; preds = %2199
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %337, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 144, ptr noundef %2200)
          to label %2202 unwind label %2206

2202:                                             ; preds = %2201
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %337, ptr noundef nonnull align 8 dereferenceable(8) %336)
          to label %2203 unwind label %2208

2203:                                             ; preds = %2202
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %337) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %337) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %336) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %336) #9
  br label %2212

2204:                                             ; preds = %2198
  %2205 = landingpad { ptr, i32 }
          cleanup
  br label %2211

2206:                                             ; preds = %2201, %2199
  %2207 = landingpad { ptr, i32 }
          cleanup
  br label %2210

2208:                                             ; preds = %2202
  %2209 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %337) #9
  br label %2210

2210:                                             ; preds = %2208, %2206
  %.pn663 = phi { ptr, i32 } [ %2209, %2208 ], [ %2207, %2206 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %337) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %336) #9
  br label %2211

2211:                                             ; preds = %2210, %2204
  %.pn663.pn = phi { ptr, i32 } [ %.pn663, %2210 ], [ %2205, %2204 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %336) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %333) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %333) #9
  br label %3246

2212:                                             ; preds = %2192, %2203
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %333) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %333) #9
  %2213 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %338, ptr noundef nonnull @.str.111)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %339, ptr noundef nonnull @.str.4)
  %2214 = load ptr, ptr %338, align 8
  %2215 = getelementptr inbounds i8, ptr %338, i64 8
  %2216 = load i32, ptr %2215, align 8
  %2217 = load ptr, ptr %339, align 8
  %2218 = getelementptr inbounds i8, ptr %339, i64 8
  %2219 = load i32, ptr %2218, align 8
  %2220 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2213, ptr %2214, i32 %2216, ptr %2217, i32 %2219)
  %2221 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %340, ptr noundef nonnull @.str.73)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %341, ptr noundef nonnull @.str.72)
  %2222 = load ptr, ptr %340, align 8
  %2223 = getelementptr inbounds i8, ptr %340, i64 8
  %2224 = load i32, ptr %2223, align 8
  %2225 = load ptr, ptr %341, align 8
  %2226 = getelementptr inbounds i8, ptr %341, i64 8
  %2227 = load i32, ptr %2226, align 8
  %2228 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2221, ptr %2222, i32 %2224, ptr %2225, i32 %2227)
  %2229 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %342, ptr noundef nonnull @.str.112)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %343, ptr noundef nonnull @.str.4)
  %2230 = load ptr, ptr %342, align 8
  %2231 = getelementptr inbounds i8, ptr %342, i64 8
  %2232 = load i32, ptr %2231, align 8
  %2233 = load ptr, ptr %343, align 8
  %2234 = getelementptr inbounds i8, ptr %343, i64 8
  %2235 = load i32, ptr %2234, align 8
  %2236 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2229, ptr %2230, i32 %2232, ptr %2233, i32 %2235)
  %2237 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %344, ptr noundef nonnull @.str.49)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %345, ptr noundef nonnull @.str.72)
  %2238 = load ptr, ptr %344, align 8
  %2239 = getelementptr inbounds i8, ptr %344, i64 8
  %2240 = load i32, ptr %2239, align 8
  %2241 = load ptr, ptr %345, align 8
  %2242 = getelementptr inbounds i8, ptr %345, i64 8
  %2243 = load i32, ptr %2242, align 8
  %2244 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2237, ptr %2238, i32 %2240, ptr %2241, i32 %2243)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %346) #9
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIPN7cascadb9InnerNodeES6_EENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %346, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.113, ptr noundef nonnull align 8 dereferenceable(8) %625, ptr noundef nonnull align 8 dereferenceable(8) %200)
  %2245 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %346)
  br i1 %2245, label %2260, label %2246

2246:                                             ; preds = %2212
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %347) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %347)
          to label %2247 unwind label %2252

2247:                                             ; preds = %2246
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %348) #9
  %2248 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %346)
          to label %2249 unwind label %2254

2249:                                             ; preds = %2247
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %348, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 151, ptr noundef %2248)
          to label %2250 unwind label %2254

2250:                                             ; preds = %2249
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %348, ptr noundef nonnull align 8 dereferenceable(8) %347)
          to label %2251 unwind label %2256

2251:                                             ; preds = %2250
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %348) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %348) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %347) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %347) #9
  br label %2260

2252:                                             ; preds = %2246
  %2253 = landingpad { ptr, i32 }
          cleanup
  br label %2259

2254:                                             ; preds = %2249, %2247
  %2255 = landingpad { ptr, i32 }
          cleanup
  br label %2258

2256:                                             ; preds = %2250
  %2257 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %348) #9
  br label %2258

2258:                                             ; preds = %2256, %2254
  %.pn666 = phi { ptr, i32 } [ %2257, %2256 ], [ %2255, %2254 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %348) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %347) #9
  br label %2259

2259:                                             ; preds = %2258, %2252
  %.pn666.pn = phi { ptr, i32 } [ %.pn666, %2258 ], [ %2253, %2252 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %347) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %346) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %346) #9
  br label %3246

2260:                                             ; preds = %2212, %2251
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %346) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %346) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %349) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %350) #9
  store i64 4, ptr %350, align 8, !tbaa !24
  %2261 = load ptr, ptr %200, align 8, !tbaa !23
  %2262 = getelementptr inbounds i8, ptr %2261, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %349, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %350, ptr noundef nonnull align 8 dereferenceable(8) %2262)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %350) #9
  %2263 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %349)
  br i1 %2263, label %2278, label %2264

2264:                                             ; preds = %2260
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %351) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %351)
          to label %2265 unwind label %2270

2265:                                             ; preds = %2264
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %352) #9
  %2266 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %349)
          to label %2267 unwind label %2272

2267:                                             ; preds = %2265
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %352, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 152, ptr noundef %2266)
          to label %2268 unwind label %2272

2268:                                             ; preds = %2267
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %352, ptr noundef nonnull align 8 dereferenceable(8) %351)
          to label %2269 unwind label %2274

2269:                                             ; preds = %2268
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %352) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %352) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %351) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %351) #9
  br label %2278

2270:                                             ; preds = %2264
  %2271 = landingpad { ptr, i32 }
          cleanup
  br label %2277

2272:                                             ; preds = %2267, %2265
  %2273 = landingpad { ptr, i32 }
          cleanup
  br label %2276

2274:                                             ; preds = %2268
  %2275 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %352) #9
  br label %2276

2276:                                             ; preds = %2274, %2272
  %.pn669 = phi { ptr, i32 } [ %2275, %2274 ], [ %2273, %2272 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %352) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %351) #9
  br label %2277

2277:                                             ; preds = %2276, %2270
  %.pn669.pn = phi { ptr, i32 } [ %.pn669, %2276 ], [ %2271, %2270 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %351) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %349) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %349) #9
  br label %3246

2278:                                             ; preds = %2260, %2269
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %349) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %349) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %353) #9
  %2279 = load ptr, ptr %200, align 8, !tbaa !23
  %2280 = getelementptr inbounds i8, ptr %2279, i64 216
  %2281 = load ptr, ptr %19, align 8, !tbaa !23
  %2282 = getelementptr inbounds i8, ptr %2281, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %353, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.23, ptr noundef nonnull align 8 dereferenceable(8) %2280, ptr noundef nonnull align 8 dereferenceable(8) %2282)
  %2283 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %353)
  br i1 %2283, label %2298, label %2284

2284:                                             ; preds = %2278
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %354) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %354)
          to label %2285 unwind label %2290

2285:                                             ; preds = %2284
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %355) #9
  %2286 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %353)
          to label %2287 unwind label %2292

2287:                                             ; preds = %2285
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %355, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 153, ptr noundef %2286)
          to label %2288 unwind label %2292

2288:                                             ; preds = %2287
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %355, ptr noundef nonnull align 8 dereferenceable(8) %354)
          to label %2289 unwind label %2294

2289:                                             ; preds = %2288
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %355) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %355) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %354) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %354) #9
  br label %2298

2290:                                             ; preds = %2284
  %2291 = landingpad { ptr, i32 }
          cleanup
  br label %2297

2292:                                             ; preds = %2287, %2285
  %2293 = landingpad { ptr, i32 }
          cleanup
  br label %2296

2294:                                             ; preds = %2288
  %2295 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %355) #9
  br label %2296

2296:                                             ; preds = %2294, %2292
  %.pn672 = phi { ptr, i32 } [ %2295, %2294 ], [ %2293, %2292 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %355) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %354) #9
  br label %2297

2297:                                             ; preds = %2296, %2290
  %.pn672.pn = phi { ptr, i32 } [ %.pn672, %2296 ], [ %2291, %2290 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %354) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %353) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %353) #9
  br label %3246

2298:                                             ; preds = %2278, %2289
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %353) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %353) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %356) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %357) #9
  store i32 0, ptr %357, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %358) #9
  %2299 = load ptr, ptr %200, align 8, !tbaa !23
  %2300 = getelementptr inbounds i8, ptr %2299, i64 224
  %2301 = load ptr, ptr %2300, align 8, !tbaa !26
  %2302 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2301)
  store i64 %2302, ptr %358, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %356, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %357, ptr noundef nonnull align 8 dereferenceable(8) %358, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %358) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %357) #9
  %2303 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %356)
  br i1 %2303, label %2318, label %2304

2304:                                             ; preds = %2298
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %359) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %359)
          to label %2305 unwind label %2310

2305:                                             ; preds = %2304
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %360) #9
  %2306 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %356)
          to label %2307 unwind label %2312

2307:                                             ; preds = %2305
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %360, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 154, ptr noundef %2306)
          to label %2308 unwind label %2312

2308:                                             ; preds = %2307
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %360, ptr noundef nonnull align 8 dereferenceable(8) %359)
          to label %2309 unwind label %2314

2309:                                             ; preds = %2308
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %360) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %360) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %359) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %359) #9
  br label %2318

2310:                                             ; preds = %2304
  %2311 = landingpad { ptr, i32 }
          cleanup
  br label %2317

2312:                                             ; preds = %2307, %2305
  %2313 = landingpad { ptr, i32 }
          cleanup
  br label %2316

2314:                                             ; preds = %2308
  %2315 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %360) #9
  br label %2316

2316:                                             ; preds = %2314, %2312
  %.pn675 = phi { ptr, i32 } [ %2315, %2314 ], [ %2313, %2312 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %360) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %359) #9
  br label %2317

2317:                                             ; preds = %2316, %2310
  %.pn675.pn = phi { ptr, i32 } [ %.pn675, %2316 ], [ %2311, %2310 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %359) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %356) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %356) #9
  br label %3246

2318:                                             ; preds = %2298, %2309
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %356) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %356) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %361) #9
  %2319 = load ptr, ptr %200, align 8, !tbaa !23
  %2320 = getelementptr inbounds i8, ptr %2319, i64 264
  %2321 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2320, i64 noundef 0) #9
  %2322 = getelementptr inbounds i8, ptr %2321, i64 32
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %361, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.101, ptr noundef nonnull align 8 dereferenceable(8) %2322, ptr noundef nonnull align 8 dereferenceable(8) %2066)
  %2323 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %361)
  br i1 %2323, label %2338, label %2324

2324:                                             ; preds = %2318
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %362) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %362)
          to label %2325 unwind label %2330

2325:                                             ; preds = %2324
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %363) #9
  %2326 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %361)
          to label %2327 unwind label %2332

2327:                                             ; preds = %2325
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %363, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 155, ptr noundef %2326)
          to label %2328 unwind label %2332

2328:                                             ; preds = %2327
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %363, ptr noundef nonnull align 8 dereferenceable(8) %362)
          to label %2329 unwind label %2334

2329:                                             ; preds = %2328
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %363) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %363) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %362) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %362) #9
  br label %2338

2330:                                             ; preds = %2324
  %2331 = landingpad { ptr, i32 }
          cleanup
  br label %2337

2332:                                             ; preds = %2327, %2325
  %2333 = landingpad { ptr, i32 }
          cleanup
  br label %2336

2334:                                             ; preds = %2328
  %2335 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %363) #9
  br label %2336

2336:                                             ; preds = %2334, %2332
  %.pn678 = phi { ptr, i32 } [ %2335, %2334 ], [ %2333, %2332 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %363) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %362) #9
  br label %2337

2337:                                             ; preds = %2336, %2330
  %.pn678.pn = phi { ptr, i32 } [ %.pn678, %2336 ], [ %2331, %2330 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %362) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %361) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %361) #9
  br label %3246

2338:                                             ; preds = %2318, %2329
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %361) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %361) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %364) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %365) #9
  store i32 2, ptr %365, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %366) #9
  %2339 = load ptr, ptr %200, align 8, !tbaa !23
  %2340 = getelementptr inbounds i8, ptr %2339, i64 264
  %2341 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2340, i64 noundef 0) #9
  %2342 = getelementptr inbounds i8, ptr %2341, i64 40
  %2343 = load ptr, ptr %2342, align 8, !tbaa !43
  %2344 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2343)
  store i64 %2344, ptr %366, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %364, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.115, ptr noundef nonnull align 4 dereferenceable(4) %365, ptr noundef nonnull align 8 dereferenceable(8) %366)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %366) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %365) #9
  %2345 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %364)
  br i1 %2345, label %2360, label %2346

2346:                                             ; preds = %2338
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %367) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %367)
          to label %2347 unwind label %2352

2347:                                             ; preds = %2346
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %368) #9
  %2348 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %364)
          to label %2349 unwind label %2354

2349:                                             ; preds = %2347
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %368, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 156, ptr noundef %2348)
          to label %2350 unwind label %2354

2350:                                             ; preds = %2349
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %368, ptr noundef nonnull align 8 dereferenceable(8) %367)
          to label %2351 unwind label %2356

2351:                                             ; preds = %2350
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %368) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %368) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %367) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %367) #9
  br label %2360

2352:                                             ; preds = %2346
  %2353 = landingpad { ptr, i32 }
          cleanup
  br label %2359

2354:                                             ; preds = %2349, %2347
  %2355 = landingpad { ptr, i32 }
          cleanup
  br label %2358

2356:                                             ; preds = %2350
  %2357 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %368) #9
  br label %2358

2358:                                             ; preds = %2356, %2354
  %.pn681 = phi { ptr, i32 } [ %2357, %2356 ], [ %2355, %2354 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %368) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %367) #9
  br label %2359

2359:                                             ; preds = %2358, %2352
  %.pn681.pn = phi { ptr, i32 } [ %.pn681, %2358 ], [ %2353, %2352 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %367) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %364) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %364) #9
  br label %3246

2360:                                             ; preds = %2338, %2351
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %364) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %364) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %369) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %370) #9
  store i32 1, ptr %370, align 4, !tbaa !45
  %2361 = load ptr, ptr %200, align 8, !tbaa !23
  %2362 = getelementptr inbounds i8, ptr %2361, i64 264
  %2363 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2362, i64 noundef 0) #9
  %2364 = getelementptr inbounds i8, ptr %2363, i64 40
  %2365 = load ptr, ptr %2364, align 8, !tbaa !43
  %2366 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2365, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %369, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.116, ptr noundef nonnull align 4 dereferenceable(4) %370, ptr noundef nonnull align 4 dereferenceable(4) %2366)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %370) #9
  %2367 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %369)
  br i1 %2367, label %2382, label %2368

2368:                                             ; preds = %2360
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %371) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %371)
          to label %2369 unwind label %2374

2369:                                             ; preds = %2368
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %372) #9
  %2370 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %369)
          to label %2371 unwind label %2376

2371:                                             ; preds = %2369
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %372, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 157, ptr noundef %2370)
          to label %2372 unwind label %2376

2372:                                             ; preds = %2371
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %372, ptr noundef nonnull align 8 dereferenceable(8) %371)
          to label %2373 unwind label %2378

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

2374:                                             ; preds = %2368
  %2375 = landingpad { ptr, i32 }
          cleanup
  br label %2381

2376:                                             ; preds = %2371, %2369
  %2377 = landingpad { ptr, i32 }
          cleanup
  br label %2380

2378:                                             ; preds = %2372
  %2379 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %372) #9
  br label %2380

2380:                                             ; preds = %2378, %2376
  %.pn684 = phi { ptr, i32 } [ %2379, %2378 ], [ %2377, %2376 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %372) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %371) #9
  br label %2381

2381:                                             ; preds = %2380, %2374
  %.pn684.pn = phi { ptr, i32 } [ %.pn684, %2380 ], [ %2375, %2374 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %371) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %369) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %369) #9
  br label %3246

2382:                                             ; preds = %2360, %2373
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %369) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %369) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %373) #9
  %2383 = load ptr, ptr %200, align 8, !tbaa !23
  %2384 = getelementptr inbounds i8, ptr %2383, i64 264
  %2385 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2384, i64 noundef 0) #9
  %2386 = getelementptr inbounds i8, ptr %2385, i64 40
  %2387 = load ptr, ptr %2386, align 8, !tbaa !43
  %2388 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2387, i64 noundef 0)
  %2389 = getelementptr inbounds i8, ptr %2388, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %373, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.118, ptr noundef nonnull align 1 dereferenceable(3) @.str.112, ptr noundef nonnull align 8 dereferenceable(12) %2389)
  %2390 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %373)
  br i1 %2390, label %2405, label %2391

2391:                                             ; preds = %2382
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %374) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %374)
          to label %2392 unwind label %2397

2392:                                             ; preds = %2391
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %375) #9
  %2393 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %373)
          to label %2394 unwind label %2399

2394:                                             ; preds = %2392
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %375, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 157, ptr noundef %2393)
          to label %2395 unwind label %2399

2395:                                             ; preds = %2394
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %375, ptr noundef nonnull align 8 dereferenceable(8) %374)
          to label %2396 unwind label %2401

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

2397:                                             ; preds = %2391
  %2398 = landingpad { ptr, i32 }
          cleanup
  br label %2404

2399:                                             ; preds = %2394, %2392
  %2400 = landingpad { ptr, i32 }
          cleanup
  br label %2403

2401:                                             ; preds = %2395
  %2402 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %375) #9
  br label %2403

2403:                                             ; preds = %2401, %2399
  %.pn687 = phi { ptr, i32 } [ %2402, %2401 ], [ %2400, %2399 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %375) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %374) #9
  br label %2404

2404:                                             ; preds = %2403, %2397
  %.pn687.pn = phi { ptr, i32 } [ %.pn687, %2403 ], [ %2398, %2397 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %374) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %373) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %373) #9
  br label %3246

2405:                                             ; preds = %2382, %2396
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %373) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %373) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %376) #9
  %2406 = load ptr, ptr %200, align 8, !tbaa !23
  %2407 = getelementptr inbounds i8, ptr %2406, i64 264
  %2408 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2407, i64 noundef 0) #9
  %2409 = getelementptr inbounds i8, ptr %2408, i64 40
  %2410 = load ptr, ptr %2409, align 8, !tbaa !43
  %2411 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2410, i64 noundef 0)
  %2412 = getelementptr inbounds i8, ptr %2411, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %376, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.119, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2412)
  %2413 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %376)
  br i1 %2413, label %2428, label %2414

2414:                                             ; preds = %2405
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %377) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %377)
          to label %2415 unwind label %2420

2415:                                             ; preds = %2414
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %378) #9
  %2416 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %376)
          to label %2417 unwind label %2422

2417:                                             ; preds = %2415
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %378, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 157, ptr noundef %2416)
          to label %2418 unwind label %2422

2418:                                             ; preds = %2417
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %378, ptr noundef nonnull align 8 dereferenceable(8) %377)
          to label %2419 unwind label %2424

2419:                                             ; preds = %2418
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %378) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %378) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %377) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %377) #9
  br label %2428

2420:                                             ; preds = %2414
  %2421 = landingpad { ptr, i32 }
          cleanup
  br label %2427

2422:                                             ; preds = %2417, %2415
  %2423 = landingpad { ptr, i32 }
          cleanup
  br label %2426

2424:                                             ; preds = %2418
  %2425 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %378) #9
  br label %2426

2426:                                             ; preds = %2424, %2422
  %.pn690 = phi { ptr, i32 } [ %2425, %2424 ], [ %2423, %2422 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %378) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %377) #9
  br label %2427

2427:                                             ; preds = %2426, %2420
  %.pn690.pn = phi { ptr, i32 } [ %.pn690, %2426 ], [ %2421, %2420 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %377) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %376) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %376) #9
  br label %3246

2428:                                             ; preds = %2405, %2419
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %376) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %376) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %379) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %380) #9
  store i32 1, ptr %380, align 4, !tbaa !45
  %2429 = load ptr, ptr %200, align 8, !tbaa !23
  %2430 = getelementptr inbounds i8, ptr %2429, i64 264
  %2431 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2430, i64 noundef 0) #9
  %2432 = getelementptr inbounds i8, ptr %2431, i64 40
  %2433 = load ptr, ptr %2432, align 8, !tbaa !43
  %2434 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2433, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %379, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.120, ptr noundef nonnull align 4 dereferenceable(4) %380, ptr noundef nonnull align 4 dereferenceable(4) %2434)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %380) #9
  %2435 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %379)
  br i1 %2435, label %2450, label %2436

2436:                                             ; preds = %2428
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %381) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381)
          to label %2437 unwind label %2442

2437:                                             ; preds = %2436
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %382) #9
  %2438 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %379)
          to label %2439 unwind label %2444

2439:                                             ; preds = %2437
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %382, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 158, ptr noundef %2438)
          to label %2440 unwind label %2444

2440:                                             ; preds = %2439
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %382, ptr noundef nonnull align 8 dereferenceable(8) %381)
          to label %2441 unwind label %2446

2441:                                             ; preds = %2440
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %382) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %382) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %381) #9
  br label %2450

2442:                                             ; preds = %2436
  %2443 = landingpad { ptr, i32 }
          cleanup
  br label %2449

2444:                                             ; preds = %2439, %2437
  %2445 = landingpad { ptr, i32 }
          cleanup
  br label %2448

2446:                                             ; preds = %2440
  %2447 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %382) #9
  br label %2448

2448:                                             ; preds = %2446, %2444
  %.pn693 = phi { ptr, i32 } [ %2447, %2446 ], [ %2445, %2444 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %382) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %381) #9
  br label %2449

2449:                                             ; preds = %2448, %2442
  %.pn693.pn = phi { ptr, i32 } [ %.pn693, %2448 ], [ %2443, %2442 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %381) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %379) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %379) #9
  br label %3246

2450:                                             ; preds = %2428, %2441
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %379) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %379) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %383) #9
  %2451 = load ptr, ptr %200, align 8, !tbaa !23
  %2452 = getelementptr inbounds i8, ptr %2451, i64 264
  %2453 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2452, i64 noundef 0) #9
  %2454 = getelementptr inbounds i8, ptr %2453, i64 40
  %2455 = load ptr, ptr %2454, align 8, !tbaa !43
  %2456 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2455, i64 noundef 1)
  %2457 = getelementptr inbounds i8, ptr %2456, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %383, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.121, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %2457)
  %2458 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %383)
  br i1 %2458, label %2473, label %2459

2459:                                             ; preds = %2450
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %384) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %384)
          to label %2460 unwind label %2465

2460:                                             ; preds = %2459
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %385) #9
  %2461 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %383)
          to label %2462 unwind label %2467

2462:                                             ; preds = %2460
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %385, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 158, ptr noundef %2461)
          to label %2463 unwind label %2467

2463:                                             ; preds = %2462
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %385, ptr noundef nonnull align 8 dereferenceable(8) %384)
          to label %2464 unwind label %2469

2464:                                             ; preds = %2463
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %385) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %385) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %384) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %384) #9
  br label %2473

2465:                                             ; preds = %2459
  %2466 = landingpad { ptr, i32 }
          cleanup
  br label %2472

2467:                                             ; preds = %2462, %2460
  %2468 = landingpad { ptr, i32 }
          cleanup
  br label %2471

2469:                                             ; preds = %2463
  %2470 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %385) #9
  br label %2471

2471:                                             ; preds = %2469, %2467
  %.pn696 = phi { ptr, i32 } [ %2470, %2469 ], [ %2468, %2467 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %385) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %384) #9
  br label %2472

2472:                                             ; preds = %2471, %2465
  %.pn696.pn = phi { ptr, i32 } [ %.pn696, %2471 ], [ %2466, %2465 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %384) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %383) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %383) #9
  br label %3246

2473:                                             ; preds = %2450, %2464
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %383) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %383) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %386) #9
  %2474 = load ptr, ptr %200, align 8, !tbaa !23
  %2475 = getelementptr inbounds i8, ptr %2474, i64 264
  %2476 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2475, i64 noundef 0) #9
  %2477 = getelementptr inbounds i8, ptr %2476, i64 40
  %2478 = load ptr, ptr %2477, align 8, !tbaa !43
  %2479 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2478, i64 noundef 1)
  %2480 = getelementptr inbounds i8, ptr %2479, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %386, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.122, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %2480)
  %2481 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %386)
  br i1 %2481, label %2496, label %2482

2482:                                             ; preds = %2473
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %387) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %387)
          to label %2483 unwind label %2488

2483:                                             ; preds = %2482
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %388) #9
  %2484 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %386)
          to label %2485 unwind label %2490

2485:                                             ; preds = %2483
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %388, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 158, ptr noundef %2484)
          to label %2486 unwind label %2490

2486:                                             ; preds = %2485
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %388, ptr noundef nonnull align 8 dereferenceable(8) %387)
          to label %2487 unwind label %2492

2487:                                             ; preds = %2486
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %388) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %388) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %387) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %387) #9
  br label %2496

2488:                                             ; preds = %2482
  %2489 = landingpad { ptr, i32 }
          cleanup
  br label %2495

2490:                                             ; preds = %2485, %2483
  %2491 = landingpad { ptr, i32 }
          cleanup
  br label %2494

2492:                                             ; preds = %2486
  %2493 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %388) #9
  br label %2494

2494:                                             ; preds = %2492, %2490
  %.pn699 = phi { ptr, i32 } [ %2493, %2492 ], [ %2491, %2490 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %388) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %387) #9
  br label %2495

2495:                                             ; preds = %2494, %2488
  %.pn699.pn = phi { ptr, i32 } [ %.pn699, %2494 ], [ %2489, %2488 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %387) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %386) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %386) #9
  br label %3246

2496:                                             ; preds = %2473, %2487
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %386) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %386) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %389) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %390) #9
  store i32 1, ptr %390, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %391) #9
  %2497 = load ptr, ptr %19, align 8, !tbaa !23
  %2498 = getelementptr inbounds i8, ptr %2497, i64 224
  %2499 = load ptr, ptr %2498, align 8, !tbaa !26
  %2500 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2499)
  store i64 %2500, ptr %391, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %389, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.29, ptr noundef nonnull align 4 dereferenceable(4) %390, ptr noundef nonnull align 8 dereferenceable(8) %391)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %391) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %390) #9
  %2501 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %389)
  br i1 %2501, label %2516, label %2502

2502:                                             ; preds = %2496
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %392) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %392)
          to label %2503 unwind label %2508

2503:                                             ; preds = %2502
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %393) #9
  %2504 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %389)
          to label %2505 unwind label %2510

2505:                                             ; preds = %2503
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %393, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 160, ptr noundef %2504)
          to label %2506 unwind label %2510

2506:                                             ; preds = %2505
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %393, ptr noundef nonnull align 8 dereferenceable(8) %392)
          to label %2507 unwind label %2512

2507:                                             ; preds = %2506
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %393) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %393) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %392) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %392) #9
  br label %2516

2508:                                             ; preds = %2502
  %2509 = landingpad { ptr, i32 }
          cleanup
  br label %2515

2510:                                             ; preds = %2505, %2503
  %2511 = landingpad { ptr, i32 }
          cleanup
  br label %2514

2512:                                             ; preds = %2506
  %2513 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %393) #9
  br label %2514

2514:                                             ; preds = %2512, %2510
  %.pn702 = phi { ptr, i32 } [ %2513, %2512 ], [ %2511, %2510 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %393) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %392) #9
  br label %2515

2515:                                             ; preds = %2514, %2508
  %.pn702.pn = phi { ptr, i32 } [ %.pn702, %2514 ], [ %2509, %2508 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %392) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %389) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %389) #9
  br label %3246

2516:                                             ; preds = %2496, %2507
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %389) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %389) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %394) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %395) #9
  store i32 1, ptr %395, align 4, !tbaa !45
  %2517 = load ptr, ptr %19, align 8, !tbaa !23
  %2518 = getelementptr inbounds i8, ptr %2517, i64 224
  %2519 = load ptr, ptr %2518, align 8, !tbaa !26
  %2520 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2519, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %394, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.123, ptr noundef nonnull align 4 dereferenceable(4) %395, ptr noundef nonnull align 4 dereferenceable(4) %2520)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %395) #9
  %2521 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %394)
  br i1 %2521, label %2536, label %2522

2522:                                             ; preds = %2516
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %396) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %396)
          to label %2523 unwind label %2528

2523:                                             ; preds = %2522
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %397) #9
  %2524 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %394)
          to label %2525 unwind label %2530

2525:                                             ; preds = %2523
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %397, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 161, ptr noundef %2524)
          to label %2526 unwind label %2530

2526:                                             ; preds = %2525
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %397, ptr noundef nonnull align 8 dereferenceable(8) %396)
          to label %2527 unwind label %2532

2527:                                             ; preds = %2526
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %397) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %397) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %396) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %396) #9
  br label %2536

2528:                                             ; preds = %2522
  %2529 = landingpad { ptr, i32 }
          cleanup
  br label %2535

2530:                                             ; preds = %2525, %2523
  %2531 = landingpad { ptr, i32 }
          cleanup
  br label %2534

2532:                                             ; preds = %2526
  %2533 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %397) #9
  br label %2534

2534:                                             ; preds = %2532, %2530
  %.pn705 = phi { ptr, i32 } [ %2533, %2532 ], [ %2531, %2530 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %397) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %396) #9
  br label %2535

2535:                                             ; preds = %2534, %2528
  %.pn705.pn = phi { ptr, i32 } [ %.pn705, %2534 ], [ %2529, %2528 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %396) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %394) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %394) #9
  br label %3246

2536:                                             ; preds = %2516, %2527
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %394) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %394) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %398) #9
  %2537 = load ptr, ptr %19, align 8, !tbaa !23
  %2538 = getelementptr inbounds i8, ptr %2537, i64 224
  %2539 = load ptr, ptr %2538, align 8, !tbaa !26
  %2540 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2539, i64 noundef 0)
  %2541 = getelementptr inbounds i8, ptr %2540, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA4_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %398, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.125, ptr noundef nonnull align 1 dereferenceable(4) @.str.111, ptr noundef nonnull align 8 dereferenceable(12) %2541)
  %2542 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %398)
  br i1 %2542, label %2557, label %2543

2543:                                             ; preds = %2536
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %399) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %399)
          to label %2544 unwind label %2549

2544:                                             ; preds = %2543
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %400) #9
  %2545 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %398)
          to label %2546 unwind label %2551

2546:                                             ; preds = %2544
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %400, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 161, ptr noundef %2545)
          to label %2547 unwind label %2551

2547:                                             ; preds = %2546
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %400, ptr noundef nonnull align 8 dereferenceable(8) %399)
          to label %2548 unwind label %2553

2548:                                             ; preds = %2547
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %400) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %400) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %399) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %399) #9
  br label %2557

2549:                                             ; preds = %2543
  %2550 = landingpad { ptr, i32 }
          cleanup
  br label %2556

2551:                                             ; preds = %2546, %2544
  %2552 = landingpad { ptr, i32 }
          cleanup
  br label %2555

2553:                                             ; preds = %2547
  %2554 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %400) #9
  br label %2555

2555:                                             ; preds = %2553, %2551
  %.pn708 = phi { ptr, i32 } [ %2554, %2553 ], [ %2552, %2551 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %400) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %399) #9
  br label %2556

2556:                                             ; preds = %2555, %2549
  %.pn708.pn = phi { ptr, i32 } [ %.pn708, %2555 ], [ %2550, %2549 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %399) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %398) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %398) #9
  br label %3246

2557:                                             ; preds = %2536, %2548
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %398) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %398) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %401) #9
  %2558 = load ptr, ptr %19, align 8, !tbaa !23
  %2559 = getelementptr inbounds i8, ptr %2558, i64 224
  %2560 = load ptr, ptr %2559, align 8, !tbaa !26
  %2561 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2560, i64 noundef 0)
  %2562 = getelementptr inbounds i8, ptr %2561, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %401, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.126, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2562)
  %2563 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %401)
  br i1 %2563, label %2578, label %2564

2564:                                             ; preds = %2557
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %402) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %402)
          to label %2565 unwind label %2570

2565:                                             ; preds = %2564
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %403) #9
  %2566 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %401)
          to label %2567 unwind label %2572

2567:                                             ; preds = %2565
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %403, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 161, ptr noundef %2566)
          to label %2568 unwind label %2572

2568:                                             ; preds = %2567
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %403, ptr noundef nonnull align 8 dereferenceable(8) %402)
          to label %2569 unwind label %2574

2569:                                             ; preds = %2568
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %403) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %403) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %402) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %402) #9
  br label %2578

2570:                                             ; preds = %2564
  %2571 = landingpad { ptr, i32 }
          cleanup
  br label %2577

2572:                                             ; preds = %2567, %2565
  %2573 = landingpad { ptr, i32 }
          cleanup
  br label %2576

2574:                                             ; preds = %2568
  %2575 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %403) #9
  br label %2576

2576:                                             ; preds = %2574, %2572
  %.pn711 = phi { ptr, i32 } [ %2575, %2574 ], [ %2573, %2572 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %403) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %402) #9
  br label %2577

2577:                                             ; preds = %2576, %2570
  %.pn711.pn = phi { ptr, i32 } [ %.pn711, %2576 ], [ %2571, %2570 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %402) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %401) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %401) #9
  br label %3246

2578:                                             ; preds = %2557, %2569
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %401) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %401) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %404) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %405) #9
  store i32 1, ptr %405, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %406) #9
  %2579 = load ptr, ptr %19, align 8, !tbaa !23
  %2580 = getelementptr inbounds i8, ptr %2579, i64 264
  %2581 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2580, i64 noundef 0) #9
  %2582 = getelementptr inbounds i8, ptr %2581, i64 40
  %2583 = load ptr, ptr %2582, align 8, !tbaa !43
  %2584 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2583)
  store i64 %2584, ptr %406, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %404, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.127, ptr noundef nonnull align 4 dereferenceable(4) %405, ptr noundef nonnull align 8 dereferenceable(8) %406)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %406) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %405) #9
  %2585 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %404)
  br i1 %2585, label %2600, label %2586

2586:                                             ; preds = %2578
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %407) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %407)
          to label %2587 unwind label %2592

2587:                                             ; preds = %2586
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %408) #9
  %2588 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %404)
          to label %2589 unwind label %2594

2589:                                             ; preds = %2587
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %408, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 162, ptr noundef %2588)
          to label %2590 unwind label %2594

2590:                                             ; preds = %2589
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %408, ptr noundef nonnull align 8 dereferenceable(8) %407)
          to label %2591 unwind label %2596

2591:                                             ; preds = %2590
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %408) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %408) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %407) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %407) #9
  br label %2600

2592:                                             ; preds = %2586
  %2593 = landingpad { ptr, i32 }
          cleanup
  br label %2599

2594:                                             ; preds = %2589, %2587
  %2595 = landingpad { ptr, i32 }
          cleanup
  br label %2598

2596:                                             ; preds = %2590
  %2597 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %408) #9
  br label %2598

2598:                                             ; preds = %2596, %2594
  %.pn714 = phi { ptr, i32 } [ %2597, %2596 ], [ %2595, %2594 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %408) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %407) #9
  br label %2599

2599:                                             ; preds = %2598, %2592
  %.pn714.pn = phi { ptr, i32 } [ %.pn714, %2598 ], [ %2593, %2592 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %407) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %404) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %404) #9
  br label %3246

2600:                                             ; preds = %2578, %2591
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %404) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %404) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %409) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %410) #9
  store i32 1, ptr %410, align 4, !tbaa !45
  %2601 = load ptr, ptr %19, align 8, !tbaa !23
  %2602 = getelementptr inbounds i8, ptr %2601, i64 264
  %2603 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2602, i64 noundef 0) #9
  %2604 = getelementptr inbounds i8, ptr %2603, i64 40
  %2605 = load ptr, ptr %2604, align 8, !tbaa !43
  %2606 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2605, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %409, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.128, ptr noundef nonnull align 4 dereferenceable(4) %410, ptr noundef nonnull align 4 dereferenceable(4) %2606)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %410) #9
  %2607 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %409)
  br i1 %2607, label %2622, label %2608

2608:                                             ; preds = %2600
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %411) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %411)
          to label %2609 unwind label %2614

2609:                                             ; preds = %2608
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %412) #9
  %2610 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %409)
          to label %2611 unwind label %2616

2611:                                             ; preds = %2609
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %412, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 163, ptr noundef %2610)
          to label %2612 unwind label %2616

2612:                                             ; preds = %2611
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %412, ptr noundef nonnull align 8 dereferenceable(8) %411)
          to label %2613 unwind label %2618

2613:                                             ; preds = %2612
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %412) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %412) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %411) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %411) #9
  br label %2622

2614:                                             ; preds = %2608
  %2615 = landingpad { ptr, i32 }
          cleanup
  br label %2621

2616:                                             ; preds = %2611, %2609
  %2617 = landingpad { ptr, i32 }
          cleanup
  br label %2620

2618:                                             ; preds = %2612
  %2619 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %412) #9
  br label %2620

2620:                                             ; preds = %2618, %2616
  %.pn717 = phi { ptr, i32 } [ %2619, %2618 ], [ %2617, %2616 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %412) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %411) #9
  br label %2621

2621:                                             ; preds = %2620, %2614
  %.pn717.pn = phi { ptr, i32 } [ %.pn717, %2620 ], [ %2615, %2614 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %411) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %409) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %409) #9
  br label %3246

2622:                                             ; preds = %2600, %2613
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %409) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %409) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %413) #9
  %2623 = load ptr, ptr %19, align 8, !tbaa !23
  %2624 = getelementptr inbounds i8, ptr %2623, i64 264
  %2625 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2624, i64 noundef 0) #9
  %2626 = getelementptr inbounds i8, ptr %2625, i64 40
  %2627 = load ptr, ptr %2626, align 8, !tbaa !43
  %2628 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2627, i64 noundef 0)
  %2629 = getelementptr inbounds i8, ptr %2628, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %413, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.129, ptr noundef nonnull align 1 dereferenceable(3) @.str.73, ptr noundef nonnull align 8 dereferenceable(12) %2629)
  %2630 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %413)
  br i1 %2630, label %2645, label %2631

2631:                                             ; preds = %2622
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %414) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %414)
          to label %2632 unwind label %2637

2632:                                             ; preds = %2631
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %415) #9
  %2633 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %413)
          to label %2634 unwind label %2639

2634:                                             ; preds = %2632
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %415, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 163, ptr noundef %2633)
          to label %2635 unwind label %2639

2635:                                             ; preds = %2634
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %415, ptr noundef nonnull align 8 dereferenceable(8) %414)
          to label %2636 unwind label %2641

2636:                                             ; preds = %2635
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %415) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %415) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %414) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %414) #9
  br label %2645

2637:                                             ; preds = %2631
  %2638 = landingpad { ptr, i32 }
          cleanup
  br label %2644

2639:                                             ; preds = %2634, %2632
  %2640 = landingpad { ptr, i32 }
          cleanup
  br label %2643

2641:                                             ; preds = %2635
  %2642 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %415) #9
  br label %2643

2643:                                             ; preds = %2641, %2639
  %.pn720 = phi { ptr, i32 } [ %2642, %2641 ], [ %2640, %2639 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %415) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %414) #9
  br label %2644

2644:                                             ; preds = %2643, %2637
  %.pn720.pn = phi { ptr, i32 } [ %.pn720, %2643 ], [ %2638, %2637 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %414) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %413) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %413) #9
  br label %3246

2645:                                             ; preds = %2622, %2636
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %413) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %413) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %416) #9
  %2646 = load ptr, ptr %19, align 8, !tbaa !23
  %2647 = getelementptr inbounds i8, ptr %2646, i64 264
  %2648 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2647, i64 noundef 0) #9
  %2649 = getelementptr inbounds i8, ptr %2648, i64 40
  %2650 = load ptr, ptr %2649, align 8, !tbaa !43
  %2651 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2650, i64 noundef 0)
  %2652 = getelementptr inbounds i8, ptr %2651, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %416, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.130, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %2652)
  %2653 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %416)
  br i1 %2653, label %2668, label %2654

2654:                                             ; preds = %2645
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %417) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %417)
          to label %2655 unwind label %2660

2655:                                             ; preds = %2654
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %418) #9
  %2656 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %416)
          to label %2657 unwind label %2662

2657:                                             ; preds = %2655
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %418, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 163, ptr noundef %2656)
          to label %2658 unwind label %2662

2658:                                             ; preds = %2657
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %418, ptr noundef nonnull align 8 dereferenceable(8) %417)
          to label %2659 unwind label %2664

2659:                                             ; preds = %2658
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %418) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %418) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %417) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %417) #9
  br label %2668

2660:                                             ; preds = %2654
  %2661 = landingpad { ptr, i32 }
          cleanup
  br label %2667

2662:                                             ; preds = %2657, %2655
  %2663 = landingpad { ptr, i32 }
          cleanup
  br label %2666

2664:                                             ; preds = %2658
  %2665 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %418) #9
  br label %2666

2666:                                             ; preds = %2664, %2662
  %.pn723 = phi { ptr, i32 } [ %2665, %2664 ], [ %2663, %2662 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %418) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %417) #9
  br label %2667

2667:                                             ; preds = %2666, %2660
  %.pn723.pn = phi { ptr, i32 } [ %.pn723, %2666 ], [ %2661, %2660 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %417) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %416) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %416) #9
  br label %3246

2668:                                             ; preds = %2645, %2659
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %416) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %416) #9
  %2669 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %419, ptr noundef nonnull @.str.131)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %420, ptr noundef nonnull @.str.4)
  %2670 = load ptr, ptr %419, align 8
  %2671 = getelementptr inbounds i8, ptr %419, i64 8
  %2672 = load i32, ptr %2671, align 8
  %2673 = load ptr, ptr %420, align 8
  %2674 = getelementptr inbounds i8, ptr %420, i64 8
  %2675 = load i32, ptr %2674, align 8
  %2676 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2669, ptr %2670, i32 %2672, ptr %2673, i32 %2675)
  %2677 = load ptr, ptr %200, align 8, !tbaa !23
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %421, ptr noundef nonnull @.str.50)
  call void @_ZN7cascadb5SliceC2EPKc(ptr noundef nonnull align 8 dereferenceable(12) %422, ptr noundef nonnull @.str.72)
  %2678 = load ptr, ptr %421, align 8
  %2679 = getelementptr inbounds i8, ptr %421, i64 8
  %2680 = load i32, ptr %2679, align 8
  %2681 = load ptr, ptr %422, align 8
  %2682 = getelementptr inbounds i8, ptr %422, i64 8
  %2683 = load i32, ptr %2682, align 8
  %2684 = call noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312) %2677, ptr %2678, i32 %2680, ptr %2681, i32 %2683)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %423) #9
  %2685 = load ptr, ptr %625, align 8, !tbaa !19
  %2686 = load ptr, ptr %200, align 8, !tbaa !23
  %2687 = icmp eq ptr %2685, %2686
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %423, i1 noundef zeroext %2687)
  %2688 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %423)
  br i1 %2688, label %2706, label %2689

2689:                                             ; preds = %2668
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %424) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %424)
          to label %2690 unwind label %2695

2690:                                             ; preds = %2689
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %425) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %426) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %426, ptr noundef nonnull align 8 dereferenceable(16) %423, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2691 unwind label %2697

2691:                                             ; preds = %2690
  %2692 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %426)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %425, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 168, ptr noundef %2692)
          to label %2693 unwind label %2699

2693:                                             ; preds = %2691
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %425, ptr noundef nonnull align 8 dereferenceable(8) %424)
          to label %2694 unwind label %2701

2694:                                             ; preds = %2693
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %425) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %426) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %426) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %425) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %424) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %424) #9
  br label %2706

2695:                                             ; preds = %2689
  %2696 = landingpad { ptr, i32 }
          cleanup
  br label %2705

2697:                                             ; preds = %2690
  %2698 = landingpad { ptr, i32 }
          cleanup
  br label %2704

2699:                                             ; preds = %2691
  %2700 = landingpad { ptr, i32 }
          cleanup
  br label %2703

2701:                                             ; preds = %2693
  %2702 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %425) #9
  br label %2703

2703:                                             ; preds = %2701, %2699
  %.pn726 = phi { ptr, i32 } [ %2702, %2701 ], [ %2700, %2699 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %426) #9
  br label %2704

2704:                                             ; preds = %2703, %2697
  %.pn726.pn = phi { ptr, i32 } [ %.pn726, %2703 ], [ %2698, %2697 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %426) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %425) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %424) #9
  br label %2705

2705:                                             ; preds = %2704, %2695
  %.pn726.pn.pn = phi { ptr, i32 } [ %.pn726.pn, %2704 ], [ %2696, %2695 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %424) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %423) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %423) #9
  br label %3246

2706:                                             ; preds = %2668, %2694
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %423) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %423) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %427) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %428) #9
  store i64 4, ptr %428, align 8, !tbaa !24
  %2707 = load ptr, ptr %200, align 8, !tbaa !23
  %2708 = getelementptr inbounds i8, ptr %2707, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %427, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.79, ptr noundef nonnull align 8 dereferenceable(8) %428, ptr noundef nonnull align 8 dereferenceable(8) %2708)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %428) #9
  %2709 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %427)
  br i1 %2709, label %2724, label %2710

2710:                                             ; preds = %2706
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %429) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %429)
          to label %2711 unwind label %2716

2711:                                             ; preds = %2710
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %430) #9
  %2712 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %427)
          to label %2713 unwind label %2718

2713:                                             ; preds = %2711
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %430, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 169, ptr noundef %2712)
          to label %2714 unwind label %2718

2714:                                             ; preds = %2713
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %430, ptr noundef nonnull align 8 dereferenceable(8) %429)
          to label %2715 unwind label %2720

2715:                                             ; preds = %2714
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %430) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %430) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %429) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %429) #9
  br label %2724

2716:                                             ; preds = %2710
  %2717 = landingpad { ptr, i32 }
          cleanup
  br label %2723

2718:                                             ; preds = %2713, %2711
  %2719 = landingpad { ptr, i32 }
          cleanup
  br label %2722

2720:                                             ; preds = %2714
  %2721 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %430) #9
  br label %2722

2722:                                             ; preds = %2720, %2718
  %.pn730 = phi { ptr, i32 } [ %2721, %2720 ], [ %2719, %2718 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %430) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %429) #9
  br label %2723

2723:                                             ; preds = %2722, %2716
  %.pn730.pn = phi { ptr, i32 } [ %.pn730, %2722 ], [ %2717, %2716 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %429) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %427) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %427) #9
  br label %3246

2724:                                             ; preds = %2706, %2715
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %427) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %427) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %431) #9
  %2725 = load ptr, ptr %200, align 8, !tbaa !23
  %2726 = getelementptr inbounds i8, ptr %2725, i64 216
  %2727 = load i64, ptr %2726, align 8, !tbaa !40
  %2728 = load ptr, ptr %19, align 8, !tbaa !23
  %2729 = getelementptr inbounds i8, ptr %2728, i64 40
  %2730 = load i64, ptr %2729, align 8, !tbaa !44
  %2731 = icmp eq i64 %2727, %2730
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %431, i1 noundef zeroext %2731)
  %2732 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %431)
  br i1 %2732, label %2750, label %2733

2733:                                             ; preds = %2724
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %432) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %432)
          to label %2734 unwind label %2739

2734:                                             ; preds = %2733
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %433) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %434) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %434, ptr noundef nonnull align 8 dereferenceable(16) %431, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2735 unwind label %2741

2735:                                             ; preds = %2734
  %2736 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %434)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %433, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 170, ptr noundef %2736)
          to label %2737 unwind label %2743

2737:                                             ; preds = %2735
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %433, ptr noundef nonnull align 8 dereferenceable(8) %432)
          to label %2738 unwind label %2745

2738:                                             ; preds = %2737
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %433) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %434) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %434) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %433) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %432) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %432) #9
  br label %2750

2739:                                             ; preds = %2733
  %2740 = landingpad { ptr, i32 }
          cleanup
  br label %2749

2741:                                             ; preds = %2734
  %2742 = landingpad { ptr, i32 }
          cleanup
  br label %2748

2743:                                             ; preds = %2735
  %2744 = landingpad { ptr, i32 }
          cleanup
  br label %2747

2745:                                             ; preds = %2737
  %2746 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %433) #9
  br label %2747

2747:                                             ; preds = %2745, %2743
  %.pn733 = phi { ptr, i32 } [ %2746, %2745 ], [ %2744, %2743 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %434) #9
  br label %2748

2748:                                             ; preds = %2747, %2741
  %.pn733.pn = phi { ptr, i32 } [ %.pn733, %2747 ], [ %2742, %2741 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %434) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %433) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %432) #9
  br label %2749

2749:                                             ; preds = %2748, %2739
  %.pn733.pn.pn = phi { ptr, i32 } [ %.pn733.pn, %2748 ], [ %2740, %2739 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %432) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %431) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %431) #9
  br label %3246

2750:                                             ; preds = %2724, %2738
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %431) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %431) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %435) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %436) #9
  store i32 1, ptr %436, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %437) #9
  %2751 = load ptr, ptr %200, align 8, !tbaa !23
  %2752 = getelementptr inbounds i8, ptr %2751, i64 224
  %2753 = load ptr, ptr %2752, align 8, !tbaa !26
  %2754 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2753)
  store i64 %2754, ptr %437, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %435, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.81, ptr noundef nonnull align 4 dereferenceable(4) %436, ptr noundef nonnull align 8 dereferenceable(8) %437)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %437) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %436) #9
  %2755 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %435)
  br i1 %2755, label %2770, label %2756

2756:                                             ; preds = %2750
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %438) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438)
          to label %2757 unwind label %2762

2757:                                             ; preds = %2756
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %439) #9
  %2758 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %435)
          to label %2759 unwind label %2764

2759:                                             ; preds = %2757
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %439, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 171, ptr noundef %2758)
          to label %2760 unwind label %2764

2760:                                             ; preds = %2759
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %439, ptr noundef nonnull align 8 dereferenceable(8) %438)
          to label %2761 unwind label %2766

2761:                                             ; preds = %2760
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %439) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %439) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %438) #9
  br label %2770

2762:                                             ; preds = %2756
  %2763 = landingpad { ptr, i32 }
          cleanup
  br label %2769

2764:                                             ; preds = %2759, %2757
  %2765 = landingpad { ptr, i32 }
          cleanup
  br label %2768

2766:                                             ; preds = %2760
  %2767 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %439) #9
  br label %2768

2768:                                             ; preds = %2766, %2764
  %.pn737 = phi { ptr, i32 } [ %2767, %2766 ], [ %2765, %2764 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %439) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %438) #9
  br label %2769

2769:                                             ; preds = %2768, %2762
  %.pn737.pn = phi { ptr, i32 } [ %.pn737, %2768 ], [ %2763, %2762 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %438) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %435) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %435) #9
  br label %3246

2770:                                             ; preds = %2750, %2761
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %435) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %435) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %440) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %441) #9
  store i32 1, ptr %441, align 4, !tbaa !45
  %2771 = load ptr, ptr %200, align 8, !tbaa !23
  %2772 = getelementptr inbounds i8, ptr %2771, i64 224
  %2773 = load ptr, ptr %2772, align 8, !tbaa !26
  %2774 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2773, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIN7cascadb7MsgTypeES5_EENS_15AssertionResultEPKcS8_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %440, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.134, ptr noundef nonnull align 4 dereferenceable(4) %441, ptr noundef nonnull align 4 dereferenceable(4) %2774)
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %441) #9
  %2775 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %440)
  br i1 %2775, label %2790, label %2776

2776:                                             ; preds = %2770
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %442) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %442)
          to label %2777 unwind label %2782

2777:                                             ; preds = %2776
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %443) #9
  %2778 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %440)
          to label %2779 unwind label %2784

2779:                                             ; preds = %2777
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %443, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 172, ptr noundef %2778)
          to label %2780 unwind label %2784

2780:                                             ; preds = %2779
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %443, ptr noundef nonnull align 8 dereferenceable(8) %442)
          to label %2781 unwind label %2786

2781:                                             ; preds = %2780
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %443) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %443) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %442) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %442) #9
  br label %2790

2782:                                             ; preds = %2776
  %2783 = landingpad { ptr, i32 }
          cleanup
  br label %2789

2784:                                             ; preds = %2779, %2777
  %2785 = landingpad { ptr, i32 }
          cleanup
  br label %2788

2786:                                             ; preds = %2780
  %2787 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %443) #9
  br label %2788

2788:                                             ; preds = %2786, %2784
  %.pn740 = phi { ptr, i32 } [ %2787, %2786 ], [ %2785, %2784 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %443) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %442) #9
  br label %2789

2789:                                             ; preds = %2788, %2782
  %.pn740.pn = phi { ptr, i32 } [ %.pn740, %2788 ], [ %2783, %2782 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %442) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %440) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %440) #9
  br label %3246

2790:                                             ; preds = %2770, %2781
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %440) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %440) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %444) #9
  %2791 = load ptr, ptr %200, align 8, !tbaa !23
  %2792 = getelementptr inbounds i8, ptr %2791, i64 224
  %2793 = load ptr, ptr %2792, align 8, !tbaa !26
  %2794 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2793, i64 noundef 0)
  %2795 = getelementptr inbounds i8, ptr %2794, i64 8
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA5_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %444, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.136, ptr noundef nonnull align 1 dereferenceable(5) @.str.131, ptr noundef nonnull align 8 dereferenceable(12) %2795)
  %2796 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %444)
  br i1 %2796, label %2811, label %2797

2797:                                             ; preds = %2790
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %445) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %445)
          to label %2798 unwind label %2803

2798:                                             ; preds = %2797
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %446) #9
  %2799 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %444)
          to label %2800 unwind label %2805

2800:                                             ; preds = %2798
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %446, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 172, ptr noundef %2799)
          to label %2801 unwind label %2805

2801:                                             ; preds = %2800
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %446, ptr noundef nonnull align 8 dereferenceable(8) %445)
          to label %2802 unwind label %2807

2802:                                             ; preds = %2801
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %446) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %446) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %445) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %445) #9
  br label %2811

2803:                                             ; preds = %2797
  %2804 = landingpad { ptr, i32 }
          cleanup
  br label %2810

2805:                                             ; preds = %2800, %2798
  %2806 = landingpad { ptr, i32 }
          cleanup
  br label %2809

2807:                                             ; preds = %2801
  %2808 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %446) #9
  br label %2809

2809:                                             ; preds = %2807, %2805
  %.pn743 = phi { ptr, i32 } [ %2808, %2807 ], [ %2806, %2805 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %446) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %445) #9
  br label %2810

2810:                                             ; preds = %2809, %2803
  %.pn743.pn = phi { ptr, i32 } [ %.pn743, %2809 ], [ %2804, %2803 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %445) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %444) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %444) #9
  br label %3246

2811:                                             ; preds = %2790, %2802
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %444) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %444) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %447) #9
  %2812 = load ptr, ptr %200, align 8, !tbaa !23
  %2813 = getelementptr inbounds i8, ptr %2812, i64 224
  %2814 = load ptr, ptr %2813, align 8, !tbaa !26
  %2815 = call noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104) %2814, i64 noundef 0)
  %2816 = getelementptr inbounds i8, ptr %2815, i64 24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %447, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.137, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %2816)
  %2817 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %447)
  br i1 %2817, label %2832, label %2818

2818:                                             ; preds = %2811
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %448) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %448)
          to label %2819 unwind label %2824

2819:                                             ; preds = %2818
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %449) #9
  %2820 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %447)
          to label %2821 unwind label %2826

2821:                                             ; preds = %2819
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %449, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 172, ptr noundef %2820)
          to label %2822 unwind label %2826

2822:                                             ; preds = %2821
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %449, ptr noundef nonnull align 8 dereferenceable(8) %448)
          to label %2823 unwind label %2828

2823:                                             ; preds = %2822
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %449) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %449) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %448) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %448) #9
  br label %2832

2824:                                             ; preds = %2818
  %2825 = landingpad { ptr, i32 }
          cleanup
  br label %2831

2826:                                             ; preds = %2821, %2819
  %2827 = landingpad { ptr, i32 }
          cleanup
  br label %2830

2828:                                             ; preds = %2822
  %2829 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %449) #9
  br label %2830

2830:                                             ; preds = %2828, %2826
  %.pn746 = phi { ptr, i32 } [ %2829, %2828 ], [ %2827, %2826 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %449) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %448) #9
  br label %2831

2831:                                             ; preds = %2830, %2824
  %.pn746.pn = phi { ptr, i32 } [ %.pn746, %2830 ], [ %2825, %2824 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %448) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %447) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %447) #9
  br label %3246

2832:                                             ; preds = %2811, %2823
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %447) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %447) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %450) #9
  %2833 = load ptr, ptr %200, align 8, !tbaa !23
  %2834 = getelementptr inbounds i8, ptr %2833, i64 264
  %2835 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2834, i64 noundef 0) #9
  %2836 = getelementptr inbounds i8, ptr %2835, i64 32
  %2837 = load i64, ptr %2836, align 8, !tbaa !41
  %2838 = load i64, ptr %2066, align 8, !tbaa !44
  %2839 = icmp eq i64 %2837, %2838
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %450, i1 noundef zeroext %2839)
  %2840 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %450)
  br i1 %2840, label %2858, label %2841

2841:                                             ; preds = %2832
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %451) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %451)
          to label %2842 unwind label %2847

2842:                                             ; preds = %2841
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %452) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %453) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %453, ptr noundef nonnull align 8 dereferenceable(16) %450, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2843 unwind label %2849

2843:                                             ; preds = %2842
  %2844 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %453)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %452, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 173, ptr noundef %2844)
          to label %2845 unwind label %2851

2845:                                             ; preds = %2843
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %452, ptr noundef nonnull align 8 dereferenceable(8) %451)
          to label %2846 unwind label %2853

2846:                                             ; preds = %2845
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %452) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %453) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %453) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %452) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %451) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %451) #9
  br label %2858

2847:                                             ; preds = %2841
  %2848 = landingpad { ptr, i32 }
          cleanup
  br label %2857

2849:                                             ; preds = %2842
  %2850 = landingpad { ptr, i32 }
          cleanup
  br label %2856

2851:                                             ; preds = %2843
  %2852 = landingpad { ptr, i32 }
          cleanup
  br label %2855

2853:                                             ; preds = %2845
  %2854 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %452) #9
  br label %2855

2855:                                             ; preds = %2853, %2851
  %.pn749 = phi { ptr, i32 } [ %2854, %2853 ], [ %2852, %2851 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %453) #9
  br label %2856

2856:                                             ; preds = %2855, %2849
  %.pn749.pn = phi { ptr, i32 } [ %.pn749, %2855 ], [ %2850, %2849 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %453) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %452) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %451) #9
  br label %2857

2857:                                             ; preds = %2856, %2847
  %.pn749.pn.pn = phi { ptr, i32 } [ %.pn749.pn, %2856 ], [ %2848, %2847 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %451) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %450) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %450) #9
  br label %3246

2858:                                             ; preds = %2832, %2846
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %450) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %450) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %454) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %455) #9
  store i32 0, ptr %455, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %456) #9
  %2859 = load ptr, ptr %200, align 8, !tbaa !23
  %2860 = getelementptr inbounds i8, ptr %2859, i64 264
  %2861 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2860, i64 noundef 0) #9
  %2862 = getelementptr inbounds i8, ptr %2861, i64 40
  %2863 = load ptr, ptr %2862, align 8, !tbaa !43
  %2864 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2863)
  store i64 %2864, ptr %456, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %454, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.115, ptr noundef nonnull align 4 dereferenceable(4) %455, ptr noundef nonnull align 8 dereferenceable(8) %456, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %456) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %455) #9
  %2865 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %454)
  br i1 %2865, label %2880, label %2866

2866:                                             ; preds = %2858
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %457) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %457)
          to label %2867 unwind label %2872

2867:                                             ; preds = %2866
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %458) #9
  %2868 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %454)
          to label %2869 unwind label %2874

2869:                                             ; preds = %2867
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %458, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 174, ptr noundef %2868)
          to label %2870 unwind label %2874

2870:                                             ; preds = %2869
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %458, ptr noundef nonnull align 8 dereferenceable(8) %457)
          to label %2871 unwind label %2876

2871:                                             ; preds = %2870
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %458) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %458) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %457) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %457) #9
  br label %2880

2872:                                             ; preds = %2866
  %2873 = landingpad { ptr, i32 }
          cleanup
  br label %2879

2874:                                             ; preds = %2869, %2867
  %2875 = landingpad { ptr, i32 }
          cleanup
  br label %2878

2876:                                             ; preds = %2870
  %2877 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %458) #9
  br label %2878

2878:                                             ; preds = %2876, %2874
  %.pn753 = phi { ptr, i32 } [ %2877, %2876 ], [ %2875, %2874 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %458) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %457) #9
  br label %2879

2879:                                             ; preds = %2878, %2872
  %.pn753.pn = phi { ptr, i32 } [ %.pn753, %2878 ], [ %2873, %2872 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %457) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %454) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %454) #9
  br label %3246

2880:                                             ; preds = %2858, %2871
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %454) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %454) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %459) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %460) #9
  store i32 1, ptr %460, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %461) #9
  %2881 = call noundef i64 @_ZNKSt6vectorIN7cascadb5PivotESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %2175) #9
  store i64 %2881, ptr %461, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %459, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.108, ptr noundef nonnull align 4 dereferenceable(4) %460, ptr noundef nonnull align 8 dereferenceable(8) %461)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %461) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %460) #9
  %2882 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %459)
  br i1 %2882, label %2897, label %2883

2883:                                             ; preds = %2880
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %462) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462)
          to label %2884 unwind label %2889

2884:                                             ; preds = %2883
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %463) #9
  %2885 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %459)
          to label %2886 unwind label %2891

2886:                                             ; preds = %2884
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %463, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 176, ptr noundef %2885)
          to label %2887 unwind label %2891

2887:                                             ; preds = %2886
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %463, ptr noundef nonnull align 8 dereferenceable(8) %462)
          to label %2888 unwind label %2893

2888:                                             ; preds = %2887
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %463) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %463) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %462) #9
  br label %2897

2889:                                             ; preds = %2883
  %2890 = landingpad { ptr, i32 }
          cleanup
  br label %2896

2891:                                             ; preds = %2886, %2884
  %2892 = landingpad { ptr, i32 }
          cleanup
  br label %2895

2893:                                             ; preds = %2887
  %2894 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %463) #9
  br label %2895

2895:                                             ; preds = %2893, %2891
  %.pn756 = phi { ptr, i32 } [ %2894, %2893 ], [ %2892, %2891 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %463) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %462) #9
  br label %2896

2896:                                             ; preds = %2895, %2889
  %.pn756.pn = phi { ptr, i32 } [ %.pn756, %2895 ], [ %2890, %2889 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %462) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %459) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %459) #9
  br label %3246

2897:                                             ; preds = %2880, %2888
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %459) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %459) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %464) #9
  %2898 = load i64, ptr %2158, align 8, !tbaa !40
  %2899 = load i64, ptr %1124, align 8, !tbaa !44
  %2900 = icmp eq i64 %2898, %2899
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %464, i1 noundef zeroext %2900)
  %2901 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %464)
  br i1 %2901, label %2919, label %2902

2902:                                             ; preds = %2897
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %465) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465)
          to label %2903 unwind label %2908

2903:                                             ; preds = %2902
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %466) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %467) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %467, ptr noundef nonnull align 8 dereferenceable(16) %464, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2904 unwind label %2910

2904:                                             ; preds = %2903
  %2905 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %467)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %466, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 177, ptr noundef %2905)
          to label %2906 unwind label %2912

2906:                                             ; preds = %2904
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %466, ptr noundef nonnull align 8 dereferenceable(8) %465)
          to label %2907 unwind label %2914

2907:                                             ; preds = %2906
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %466) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %467) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %467) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %466) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %465) #9
  br label %2919

2908:                                             ; preds = %2902
  %2909 = landingpad { ptr, i32 }
          cleanup
  br label %2918

2910:                                             ; preds = %2903
  %2911 = landingpad { ptr, i32 }
          cleanup
  br label %2917

2912:                                             ; preds = %2904
  %2913 = landingpad { ptr, i32 }
          cleanup
  br label %2916

2914:                                             ; preds = %2906
  %2915 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %466) #9
  br label %2916

2916:                                             ; preds = %2914, %2912
  %.pn759 = phi { ptr, i32 } [ %2915, %2914 ], [ %2913, %2912 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %467) #9
  br label %2917

2917:                                             ; preds = %2916, %2910
  %.pn759.pn = phi { ptr, i32 } [ %.pn759, %2916 ], [ %2911, %2910 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %467) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %466) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %465) #9
  br label %2918

2918:                                             ; preds = %2917, %2908
  %.pn759.pn.pn = phi { ptr, i32 } [ %.pn759.pn, %2917 ], [ %2909, %2908 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %465) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %464) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %464) #9
  br label %3246

2919:                                             ; preds = %2897, %2907
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %464) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %464) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %468) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %469) #9
  store i32 0, ptr %469, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %470) #9
  %2920 = load ptr, ptr %2083, align 8, !tbaa !26
  %2921 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2920)
  store i64 %2921, ptr %470, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %468, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.102, ptr noundef nonnull align 4 dereferenceable(4) %469, ptr noundef nonnull align 8 dereferenceable(8) %470, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %470) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %469) #9
  %2922 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %468)
  br i1 %2922, label %2937, label %2923

2923:                                             ; preds = %2919
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %471) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471)
          to label %2924 unwind label %2929

2924:                                             ; preds = %2923
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %472) #9
  %2925 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %468)
          to label %2926 unwind label %2931

2926:                                             ; preds = %2924
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %472, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 178, ptr noundef %2925)
          to label %2927 unwind label %2931

2927:                                             ; preds = %2926
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %472, ptr noundef nonnull align 8 dereferenceable(8) %471)
          to label %2928 unwind label %2933

2928:                                             ; preds = %2927
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %472) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %472) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %471) #9
  br label %2937

2929:                                             ; preds = %2923
  %2930 = landingpad { ptr, i32 }
          cleanup
  br label %2936

2931:                                             ; preds = %2926, %2924
  %2932 = landingpad { ptr, i32 }
          cleanup
  br label %2935

2933:                                             ; preds = %2927
  %2934 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %472) #9
  br label %2935

2935:                                             ; preds = %2933, %2931
  %.pn763 = phi { ptr, i32 } [ %2934, %2933 ], [ %2932, %2931 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %472) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %471) #9
  br label %2936

2936:                                             ; preds = %2935, %2929
  %.pn763.pn = phi { ptr, i32 } [ %.pn763, %2935 ], [ %2930, %2929 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %471) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %468) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %468) #9
  br label %3246

2937:                                             ; preds = %2919, %2928
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %468) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %468) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %473) #9
  %2938 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2175, i64 noundef 0) #9
  %2939 = getelementptr inbounds i8, ptr %2938, i64 32
  %2940 = load i64, ptr %2939, align 8, !tbaa !41
  %2941 = icmp ne i64 %2940, 0
  call void @_ZN7testing15AssertionResultC2Eb(ptr noundef nonnull align 8 dereferenceable(16) %473, i1 noundef zeroext %2941)
  %2942 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %473)
  br i1 %2942, label %2960, label %2943

2943:                                             ; preds = %2937
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %474) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %474)
          to label %2944 unwind label %2949

2944:                                             ; preds = %2943
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %475) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %476) #9
  invoke void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind nonnull writable sret(%"class.testing::internal::String") align 8 %476, ptr noundef nonnull align 8 dereferenceable(16) %473, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.18)
          to label %2945 unwind label %2951

2945:                                             ; preds = %2944
  %2946 = call noundef ptr @_ZNK7testing8internal6String5c_strEv(ptr noundef nonnull align 8 dereferenceable(16) %476)
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %475, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 179, ptr noundef %2946)
          to label %2947 unwind label %2953

2947:                                             ; preds = %2945
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %475, ptr noundef nonnull align 8 dereferenceable(8) %474)
          to label %2948 unwind label %2955

2948:                                             ; preds = %2947
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %475) #9
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %476) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %476) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %475) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %474) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %474) #9
  br label %2960

2949:                                             ; preds = %2943
  %2950 = landingpad { ptr, i32 }
          cleanup
  br label %2959

2951:                                             ; preds = %2944
  %2952 = landingpad { ptr, i32 }
          cleanup
  br label %2958

2953:                                             ; preds = %2945
  %2954 = landingpad { ptr, i32 }
          cleanup
  br label %2957

2955:                                             ; preds = %2947
  %2956 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %475) #9
  br label %2957

2957:                                             ; preds = %2955, %2953
  %.pn766 = phi { ptr, i32 } [ %2956, %2955 ], [ %2954, %2953 ]
  call void @_ZN7testing8internal6StringD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %476) #9
  br label %2958

2958:                                             ; preds = %2957, %2951
  %.pn766.pn = phi { ptr, i32 } [ %.pn766, %2957 ], [ %2952, %2951 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %476) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %475) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %474) #9
  br label %2959

2959:                                             ; preds = %2958, %2949
  %.pn766.pn.pn = phi { ptr, i32 } [ %.pn766.pn, %2958 ], [ %2950, %2949 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %474) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %473) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %473) #9
  br label %3246

2960:                                             ; preds = %2937, %2948
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %473) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %473) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %477) #9
  %2961 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2175, i64 noundef 0) #9
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %477, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.141, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %2961)
  %2962 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %477)
  br i1 %2962, label %2977, label %2963

2963:                                             ; preds = %2960
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %478) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %478)
          to label %2964 unwind label %2969

2964:                                             ; preds = %2963
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %479) #9
  %2965 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %477)
          to label %2966 unwind label %2971

2966:                                             ; preds = %2964
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %479, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 180, ptr noundef %2965)
          to label %2967 unwind label %2971

2967:                                             ; preds = %2966
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %479, ptr noundef nonnull align 8 dereferenceable(8) %478)
          to label %2968 unwind label %2973

2968:                                             ; preds = %2967
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %479) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %479) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %478) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %478) #9
  br label %2977

2969:                                             ; preds = %2963
  %2970 = landingpad { ptr, i32 }
          cleanup
  br label %2976

2971:                                             ; preds = %2966, %2964
  %2972 = landingpad { ptr, i32 }
          cleanup
  br label %2975

2973:                                             ; preds = %2967
  %2974 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %479) #9
  br label %2975

2975:                                             ; preds = %2973, %2971
  %.pn770 = phi { ptr, i32 } [ %2974, %2973 ], [ %2972, %2971 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %479) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %478) #9
  br label %2976

2976:                                             ; preds = %2975, %2969
  %.pn770.pn = phi { ptr, i32 } [ %.pn770, %2975 ], [ %2970, %2969 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %478) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %477) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %477) #9
  br label %3246

2977:                                             ; preds = %2960, %2968
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %477) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %477) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %480) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %481) #9
  store i32 0, ptr %481, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %482) #9
  %2978 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2175, i64 noundef 0) #9
  %2979 = getelementptr inbounds i8, ptr %2978, i64 40
  %2980 = load ptr, ptr %2979, align 8, !tbaa !43
  %2981 = call noundef i64 @_ZNK7cascadb6MsgBuf5countEv(ptr noundef nonnull align 8 dereferenceable(104) %2980)
  store i64 %2981, ptr %482, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb1EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_PNS0_8EnableIfIXntsr10is_pointerISA_EE5valueEE4typeE(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %480, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.142, ptr noundef nonnull align 4 dereferenceable(4) %481, ptr noundef nonnull align 8 dereferenceable(8) %482, ptr noundef null)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %482) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %481) #9
  %2982 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %480)
  br i1 %2982, label %2997, label %2983

2983:                                             ; preds = %2977
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %483) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %483)
          to label %2984 unwind label %2989

2984:                                             ; preds = %2983
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %484) #9
  %2985 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %480)
          to label %2986 unwind label %2991

2986:                                             ; preds = %2984
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %484, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 181, ptr noundef %2985)
          to label %2987 unwind label %2991

2987:                                             ; preds = %2986
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %484, ptr noundef nonnull align 8 dereferenceable(8) %483)
          to label %2988 unwind label %2993

2988:                                             ; preds = %2987
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %484) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %484) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %483) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %483) #9
  br label %2997

2989:                                             ; preds = %2983
  %2990 = landingpad { ptr, i32 }
          cleanup
  br label %2996

2991:                                             ; preds = %2986, %2984
  %2992 = landingpad { ptr, i32 }
          cleanup
  br label %2995

2993:                                             ; preds = %2987
  %2994 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %484) #9
  br label %2995

2995:                                             ; preds = %2993, %2991
  %.pn773 = phi { ptr, i32 } [ %2994, %2993 ], [ %2992, %2991 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %484) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %483) #9
  br label %2996

2996:                                             ; preds = %2995, %2989
  %.pn773.pn = phi { ptr, i32 } [ %.pn773, %2995 ], [ %2990, %2989 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %483) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %480) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %480) #9
  br label %3246

2997:                                             ; preds = %2977, %2988
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %480) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %480) #9
  %2998 = call noundef nonnull align 8 dereferenceable(62) ptr @_ZNSt6vectorIN7cascadb5PivotESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2175, i64 noundef 0) #9
  %2999 = getelementptr inbounds i8, ptr %2998, i64 32
  %3000 = load i64, ptr %2999, align 8, !tbaa !41
  %3001 = call noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184) %597, i64 noundef %3000, i1 noundef zeroext false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %485) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %486) #9
  store i64 281474976710660, ptr %486, align 8, !tbaa !24
  %3002 = getelementptr inbounds i8, ptr %3001, i64 40
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareImmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %485, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.144, ptr noundef nonnull align 8 dereferenceable(8) %486, ptr noundef nonnull align 8 dereferenceable(8) %3002)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %486) #9
  %3003 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %485)
  br i1 %3003, label %3018, label %3004

3004:                                             ; preds = %2997
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %487) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %487)
          to label %3005 unwind label %3010

3005:                                             ; preds = %3004
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %488) #9
  %3006 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %485)
          to label %3007 unwind label %3012

3007:                                             ; preds = %3005
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %488, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 183, ptr noundef %3006)
          to label %3008 unwind label %3012

3008:                                             ; preds = %3007
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %488, ptr noundef nonnull align 8 dereferenceable(8) %487)
          to label %3009 unwind label %3014

3009:                                             ; preds = %3008
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %488) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %488) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %487) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %487) #9
  br label %3018

3010:                                             ; preds = %3004
  %3011 = landingpad { ptr, i32 }
          cleanup
  br label %3017

3012:                                             ; preds = %3007, %3005
  %3013 = landingpad { ptr, i32 }
          cleanup
  br label %3016

3014:                                             ; preds = %3008
  %3015 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %488) #9
  br label %3016

3016:                                             ; preds = %3014, %3012
  %.pn776 = phi { ptr, i32 } [ %3015, %3014 ], [ %3013, %3012 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %488) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %487) #9
  br label %3017

3017:                                             ; preds = %3016, %3010
  %.pn776.pn = phi { ptr, i32 } [ %.pn776, %3016 ], [ %3011, %3010 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %487) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %485) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %485) #9
  br label %3246

3018:                                             ; preds = %2997, %3009
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %485) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %485) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %489) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %490) #9
  store i32 2, ptr %490, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %491) #9
  %3019 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %1298)
  store i64 %3019, ptr %491, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %489, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.59, ptr noundef nonnull align 4 dereferenceable(4) %490, ptr noundef nonnull align 8 dereferenceable(8) %491)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %491) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %490) #9
  %3020 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %489)
  br i1 %3020, label %3035, label %3021

3021:                                             ; preds = %3018
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %492) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492)
          to label %3022 unwind label %3027

3022:                                             ; preds = %3021
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %493) #9
  %3023 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %489)
          to label %3024 unwind label %3029

3024:                                             ; preds = %3022
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %493, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 184, ptr noundef %3023)
          to label %3025 unwind label %3029

3025:                                             ; preds = %3024
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %493, ptr noundef nonnull align 8 dereferenceable(8) %492)
          to label %3026 unwind label %3031

3026:                                             ; preds = %3025
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %493) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %493) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %492) #9
  br label %3035

3027:                                             ; preds = %3021
  %3028 = landingpad { ptr, i32 }
          cleanup
  br label %3034

3029:                                             ; preds = %3024, %3022
  %3030 = landingpad { ptr, i32 }
          cleanup
  br label %3033

3031:                                             ; preds = %3025
  %3032 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %493) #9
  br label %3033

3033:                                             ; preds = %3031, %3029
  %.pn779 = phi { ptr, i32 } [ %3032, %3031 ], [ %3030, %3029 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %493) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %492) #9
  br label %3034

3034:                                             ; preds = %3033, %3027
  %.pn779.pn = phi { ptr, i32 } [ %.pn779, %3033 ], [ %3028, %3027 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %492) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %489) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %489) #9
  br label %3246

3035:                                             ; preds = %3018, %3026
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %489) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %489) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %494) #9
  %3036 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %494, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.61, ptr noundef nonnull align 1 dereferenceable(2) @.str.48, ptr noundef nonnull align 8 dereferenceable(12) %3036)
  %3037 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %494)
  br i1 %3037, label %3052, label %3038

3038:                                             ; preds = %3035
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %495) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %495)
          to label %3039 unwind label %3044

3039:                                             ; preds = %3038
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %496) #9
  %3040 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %494)
          to label %3041 unwind label %3046

3041:                                             ; preds = %3039
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %496, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 185, ptr noundef %3040)
          to label %3042 unwind label %3046

3042:                                             ; preds = %3041
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %496, ptr noundef nonnull align 8 dereferenceable(8) %495)
          to label %3043 unwind label %3048

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

3044:                                             ; preds = %3038
  %3045 = landingpad { ptr, i32 }
          cleanup
  br label %3051

3046:                                             ; preds = %3041, %3039
  %3047 = landingpad { ptr, i32 }
          cleanup
  br label %3050

3048:                                             ; preds = %3042
  %3049 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %496) #9
  br label %3050

3050:                                             ; preds = %3048, %3046
  %.pn782 = phi { ptr, i32 } [ %3049, %3048 ], [ %3047, %3046 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %496) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %495) #9
  br label %3051

3051:                                             ; preds = %3050, %3044
  %.pn782.pn = phi { ptr, i32 } [ %.pn782, %3050 ], [ %3045, %3044 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %495) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %494) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %494) #9
  br label %3246

3052:                                             ; preds = %3035, %3043
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %494) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %494) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %497) #9
  %3053 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 0)
  %3054 = getelementptr inbounds i8, ptr %3053, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %497, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.62, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %3054)
  %3055 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %497)
  br i1 %3055, label %3070, label %3056

3056:                                             ; preds = %3052
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %498) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %498)
          to label %3057 unwind label %3062

3057:                                             ; preds = %3056
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %499) #9
  %3058 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %497)
          to label %3059 unwind label %3064

3059:                                             ; preds = %3057
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %499, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 185, ptr noundef %3058)
          to label %3060 unwind label %3064

3060:                                             ; preds = %3059
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %499, ptr noundef nonnull align 8 dereferenceable(8) %498)
          to label %3061 unwind label %3066

3061:                                             ; preds = %3060
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %499) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %499) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %498) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %498) #9
  br label %3070

3062:                                             ; preds = %3056
  %3063 = landingpad { ptr, i32 }
          cleanup
  br label %3069

3064:                                             ; preds = %3059, %3057
  %3065 = landingpad { ptr, i32 }
          cleanup
  br label %3068

3066:                                             ; preds = %3060
  %3067 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %499) #9
  br label %3068

3068:                                             ; preds = %3066, %3064
  %.pn785 = phi { ptr, i32 } [ %3067, %3066 ], [ %3065, %3064 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %499) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %498) #9
  br label %3069

3069:                                             ; preds = %3068, %3062
  %.pn785.pn = phi { ptr, i32 } [ %.pn785, %3068 ], [ %3063, %3062 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %498) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %497) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %497) #9
  br label %3246

3070:                                             ; preds = %3052, %3061
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %497) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %497) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %500) #9
  %3071 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA3_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %500, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.64, ptr noundef nonnull align 1 dereferenceable(3) @.str.112, ptr noundef nonnull align 8 dereferenceable(12) %3071)
  %3072 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %500)
  br i1 %3072, label %3087, label %3073

3073:                                             ; preds = %3070
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %501) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %501)
          to label %3074 unwind label %3079

3074:                                             ; preds = %3073
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %502) #9
  %3075 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %500)
          to label %3076 unwind label %3081

3076:                                             ; preds = %3074
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %502, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 186, ptr noundef %3075)
          to label %3077 unwind label %3081

3077:                                             ; preds = %3076
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %502, ptr noundef nonnull align 8 dereferenceable(8) %501)
          to label %3078 unwind label %3083

3078:                                             ; preds = %3077
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %502) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %502) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %501) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %501) #9
  br label %3087

3079:                                             ; preds = %3073
  %3080 = landingpad { ptr, i32 }
          cleanup
  br label %3086

3081:                                             ; preds = %3076, %3074
  %3082 = landingpad { ptr, i32 }
          cleanup
  br label %3085

3083:                                             ; preds = %3077
  %3084 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %502) #9
  br label %3085

3085:                                             ; preds = %3083, %3081
  %.pn788 = phi { ptr, i32 } [ %3084, %3083 ], [ %3082, %3081 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %502) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %501) #9
  br label %3086

3086:                                             ; preds = %3085, %3079
  %.pn788.pn = phi { ptr, i32 } [ %.pn788, %3085 ], [ %3080, %3079 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %501) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %500) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %500) #9
  br label %3246

3087:                                             ; preds = %3070, %3078
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %500) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %500) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %503) #9
  %3088 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %1298, i64 noundef 1)
  %3089 = getelementptr inbounds i8, ptr %3088, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %503, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.65, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %3089)
  %3090 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %503)
  br i1 %3090, label %3105, label %3091

3091:                                             ; preds = %3087
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %504) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %504)
          to label %3092 unwind label %3097

3092:                                             ; preds = %3091
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %505) #9
  %3093 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %503)
          to label %3094 unwind label %3099

3094:                                             ; preds = %3092
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %505, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 186, ptr noundef %3093)
          to label %3095 unwind label %3099

3095:                                             ; preds = %3094
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %505, ptr noundef nonnull align 8 dereferenceable(8) %504)
          to label %3096 unwind label %3101

3096:                                             ; preds = %3095
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %505) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %505) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %504) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %504) #9
  br label %3105

3097:                                             ; preds = %3091
  %3098 = landingpad { ptr, i32 }
          cleanup
  br label %3104

3099:                                             ; preds = %3094, %3092
  %3100 = landingpad { ptr, i32 }
          cleanup
  br label %3103

3101:                                             ; preds = %3095
  %3102 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %505) #9
  br label %3103

3103:                                             ; preds = %3101, %3099
  %.pn791 = phi { ptr, i32 } [ %3102, %3101 ], [ %3100, %3099 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %505) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %504) #9
  br label %3104

3104:                                             ; preds = %3103, %3097
  %.pn791.pn = phi { ptr, i32 } [ %.pn791, %3103 ], [ %3098, %3097 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %504) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %503) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %503) #9
  br label %3246

3105:                                             ; preds = %3087, %3096
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %503) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %503) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %506) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %507) #9
  store i32 3, ptr %507, align 4, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %508) #9
  %3106 = getelementptr inbounds i8, ptr %3001, i64 264
  %3107 = call noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56) %3106)
  store i64 %3107, ptr %508, align 8, !tbaa !24
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIjmEENS_15AssertionResultEPKcS6_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %506, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.145, ptr noundef nonnull align 4 dereferenceable(4) %507, ptr noundef nonnull align 8 dereferenceable(8) %508)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %508) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %507) #9
  %3108 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %506)
  br i1 %3108, label %3123, label %3109

3109:                                             ; preds = %3105
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %509) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %509)
          to label %3110 unwind label %3115

3110:                                             ; preds = %3109
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %510) #9
  %3111 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %506)
          to label %3112 unwind label %3117

3112:                                             ; preds = %3110
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %510, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 187, ptr noundef %3111)
          to label %3113 unwind label %3117

3113:                                             ; preds = %3112
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %510, ptr noundef nonnull align 8 dereferenceable(8) %509)
          to label %3114 unwind label %3119

3114:                                             ; preds = %3113
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %510) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %510) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %509) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %509) #9
  br label %3123

3115:                                             ; preds = %3109
  %3116 = landingpad { ptr, i32 }
          cleanup
  br label %3122

3117:                                             ; preds = %3112, %3110
  %3118 = landingpad { ptr, i32 }
          cleanup
  br label %3121

3119:                                             ; preds = %3113
  %3120 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %510) #9
  br label %3121

3121:                                             ; preds = %3119, %3117
  %.pn794 = phi { ptr, i32 } [ %3120, %3119 ], [ %3118, %3117 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %510) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %509) #9
  br label %3122

3122:                                             ; preds = %3121, %3115
  %.pn794.pn = phi { ptr, i32 } [ %.pn794, %3121 ], [ %3116, %3115 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %509) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %506) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %506) #9
  br label %3246

3123:                                             ; preds = %3105, %3114
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %506) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %506) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %511) #9
  %3124 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 0)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %511, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.146, ptr noundef nonnull align 1 dereferenceable(2) @.str.49, ptr noundef nonnull align 8 dereferenceable(12) %3124)
  %3125 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %511)
  br i1 %3125, label %3140, label %3126

3126:                                             ; preds = %3123
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %512) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %512)
          to label %3127 unwind label %3132

3127:                                             ; preds = %3126
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %513) #9
  %3128 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %511)
          to label %3129 unwind label %3134

3129:                                             ; preds = %3127
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %513, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 188, ptr noundef %3128)
          to label %3130 unwind label %3134

3130:                                             ; preds = %3129
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %513, ptr noundef nonnull align 8 dereferenceable(8) %512)
          to label %3131 unwind label %3136

3131:                                             ; preds = %3130
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %513) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %513) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %512) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %512) #9
  br label %3140

3132:                                             ; preds = %3126
  %3133 = landingpad { ptr, i32 }
          cleanup
  br label %3139

3134:                                             ; preds = %3129, %3127
  %3135 = landingpad { ptr, i32 }
          cleanup
  br label %3138

3136:                                             ; preds = %3130
  %3137 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %513) #9
  br label %3138

3138:                                             ; preds = %3136, %3134
  %.pn797 = phi { ptr, i32 } [ %3137, %3136 ], [ %3135, %3134 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %513) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %512) #9
  br label %3139

3139:                                             ; preds = %3138, %3132
  %.pn797.pn = phi { ptr, i32 } [ %.pn797, %3138 ], [ %3133, %3132 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %512) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %511) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %511) #9
  br label %3246

3140:                                             ; preds = %3123, %3131
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %511) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %511) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %514) #9
  %3141 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 0)
  %3142 = getelementptr inbounds i8, ptr %3141, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %514, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.147, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %3142)
  %3143 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %514)
  br i1 %3143, label %3158, label %3144

3144:                                             ; preds = %3140
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %515) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %515)
          to label %3145 unwind label %3150

3145:                                             ; preds = %3144
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %516) #9
  %3146 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %514)
          to label %3147 unwind label %3152

3147:                                             ; preds = %3145
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %516, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 188, ptr noundef %3146)
          to label %3148 unwind label %3152

3148:                                             ; preds = %3147
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %516, ptr noundef nonnull align 8 dereferenceable(8) %515)
          to label %3149 unwind label %3154

3149:                                             ; preds = %3148
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %516) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %516) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %515) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %515) #9
  br label %3158

3150:                                             ; preds = %3144
  %3151 = landingpad { ptr, i32 }
          cleanup
  br label %3157

3152:                                             ; preds = %3147, %3145
  %3153 = landingpad { ptr, i32 }
          cleanup
  br label %3156

3154:                                             ; preds = %3148
  %3155 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %516) #9
  br label %3156

3156:                                             ; preds = %3154, %3152
  %.pn800 = phi { ptr, i32 } [ %3155, %3154 ], [ %3153, %3152 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %516) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %515) #9
  br label %3157

3157:                                             ; preds = %3156, %3150
  %.pn800.pn = phi { ptr, i32 } [ %.pn800, %3156 ], [ %3151, %3150 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %515) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %514) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %514) #9
  br label %3246

3158:                                             ; preds = %3140, %3149
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %514) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %514) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %517) #9
  %3159 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 1)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %517, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.148, ptr noundef nonnull align 1 dereferenceable(2) @.str.50, ptr noundef nonnull align 8 dereferenceable(12) %3159)
  %3160 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %517)
  br i1 %3160, label %3175, label %3161

3161:                                             ; preds = %3158
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %518) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %518)
          to label %3162 unwind label %3167

3162:                                             ; preds = %3161
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %519) #9
  %3163 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %517)
          to label %3164 unwind label %3169

3164:                                             ; preds = %3162
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %519, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 189, ptr noundef %3163)
          to label %3165 unwind label %3169

3165:                                             ; preds = %3164
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %519, ptr noundef nonnull align 8 dereferenceable(8) %518)
          to label %3166 unwind label %3171

3166:                                             ; preds = %3165
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %519) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %519) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %518) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %518) #9
  br label %3175

3167:                                             ; preds = %3161
  %3168 = landingpad { ptr, i32 }
          cleanup
  br label %3174

3169:                                             ; preds = %3164, %3162
  %3170 = landingpad { ptr, i32 }
          cleanup
  br label %3173

3171:                                             ; preds = %3165
  %3172 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %519) #9
  br label %3173

3173:                                             ; preds = %3171, %3169
  %.pn803 = phi { ptr, i32 } [ %3172, %3171 ], [ %3170, %3169 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %519) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %518) #9
  br label %3174

3174:                                             ; preds = %3173, %3167
  %.pn803.pn = phi { ptr, i32 } [ %.pn803, %3173 ], [ %3168, %3167 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %518) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %517) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %517) #9
  br label %3246

3175:                                             ; preds = %3158, %3166
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %517) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %517) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %520) #9
  %3176 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 1)
  %3177 = getelementptr inbounds i8, ptr %3176, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %520, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.149, ptr noundef nonnull align 1 dereferenceable(2) @.str.72, ptr noundef nonnull align 8 dereferenceable(12) %3177)
  %3178 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %520)
  br i1 %3178, label %3193, label %3179

3179:                                             ; preds = %3175
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %521) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %521)
          to label %3180 unwind label %3185

3180:                                             ; preds = %3179
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %522) #9
  %3181 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %520)
          to label %3182 unwind label %3187

3182:                                             ; preds = %3180
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %522, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 189, ptr noundef %3181)
          to label %3183 unwind label %3187

3183:                                             ; preds = %3182
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %522, ptr noundef nonnull align 8 dereferenceable(8) %521)
          to label %3184 unwind label %3189

3184:                                             ; preds = %3183
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %522) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %522) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %521) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %521) #9
  br label %3193

3185:                                             ; preds = %3179
  %3186 = landingpad { ptr, i32 }
          cleanup
  br label %3192

3187:                                             ; preds = %3182, %3180
  %3188 = landingpad { ptr, i32 }
          cleanup
  br label %3191

3189:                                             ; preds = %3183
  %3190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %522) #9
  br label %3191

3191:                                             ; preds = %3189, %3187
  %.pn806 = phi { ptr, i32 } [ %3190, %3189 ], [ %3188, %3187 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %522) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %521) #9
  br label %3192

3192:                                             ; preds = %3191, %3185
  %.pn806.pn = phi { ptr, i32 } [ %.pn806, %3191 ], [ %3186, %3185 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %521) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %520) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %520) #9
  br label %3246

3193:                                             ; preds = %3175, %3184
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %520) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %520) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %523) #9
  %3194 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 2)
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %523, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.150, ptr noundef nonnull align 1 dereferenceable(2) @.str.51, ptr noundef nonnull align 8 dereferenceable(12) %3194)
  %3195 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %523)
  br i1 %3195, label %3210, label %3196

3196:                                             ; preds = %3193
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %524) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524)
          to label %3197 unwind label %3202

3197:                                             ; preds = %3196
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %525) #9
  %3198 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %523)
          to label %3199 unwind label %3204

3199:                                             ; preds = %3197
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %525, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 190, ptr noundef %3198)
          to label %3200 unwind label %3204

3200:                                             ; preds = %3199
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %525, ptr noundef nonnull align 8 dereferenceable(8) %524)
          to label %3201 unwind label %3206

3201:                                             ; preds = %3200
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %525) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %525) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %524) #9
  br label %3210

3202:                                             ; preds = %3196
  %3203 = landingpad { ptr, i32 }
          cleanup
  br label %3209

3204:                                             ; preds = %3199, %3197
  %3205 = landingpad { ptr, i32 }
          cleanup
  br label %3208

3206:                                             ; preds = %3200
  %3207 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %525) #9
  br label %3208

3208:                                             ; preds = %3206, %3204
  %.pn809 = phi { ptr, i32 } [ %3207, %3206 ], [ %3205, %3204 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %525) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %524) #9
  br label %3209

3209:                                             ; preds = %3208, %3202
  %.pn809.pn = phi { ptr, i32 } [ %.pn809, %3208 ], [ %3203, %3202 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %524) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %523) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %523) #9
  br label %3246

3210:                                             ; preds = %3193, %3201
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %523) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %523) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %526) #9
  %3211 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56) %3106, i64 noundef 2)
  %3212 = getelementptr inbounds i8, ptr %3211, i64 16
  call void @_ZN7testing8internal8EqHelperILb0EE7CompareIA2_cN7cascadb5SliceEEENS_15AssertionResultEPKcS9_RKT_RKT0_(ptr dead_on_unwind nonnull writable sret(%"class.testing::AssertionResult") align 8 %526, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.151, ptr noundef nonnull align 1 dereferenceable(2) @.str.4, ptr noundef nonnull align 8 dereferenceable(12) %3212)
  %3213 = call noundef zeroext i1 @_ZNK7testing15AssertionResultcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %526)
  br i1 %3213, label %3228, label %3214

3214:                                             ; preds = %3210
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %527) #9
  invoke void @_ZN7testing7MessageC2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527)
          to label %3215 unwind label %3220

3215:                                             ; preds = %3214
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %528) #9
  %3216 = invoke noundef ptr @_ZNK7testing15AssertionResult15failure_messageEv(ptr noundef nonnull align 8 dereferenceable(16) %526)
          to label %3217 unwind label %3222

3217:                                             ; preds = %3215
  invoke void @_ZN7testing8internal12AssertHelperC1ENS_14TestPartResult4TypeEPKciS5_(ptr noundef nonnull align 8 dereferenceable(8) %528, i32 noundef 1, ptr noundef nonnull @.str.7, i32 noundef 190, ptr noundef %3216)
          to label %3218 unwind label %3222

3218:                                             ; preds = %3217
  invoke void @_ZNK7testing8internal12AssertHelperaSERKNS_7MessageE(ptr noundef nonnull align 8 dereferenceable(8) %528, ptr noundef nonnull align 8 dereferenceable(8) %527)
          to label %3219 unwind label %3224

3219:                                             ; preds = %3218
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %528) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %528) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %527) #9
  br label %3228

3220:                                             ; preds = %3214
  %3221 = landingpad { ptr, i32 }
          cleanup
  br label %3227

3222:                                             ; preds = %3217, %3215
  %3223 = landingpad { ptr, i32 }
          cleanup
  br label %3226

3224:                                             ; preds = %3218
  %3225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN7testing8internal12AssertHelperD1Ev(ptr noundef nonnull align 8 dereferenceable(8) %528) #9
  br label %3226

3226:                                             ; preds = %3224, %3222
  %.pn812 = phi { ptr, i32 } [ %3225, %3224 ], [ %3223, %3222 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %528) #9
  call void @_ZN7testing7MessageD2Ev(ptr noundef nonnull align 8 dereferenceable(8) %527) #9
  br label %3227

3227:                                             ; preds = %3226, %3220
  %.pn812.pn = phi { ptr, i32 } [ %.pn812, %3226 ], [ %3221, %3220 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %527) #9
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %526) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %526) #9
  br label %3246

3228:                                             ; preds = %3210, %3219
  call void @_ZN7testing15AssertionResultD2Ev(ptr noundef nonnull align 8 dereferenceable(16) %526) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %526) #9
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %760)
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %1123)
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %1744)
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %3001)
  call void @_ZN7cascadb4Node7dec_refEv(ptr noundef nonnull align 8 dereferenceable(200) %2065)
  call void @_ZN7cascadb4TreeD1Ev(ptr noundef nonnull align 8 dereferenceable(184) %597) #9
  call void @_ZdlPvm(ptr noundef nonnull %597, i64 noundef 184) #11
  call void @_ZN7cascadb5CacheD1Ev(ptr noundef nonnull align 8 dereferenceable(432) %573) #9
  call void @_ZdlPvm(ptr noundef nonnull %573, i64 noundef 432) #11
  call void @_ZN7cascadb6LayoutD1Ev(ptr noundef nonnull align 8 dereferenceable(600) %542) #9
  call void @_ZdlPvm(ptr noundef nonnull %542, i64 noundef 600) #11
  %3229 = icmp eq ptr %540, null
  br i1 %3229, label %3234, label %3230

3230:                                             ; preds = %3228
  %3231 = load ptr, ptr %540, align 8, !tbaa !17
  %3232 = getelementptr inbounds i8, ptr %3231, i64 8
  %3233 = load ptr, ptr %3232, align 8
  call void %3233(ptr noundef nonnull align 8 dereferenceable(8) %540) #9
  br label %3234

3234:                                             ; preds = %3228, %3230
  %3235 = load ptr, ptr %534, align 8, !tbaa !17
  %3236 = getelementptr inbounds i8, ptr %3235, i64 8
  %3237 = load ptr, ptr %3236, align 8
  call void %3237(ptr noundef nonnull align 8 dereferenceable(8) %534) #9
  %3238 = load ptr, ptr %530, align 8, !tbaa !5
  %3239 = icmp eq ptr %3238, null
  br i1 %3239, label %3244, label %3240

3240:                                             ; preds = %3234
  %3241 = load ptr, ptr %3238, align 8, !tbaa !17
  %3242 = getelementptr inbounds i8, ptr %3241, i64 16
  %3243 = load ptr, ptr %3242, align 8
  call void %3243(ptr noundef nonnull align 8 dereferenceable(8) %3238) #9
  br label %3244

3244:                                             ; preds = %3240, %3234
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #9
  br label %3245

3245:                                             ; preds = %612, %584, %560, %3244
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %2) #9
  ret void

3246:                                             ; preds = %1760, %1777, %1794, %1812, %1829, %1847, %1865, %1882, %1900, %1917, %1935, %1952, %1970, %1991, %2010, %2033, %2058, %3017, %3034, %3051, %3069, %3086, %3104, %3122, %3139, %3157, %3174, %3192, %3209, %3227, %2996, %2976, %2959, %2936, %2918, %2896, %2879, %2857, %2831, %2810, %2789, %2769, %2749, %2723, %2705, %2667, %2644, %2621, %2599, %2577, %2556, %2535, %2515, %2495, %2472, %2449, %2427, %2404, %2381, %2359, %2337, %2317, %2297, %2277, %2259, %2211, %2191, %2173, %2156, %2137, %2118, %2100, %2081, %1737, %1712, %1686, %1661, %1638, %1619, %1601, %1581, %1561, %1541
  %.pn812.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn585.pn.pn, %1737 ], [ %.pn581.pn.pn, %1712 ], [ %.pn577.pn.pn, %1686 ], [ %.pn573.pn.pn, %1661 ], [ %.pn570.pn, %1638 ], [ %.pn567.pn, %1619 ], [ %.pn564.pn, %1601 ], [ %.pn561.pn, %1581 ], [ %.pn558.pn, %1561 ], [ %.pn555.pn, %1541 ], [ %.pn638.pn.pn, %2058 ], [ %.pn634.pn.pn, %2033 ], [ %.pn631.pn, %2010 ], [ %.pn628.pn, %1991 ], [ %.pn625.pn, %1970 ], [ %.pn622.pn, %1952 ], [ %.pn619.pn, %1935 ], [ %.pn616.pn, %1917 ], [ %.pn613.pn, %1900 ], [ %.pn610.pn, %1882 ], [ %.pn607.pn, %1865 ], [ %.pn604.pn, %1847 ], [ %.pn601.pn, %1829 ], [ %.pn598.pn, %1812 ], [ %.pn595.pn, %1794 ], [ %.pn592.pn, %1777 ], [ %.pn589.pn, %1760 ], [ %.pn773.pn, %2996 ], [ %.pn770.pn, %2976 ], [ %.pn766.pn.pn, %2959 ], [ %.pn763.pn, %2936 ], [ %.pn759.pn.pn, %2918 ], [ %.pn756.pn, %2896 ], [ %.pn753.pn, %2879 ], [ %.pn749.pn.pn, %2857 ], [ %.pn746.pn, %2831 ], [ %.pn743.pn, %2810 ], [ %.pn740.pn, %2789 ], [ %.pn737.pn, %2769 ], [ %.pn733.pn.pn, %2749 ], [ %.pn730.pn, %2723 ], [ %.pn726.pn.pn, %2705 ], [ %.pn723.pn, %2667 ], [ %.pn720.pn, %2644 ], [ %.pn717.pn, %2621 ], [ %.pn714.pn, %2599 ], [ %.pn711.pn, %2577 ], [ %.pn708.pn, %2556 ], [ %.pn705.pn, %2535 ], [ %.pn702.pn, %2515 ], [ %.pn699.pn, %2495 ], [ %.pn696.pn, %2472 ], [ %.pn693.pn, %2449 ], [ %.pn690.pn, %2427 ], [ %.pn687.pn, %2404 ], [ %.pn684.pn, %2381 ], [ %.pn681.pn, %2359 ], [ %.pn678.pn, %2337 ], [ %.pn675.pn, %2317 ], [ %.pn672.pn, %2297 ], [ %.pn669.pn, %2277 ], [ %.pn666.pn, %2259 ], [ %.pn663.pn, %2211 ], [ %.pn660.pn, %2191 ], [ %.pn657.pn, %2173 ], [ %.pn654.pn, %2156 ], [ %.pn651.pn, %2137 ], [ %.pn648.pn, %2118 ], [ %.pn645.pn, %2100 ], [ %.pn642.pn, %2081 ], [ %.pn812.pn, %3227 ], [ %.pn809.pn, %3209 ], [ %.pn806.pn, %3192 ], [ %.pn803.pn, %3174 ], [ %.pn800.pn, %3157 ], [ %.pn797.pn, %3139 ], [ %.pn794.pn, %3122 ], [ %.pn791.pn, %3104 ], [ %.pn788.pn, %3086 ], [ %.pn785.pn, %3069 ], [ %.pn782.pn, %3051 ], [ %.pn779.pn, %3034 ], [ %.pn776.pn, %3017 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %200) #9
  br label %3247

3247:                                             ; preds = %776, %794, %811, %829, %846, %864, %881, %899, %916, %934, %978, %1006, %1024, %1043, %1066, %1091, %1116, %3246, %1523, %1499, %1454, %1436, %1419, %1401, %1384, %1366, %1349, %1331, %1314, %1296, %1278, %1261, %1243, %1226, %1208, %1191, %1173, %1156, %1139, %755, %732, %704, %684, %642
  %.pn812.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn434.pn.pn, %755 ], [ %.pn431.pn, %732 ], [ %.pn428.pn, %704 ], [ %.pn425.pn, %684 ], [ %.pn422.pn, %642 ], [ %.pn488.pn.pn, %1116 ], [ %.pn484.pn.pn, %1091 ], [ %.pn480.pn.pn, %1066 ], [ %.pn477.pn, %1043 ], [ %.pn474.pn, %1024 ], [ %.pn471.pn, %1006 ], [ %.pn468.pn, %978 ], [ %.pn465.pn, %934 ], [ %.pn462.pn, %916 ], [ %.pn459.pn, %899 ], [ %.pn456.pn, %881 ], [ %.pn453.pn, %864 ], [ %.pn450.pn, %846 ], [ %.pn447.pn, %829 ], [ %.pn444.pn, %811 ], [ %.pn441.pn, %794 ], [ %.pn438.pn, %776 ], [ %.pn812.pn.pn.pn.pn.pn, %3246 ], [ %.pn552.pn, %1523 ], [ %.pn549.pn, %1499 ], [ %.pn546.pn, %1454 ], [ %.pn543.pn, %1436 ], [ %.pn540.pn, %1419 ], [ %.pn537.pn, %1401 ], [ %.pn534.pn, %1384 ], [ %.pn531.pn, %1366 ], [ %.pn528.pn, %1349 ], [ %.pn525.pn, %1331 ], [ %.pn522.pn, %1314 ], [ %.pn519.pn, %1296 ], [ %.pn516.pn, %1278 ], [ %.pn513.pn, %1261 ], [ %.pn510.pn, %1243 ], [ %.pn507.pn, %1226 ], [ %.pn504.pn, %1208 ], [ %.pn501.pn, %1191 ], [ %.pn498.pn, %1173 ], [ %.pn495.pn, %1156 ], [ %.pn492.pn, %1139 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #9
  br label %3248

3248:                                             ; preds = %552, %577, %595, %606, %3247, %623, %571, %553, %546
  %.pn812.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %547, %546 ], [ %.pn, %552 ], [ %.pn408.pn.pn, %571 ], [ %554, %553 ], [ %.pn412.pn.pn, %595 ], [ %578, %577 ], [ %.pn812.pn.pn.pn.pn.pn.pn.pn.pn, %3247 ], [ %.pn418.pn.pn, %623 ], [ %.pn416, %606 ]
  call void @llvm.lifetime.end.p0(i64 104, ptr nonnull %2) #9
  resume { ptr, i32 } %.pn812.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

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

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

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

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

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

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

declare void @_ZN7cascadb6LayoutC1EPNS_7AIOFileEmRKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(600), ptr noundef, i64 noundef, ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #5

declare noundef zeroext i1 @_ZN7cascadb6Layout4initEb(ptr noundef nonnull align 8 dereferenceable(600), i1 noundef zeroext) local_unnamed_addr #5

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

declare void @_ZN7testing8internal30GetBoolAssertionFailureMessageERKNS_15AssertionResultEPKcS5_S5_(ptr dead_on_unwind writable sret(%"class.testing::internal::String") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #5

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

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

declare void @_ZN7cascadb5CacheC1ERKNS_7OptionsE(ptr noundef nonnull align 8 dereferenceable(432), ptr noundef nonnull align 8 dereferenceable(101)) unnamed_addr #5

declare noundef zeroext i1 @_ZN7cascadb5Cache4initEv(ptr noundef nonnull align 8 dereferenceable(432)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN7cascadb4TreeC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_7OptionsEPNS_5CacheEPNS_6LayoutE(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(101), ptr noundef, ptr noundef) unnamed_addr #4 align 2

declare noundef zeroext i1 @_ZN7cascadb4Tree4initEv(ptr noundef nonnull align 8 dereferenceable(184)) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN7cascadb9InnerNode3putENS_5SliceES1_(ptr noundef nonnull align 8 dereferenceable(312), ptr, i32, ptr, i32) local_unnamed_addr #4 align 2

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

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

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

declare noundef ptr @_ZN7cascadb4Tree9load_nodeEmb(ptr noundef nonnull align 8 dereferenceable(184), i64 noundef, i1 noundef zeroext) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i64 @_ZN7cascadb13RecordBuckets4sizeEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN7cascadb13RecordBucketsixEm(ptr noundef nonnull align 8 dereferenceable(56), i64 noundef) local_unnamed_addr #8 align 2

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(40) ptr @_ZNK7cascadb6MsgBuf3getEm(ptr noundef nonnull align 8 dereferenceable(104), i64 noundef) local_unnamed_addr #4 align 2

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

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

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

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

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

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

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

attributes #0 = { 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 #1 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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 #8 = { 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 #9 = { nounwind }
attributes #10 = { builtin allocsize(0) }
attributes #11 = { builtin 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, !7, i64 8}
!6 = !{!"_ZTSN7cascadb7OptionsE", !7, i64 0, !7, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !11, i64 72, !11, i64 76, !11, i64 80, !11, i64 84, !11, i64 88, !11, i64 92, !12, i64 96, !13, i64 100}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"long", !8, i64 0}
!11 = !{!"int", !8, i64 0}
!12 = !{!"_ZTSN7cascadb8CompressE", !8, i64 0}
!13 = !{!"bool", !8, i64 0}
!14 = !{!6, !10, i64 48}
!15 = !{!6, !10, i64 24}
!16 = !{!6, !10, i64 56}
!17 = !{!18, !18, i64 0}
!18 = !{!"vtable pointer", !9, i64 0}
!19 = !{!20, !7, i64 176}
!20 = !{!"_ZTSN7cascadb4TreeE", !21, i64 0, !6, i64 32, !7, i64 136, !7, i64 144, !7, i64 152, !7, i64 160, !7, i64 168, !7, i64 176}
!21 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !22, i64 0, !10, i64 8, !8, i64 16}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!23 = !{!7, !7, i64 0}
!24 = !{!10, !10, i64 0}
!25 = !{!11, !11, i64 0}
!26 = !{!27, !7, i64 224}
!27 = !{!"_ZTSN7cascadb9InnerNodeE", !28, i64 0, !13, i64 212, !10, i64 216, !7, i64 224, !34, i64 232, !11, i64 248, !11, i64 252, !11, i64 256, !35, i64 260, !36, i64 264, !10, i64 288, !10, i64 296, !10, i64 304}
!28 = !{!"_ZTSN7cascadb8DataNodeE", !29, i64 0, !7, i64 200, !33, i64 208}
!29 = !{!"_ZTSN7cascadb4NodeE", !21, i64 8, !10, i64 40, !30, i64 48, !13, i64 96, !13, i64 97, !13, i64 98, !31, i64 104, !31, i64 120, !11, i64 136, !11, i64 140, !32, i64 144}
!30 = !{!"_ZTSN7cascadb5MutexE", !13, i64 0, !8, i64 8}
!31 = !{!"_ZTS7timeval", !10, i64 0, !10, i64 8}
!32 = !{!"_ZTSN7cascadb6RWLockE", !8, i64 0}
!33 = !{!"_ZTSN7cascadb10NodeStatusE", !8, i64 0}
!34 = !{!"_ZTSN7cascadb5SliceE", !7, i64 0, !11, i64 8}
!35 = !{!"short", !8, i64 0}
!36 = !{!"_ZTSSt6vectorIN7cascadb5PivotESaIS1_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseIN7cascadb5PivotESaIS1_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseIN7cascadb5PivotESaIS1_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseIN7cascadb5PivotESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!40 = !{!27, !10, i64 216}
!41 = !{!42, !10, i64 32}
!42 = !{!"_ZTSN7cascadb5PivotE", !34, i64 0, !34, i64 16, !10, i64 32, !7, i64 40, !11, i64 48, !11, i64 52, !11, i64 56, !35, i64 60}
!43 = !{!42, !7, i64 40}
!44 = !{!29, !10, i64 40}
!45 = !{!46, !46, i64 0}
!46 = !{!"_ZTSN7cascadb7MsgTypeE", !8, i64 0}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass