; LLVM IR from ERGO-Code/HiGHS :: src/mip (HighsDomain)

; 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"

%"struct.HighsDomain::ConflictSet::LocalDomChg" = type { i32, %struct.HighsDomainChange }
%struct.HighsDomainChange = type { double, i32, i32 }
%class.HighsCDouble = type { double, double }
%"struct.std::pair" = type { i32, i32 }
%"class.HighsDomain::ConflictSet" = type { ptr, ptr, %"class.std::set.374", %"class.std::set.374", %"class.std::vector.380", %"class.std::vector.385", %"class.std::vector.390" }
%"class.std::set.374" = type { %"class.std::_Rb_tree.375" }
%"class.std::_Rb_tree.375" = type { %"struct.std::_Rb_tree<HighsDomain::ConflictSet::LocalDomChg, HighsDomain::ConflictSet::LocalDomChg, std::_Identity<HighsDomain::ConflictSet::LocalDomChg>, std::less<HighsDomain::ConflictSet::LocalDomChg>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<HighsDomain::ConflictSet::LocalDomChg, HighsDomain::ConflictSet::LocalDomChg, std::_Identity<HighsDomain::ConflictSet::LocalDomChg>, std::less<HighsDomain::ConflictSet::LocalDomChg>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.380" = type { %"struct.std::_Vector_base.381" }
%"struct.std::_Vector_base.381" = type { %"struct.std::_Vector_base<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>, std::allocator<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>, std::allocator<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>, std::allocator<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>, std::allocator<std::_Rb_tree_const_iterator<HighsDomain::ConflictSet::LocalDomChg>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.385" = type { %"struct.std::_Vector_base.386" }
%"struct.std::_Vector_base.386" = type { %"struct.std::_Vector_base<HighsDomain::ConflictSet::LocalDomChg, std::allocator<HighsDomain::ConflictSet::LocalDomChg>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ConflictSet::LocalDomChg, std::allocator<HighsDomain::ConflictSet::LocalDomChg>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ConflictSet::LocalDomChg, std::allocator<HighsDomain::ConflictSet::LocalDomChg>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ConflictSet::LocalDomChg, std::allocator<HighsDomain::ConflictSet::LocalDomChg>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.390" = type { %"struct.std::_Vector_base.391" }
%"struct.std::_Vector_base.391" = type { %"struct.std::_Vector_base<HighsDomain::ConflictSet::ResolveCandidate, std::allocator<HighsDomain::ConflictSet::ResolveCandidate>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ConflictSet::ResolveCandidate, std::allocator<HighsDomain::ConflictSet::ResolveCandidate>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ConflictSet::ResolveCandidate, std::allocator<HighsDomain::ConflictSet::ResolveCandidate>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ConflictSet::ResolveCandidate, std::allocator<HighsDomain::ConflictSet::ResolveCandidate>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsDomain = type { %"class.std::vector", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.13", %"class.std::vector.18", %"class.std::vector.23", %"class.std::vector.28", %"class.std::vector.28", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector", %"class.std::vector.3", %"struct.HighsDomain::ObjectivePropagation", ptr, %"class.std::deque", %"class.std::deque.51", i8, %"struct.HighsDomain::Reason", i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %class.HighsHashTable, i8, %"class.std::vector.33", %"class.std::vector.33" }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<HighsDomain::Reason, std::allocator<HighsDomain::Reason>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::Reason, std::allocator<HighsDomain::Reason>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::Reason, std::allocator<HighsDomain::Reason>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::Reason, std::allocator<HighsDomain::Reason>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = type { %"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.28" = type { %"struct.std::_Vector_base.29" }
%"struct.std::_Vector_base.29" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsDomain::ObjectivePropagation" = type { ptr, ptr, ptr, %class.HighsCDouble, i32, double, i8, %"class.std::vector.38", %"class.std::vector.8", %"class.std::vector.33", %"class.std::vector.43" }
%"class.std::vector.38" = type { %"struct.std::_Vector_base.39" }
%"struct.std::_Vector_base.39" = type { %"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::ObjectiveContribution, std::allocator<HighsDomain::ObjectivePropagation::ObjectiveContribution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::ObjectiveContribution, std::allocator<HighsDomain::ObjectivePropagation::ObjectiveContribution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::ObjectiveContribution, std::allocator<HighsDomain::ObjectivePropagation::ObjectiveContribution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::ObjectiveContribution, std::allocator<HighsDomain::ObjectivePropagation::ObjectiveContribution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.43" = type { %"struct.std::_Vector_base.44" }
%"struct.std::_Vector_base.44" = type { %"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::PartitionCliqueData, std::allocator<HighsDomain::ObjectivePropagation::PartitionCliqueData>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::PartitionCliqueData, std::allocator<HighsDomain::ObjectivePropagation::PartitionCliqueData>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::PartitionCliqueData, std::allocator<HighsDomain::ObjectivePropagation::PartitionCliqueData>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ObjectivePropagation::PartitionCliqueData, std::allocator<HighsDomain::ObjectivePropagation::PartitionCliqueData>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::deque" = type { %"class.std::_Deque_base" }
%"class.std::_Deque_base" = type { %"struct.std::_Deque_base<HighsDomain::CutpoolPropagation, std::allocator<HighsDomain::CutpoolPropagation>>::_Deque_impl" }
%"struct.std::_Deque_base<HighsDomain::CutpoolPropagation, std::allocator<HighsDomain::CutpoolPropagation>>::_Deque_impl" = type { %"struct.std::_Deque_base<HighsDomain::CutpoolPropagation, std::allocator<HighsDomain::CutpoolPropagation>>::_Deque_impl_data" }
%"struct.std::_Deque_base<HighsDomain::CutpoolPropagation, std::allocator<HighsDomain::CutpoolPropagation>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator", %"struct.std::_Deque_iterator" }
%"struct.std::_Deque_iterator" = type { ptr, ptr, ptr, ptr }
%"class.std::deque.51" = type { %"class.std::_Deque_base.52" }
%"class.std::_Deque_base.52" = type { %"struct.std::_Deque_base<HighsDomain::ConflictPoolPropagation, std::allocator<HighsDomain::ConflictPoolPropagation>>::_Deque_impl" }
%"struct.std::_Deque_base<HighsDomain::ConflictPoolPropagation, std::allocator<HighsDomain::ConflictPoolPropagation>>::_Deque_impl" = type { %"struct.std::_Deque_base<HighsDomain::ConflictPoolPropagation, std::allocator<HighsDomain::ConflictPoolPropagation>>::_Deque_impl_data" }
%"struct.std::_Deque_base<HighsDomain::ConflictPoolPropagation, std::allocator<HighsDomain::ConflictPoolPropagation>>::_Deque_impl_data" = type { ptr, i64, %"struct.std::_Deque_iterator.56", %"struct.std::_Deque_iterator.56" }
%"struct.std::_Deque_iterator.56" = type { ptr, ptr, ptr, ptr }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable = type { %"class.std::unique_ptr", %"class.std::unique_ptr.59", i64, i64, i64 }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.58" }
%"struct.std::_Head_base.58" = type { ptr }
%"class.std::unique_ptr.59" = type { %"struct.std::__uniq_ptr_data.60" }
%"struct.std::__uniq_ptr_data.60" = type { %"class.std::__uniq_ptr_impl.61" }
%"class.std::__uniq_ptr_impl.61" = type { %"class.std::tuple.62" }
%"class.std::tuple.62" = type { %"struct.std::_Tuple_impl.63" }
%"struct.std::_Tuple_impl.63" = type { %"struct.std::_Head_base.66" }
%"struct.std::_Head_base.66" = type { ptr }
%"class.std::vector.33" = type { %"struct.std::_Vector_base.34" }
%"struct.std::_Vector_base.34" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsMipSolver = type { ptr, ptr, ptr, ptr, i32, %"class.std::vector.33", double, double, double, double, double, double, double, i64, i64, double, ptr, %"class.std::vector.67", i8, i32, i32, ptr, ptr, ptr, ptr, %"class.std::unique_ptr.72", %class.HighsMipAnalysis, %class.HighsTimer }
%"class.std::vector.67" = type { %"struct.std::_Vector_base.68" }
%"struct.std::_Vector_base.68" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unique_ptr.72" = type { %"struct.std::__uniq_ptr_data.73" }
%"struct.std::__uniq_ptr_data.73" = type { %"class.std::__uniq_ptr_impl.74" }
%"class.std::__uniq_ptr_impl.74" = type { %"class.std::tuple.75" }
%"class.std::tuple.75" = type { %"struct.std::_Tuple_impl.76" }
%"struct.std::_Tuple_impl.76" = type { %"struct.std::_Head_base.79" }
%"struct.std::_Head_base.79" = type { ptr }
%class.HighsMipAnalysis = type { ptr, %"class.std::__cxx11::basic_string", %struct.HighsTimerClock, i8, %"class.std::vector.33", %"class.std::vector.33" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%struct.HighsTimerClock = type { ptr, %"class.std::vector.3" }
%class.HighsTimer = type <{ ptr, double, i32, [4 x i8], %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.80", i32, i32, i32, [4 x i8] }>
%"class.std::vector.80" = type { %"struct.std::_Vector_base.81" }
%"struct.std::_Vector_base.81" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsDomain::CutpoolPropagation" = type { i32, ptr, ptr, %"class.std::vector.28", %"class.std::vector.3", %"class.std::vector", %"class.std::vector.3", %"class.std::vector.33" }
%"struct.HighsDomain::ConflictPoolPropagation" = type { i32, ptr, ptr, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector", %"class.std::vector.3", %"class.std::vector.142" }
%"class.std::vector.142" = type { %"struct.std::_Vector_base.143" }
%"struct.std::_Vector_base.143" = type { %"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation::WatchedLiteral, std::allocator<HighsDomain::ConflictPoolPropagation::WatchedLiteral>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation::WatchedLiteral, std::allocator<HighsDomain::ConflictPoolPropagation::WatchedLiteral>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation::WatchedLiteral, std::allocator<HighsDomain::ConflictPoolPropagation::WatchedLiteral>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation::WatchedLiteral, std::allocator<HighsDomain::ConflictPoolPropagation::WatchedLiteral>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.52 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [32 x i8], align 1
@__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_ = external hidden unnamed_addr constant [94 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [131 x i8], align 1

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1

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

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #3

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsDomain18computeMinActivityEiiPKiPKdRiR12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(16)) #4 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsDomain20ObjectivePropagation24getPropagationConstraintEiRPKdRPKiRiRdi(ptr noundef nonnull align 8 dereferenceable(160), i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getColLowerPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getColUpperPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80), i64 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80), i64 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK14HighsMipSolver8rowLowerEi(ptr noundef nonnull align 8 dereferenceable(496), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK14HighsMipSolver8rowUpperEi(ptr noundef nonnull align 8 dereferenceable(496), i32 noundef) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK11HighsDomain17getMinCutActivityERK12HighsCutPooli(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(680), i32 noundef) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeGeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef) #4 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getMaxActivityEi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getMinActivityEi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK12HighsCutPool6getCutEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(680), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef byval(%"struct.HighsDomain::ConflictSet::LocalDomChg") align 8 %2) #4 align 2 {
  %4 = alloca i1, align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %"struct.HighsDomain::ConflictSet::LocalDomChg", align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca double, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca double, align 8
  %21 = alloca i32, align 4
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca double, align 8
  %25 = alloca i32, align 4
  %26 = alloca %class.HighsCDouble, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca double, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca %"struct.std::pair", align 4
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  %39 = load ptr, ptr %5, align 8
  %40 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %41 = load ptr, ptr %40, align 8, !tbaa !9
  %42 = getelementptr inbounds %class.HighsDomain, ptr %41, i32 0, i32 4
  %43 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %44 = load i32, ptr %43, align 8, !tbaa !32
  %45 = sext i32 %44 to i64
  %46 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %45) #5
  %47 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %46, i32 0, i32 0
  %48 = load i32, ptr %47, align 4, !tbaa !38
  switch i32 %48, label %259 [
    i32 -2, label %49
    i32 -1, label %49
    i32 -6, label %49
    i32 -5, label %50
    i32 -4, label %161
    i32 -3, label %194
    i32 -7, label %227
  ]

49:                                               ; preds = %3, %3, %3
  store i1 false, ptr %4, align 1
  br label %451

50:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #5
  %51 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %52 = load ptr, ptr %51, align 8, !tbaa !9
  %53 = getelementptr inbounds %class.HighsDomain, ptr %52, i32 0, i32 4
  %54 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %55 = load i32, ptr %54, align 8, !tbaa !32
  %56 = sext i32 %55 to i64
  %57 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %56) #5
  %58 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %57, i32 0, i32 1
  %59 = load i32, ptr %58, align 4, !tbaa !40
  %60 = ashr i32 %59, 1
  store i32 %60, ptr %7, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #5
  %61 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %62 = load ptr, ptr %61, align 8, !tbaa !9
  %63 = getelementptr inbounds %class.HighsDomain, ptr %62, i32 0, i32 4
  %64 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %65 = load i32, ptr %64, align 8, !tbaa !32
  %66 = sext i32 %65 to i64
  %67 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %63, i64 noundef %66) #5
  %68 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %67, i32 0, i32 1
  %69 = load i32, ptr %68, align 4, !tbaa !40
  %70 = and i32 %69, 1
  store i32 %70, ptr %8, align 4, !tbaa !41
  %71 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 5
  call void @_ZNSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %71) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #5
  %72 = load i32, ptr %8, align 4, !tbaa !41
  %73 = icmp ne i32 %72, 0
  br i1 %73, label %74, label %110

74:                                               ; preds = %50
  %75 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %76 = load ptr, ptr %75, align 8, !tbaa !9
  %77 = getelementptr inbounds %class.HighsDomain, ptr %76, i32 0, i32 20
  %78 = load i32, ptr %7, align 4, !tbaa !41
  %79 = sext i32 %78 to i64
  %80 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %77, i64 noundef %79) #5
  %81 = load i32, ptr %80, align 4, !tbaa !41
  %82 = icmp sge i32 %81, 0
  br i1 %82, label %83, label %84

83:                                               ; preds = %74
  br label %86

84:                                               ; preds = %74
  call void @__assert_fail(ptr noundef @.str.100, ptr noundef @.str.52, i32 noundef 3420, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

85:                                               ; No predecessors!
  br label %86

86:                                               ; preds = %85, %83
  %87 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %88 = load ptr, ptr %87, align 8, !tbaa !9
  %89 = getelementptr inbounds %class.HighsDomain, ptr %88, i32 0, i32 20
  %90 = load i32, ptr %7, align 4, !tbaa !41
  %91 = sext i32 %90 to i64
  %92 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %91) #5
  %93 = load i32, ptr %92, align 4, !tbaa !41
  %94 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %95 = load ptr, ptr %94, align 8, !tbaa !9
  %96 = getelementptr inbounds %class.HighsDomain, ptr %95, i32 0, i32 3
  %97 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %96) #5
  %98 = trunc i64 %97 to i32
  %99 = icmp slt i32 %93, %98
  br i1 %99, label %100, label %101

100:                                              ; preds = %86
  br label %103

101:                                              ; preds = %86
  call void @__assert_fail(ptr noundef @.str.101, ptr noundef @.str.52, i32 noundef 3422, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

102:                                              ; No predecessors!
  br label %103

103:                                              ; preds = %102, %100
  %104 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %105 = load ptr, ptr %104, align 8, !tbaa !9
  %106 = load i32, ptr %7, align 4, !tbaa !41
  %107 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %108 = load i32, ptr %107, align 8, !tbaa !32
  %109 = call noundef double @_ZNK11HighsDomain14getColLowerPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824) %105, i32 noundef %106, i32 noundef %108, ptr noundef nonnull align 4 dereferenceable(4) %9)
  br label %146

110:                                              ; preds = %50
  %111 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %112 = load ptr, ptr %111, align 8, !tbaa !9
  %113 = getelementptr inbounds %class.HighsDomain, ptr %112, i32 0, i32 21
  %114 = load i32, ptr %7, align 4, !tbaa !41
  %115 = sext i32 %114 to i64
  %116 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %113, i64 noundef %115) #5
  %117 = load i32, ptr %116, align 4, !tbaa !41
  %118 = icmp sge i32 %117, 0
  br i1 %118, label %119, label %120

119:                                              ; preds = %110
  br label %122

120:                                              ; preds = %110
  call void @__assert_fail(ptr noundef @.str.102, ptr noundef @.str.52, i32 noundef 3426, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

121:                                              ; No predecessors!
  br label %122

122:                                              ; preds = %121, %119
  %123 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %124 = load ptr, ptr %123, align 8, !tbaa !9
  %125 = getelementptr inbounds %class.HighsDomain, ptr %124, i32 0, i32 21
  %126 = load i32, ptr %7, align 4, !tbaa !41
  %127 = sext i32 %126 to i64
  %128 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %125, i64 noundef %127) #5
  %129 = load i32, ptr %128, align 4, !tbaa !41
  %130 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %131 = load ptr, ptr %130, align 8, !tbaa !9
  %132 = getelementptr inbounds %class.HighsDomain, ptr %131, i32 0, i32 3
  %133 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %132) #5
  %134 = trunc i64 %133 to i32
  %135 = icmp slt i32 %129, %134
  br i1 %135, label %136, label %137

136:                                              ; preds = %122
  br label %139

137:                                              ; preds = %122
  call void @__assert_fail(ptr noundef @.str.103, ptr noundef @.str.52, i32 noundef 3428, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

138:                                              ; No predecessors!
  br label %139

139:                                              ; preds = %138, %136
  %140 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %141 = load ptr, ptr %140, align 8, !tbaa !9
  %142 = load i32, ptr %7, align 4, !tbaa !41
  %143 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %144 = load i32, ptr %143, align 8, !tbaa !32
  %145 = call noundef double @_ZNK11HighsDomain14getColUpperPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824) %141, i32 noundef %142, i32 noundef %144, ptr noundef nonnull align 4 dereferenceable(4) %9)
  br label %146

146:                                              ; preds = %139, %103
  %147 = load i32, ptr %9, align 4, !tbaa !41
  %148 = icmp ne i32 %147, -1
  br i1 %148, label %149, label %160

149:                                              ; preds = %146
  %150 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 5
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #5
  %151 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %10, i32 0, i32 0
  %152 = load i32, ptr %9, align 4, !tbaa !41
  store i32 %152, ptr %151, align 8, !tbaa !32
  %153 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %10, i32 0, i32 1
  %154 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %155 = load ptr, ptr %154, align 8, !tbaa !9
  %156 = getelementptr inbounds %class.HighsDomain, ptr %155, i32 0, i32 3
  %157 = load i32, ptr %9, align 4, !tbaa !41
  %158 = sext i32 %157 to i64
  %159 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI17HighsDomainChangeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %156, i64 noundef %158) #5
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %153, ptr align 8 %159, i64 16, i1 false), !tbaa.struct !42
  call void @_ZNSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %150, ptr noundef nonnull align 8 dereferenceable(24) %10)
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #5
  br label %160

160:                                              ; preds = %149, %146
  store i1 true, ptr %4, align 1
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #5
  br label %451

161:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #5
  %162 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %163 = load ptr, ptr %162, align 8, !tbaa !9
  %164 = getelementptr inbounds %class.HighsDomain, ptr %163, i32 0, i32 4
  %165 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %166 = load i32, ptr %165, align 8, !tbaa !32
  %167 = sext i32 %166 to i64
  %168 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %164, i64 noundef %167) #5
  %169 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %168, i32 0, i32 1
  %170 = load i32, ptr %169, align 4, !tbaa !40
  store i32 %170, ptr %11, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #5
  %171 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %172 = load ptr, ptr %171, align 8, !tbaa !9
  %173 = getelementptr inbounds %class.HighsDomain, ptr %172, i32 0, i32 14
  %174 = load ptr, ptr %173, align 8, !tbaa !45
  %175 = getelementptr inbounds %class.HighsMipSolver, ptr %174, i32 0, i32 25
  %176 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %175) #5
  %177 = load i32, ptr %11, align 4, !tbaa !41
  call void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801) %176, i32 noundef %177, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14)
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #5
  %178 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 1
  %179 = load ptr, ptr %178, align 8, !tbaa !113
  %180 = load i32, ptr %11, align 4, !tbaa !41
  %181 = call noundef double @_ZNK11HighsDomain14getMaxActivityEi(ptr noundef nonnull align 8 dereferenceable(824) %179, i32 noundef %180)
  store double %181, ptr %15, align 8, !tbaa !43
  %182 = load ptr, ptr %6, align 8, !tbaa !5
  %183 = load ptr, ptr %13, align 8, !tbaa !5
  %184 = load ptr, ptr %14, align 8, !tbaa !5
  %185 = load i32, ptr %12, align 4, !tbaa !41
  %186 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %187 = load ptr, ptr %186, align 8, !tbaa !9
  %188 = getelementptr inbounds %class.HighsDomain, ptr %187, i32 0, i32 14
  %189 = load ptr, ptr %188, align 8, !tbaa !45
  %190 = load i32, ptr %11, align 4, !tbaa !41
  %191 = call noundef double @_ZNK14HighsMipSolver8rowLowerEi(ptr noundef nonnull align 8 dereferenceable(496) %189, i32 noundef %190)
  %192 = load double, ptr %15, align 8, !tbaa !43
  %193 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeGeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %39, ptr noundef nonnull align 8 dereferenceable(48) %182, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %183, ptr noundef %184, i32 noundef %185, double noundef %191, double noundef %192)
  store i1 %193, ptr %4, align 1
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #5
  br label %451

194:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #5
  %195 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %196 = load ptr, ptr %195, align 8, !tbaa !9
  %197 = getelementptr inbounds %class.HighsDomain, ptr %196, i32 0, i32 4
  %198 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %199 = load i32, ptr %198, align 8, !tbaa !32
  %200 = sext i32 %199 to i64
  %201 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %197, i64 noundef %200) #5
  %202 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %201, i32 0, i32 1
  %203 = load i32, ptr %202, align 4, !tbaa !40
  store i32 %203, ptr %16, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #5
  %204 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %205 = load ptr, ptr %204, align 8, !tbaa !9
  %206 = getelementptr inbounds %class.HighsDomain, ptr %205, i32 0, i32 14
  %207 = load ptr, ptr %206, align 8, !tbaa !45
  %208 = getelementptr inbounds %class.HighsMipSolver, ptr %207, i32 0, i32 25
  %209 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %208) #5
  %210 = load i32, ptr %16, align 4, !tbaa !41
  call void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801) %209, i32 noundef %210, ptr noundef nonnull align 4 dereferenceable(4) %17, ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19)
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #5
  %211 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 1
  %212 = load ptr, ptr %211, align 8, !tbaa !113
  %213 = load i32, ptr %16, align 4, !tbaa !41
  %214 = call noundef double @_ZNK11HighsDomain14getMinActivityEi(ptr noundef nonnull align 8 dereferenceable(824) %212, i32 noundef %213)
  store double %214, ptr %20, align 8, !tbaa !43
  %215 = load ptr, ptr %6, align 8, !tbaa !5
  %216 = load ptr, ptr %18, align 8, !tbaa !5
  %217 = load ptr, ptr %19, align 8, !tbaa !5
  %218 = load i32, ptr %17, align 4, !tbaa !41
  %219 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %220 = load ptr, ptr %219, align 8, !tbaa !9
  %221 = getelementptr inbounds %class.HighsDomain, ptr %220, i32 0, i32 14
  %222 = load ptr, ptr %221, align 8, !tbaa !45
  %223 = load i32, ptr %16, align 4, !tbaa !41
  %224 = call noundef double @_ZNK14HighsMipSolver8rowUpperEi(ptr noundef nonnull align 8 dereferenceable(496) %222, i32 noundef %223)
  %225 = load double, ptr %20, align 8, !tbaa !43
  %226 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %39, ptr noundef nonnull align 8 dereferenceable(48) %215, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %216, ptr noundef %217, i32 noundef %218, double noundef %224, double noundef %225)
  store i1 %226, ptr %4, align 1
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #5
  br label %451

227:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #5
  %228 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %229 = load ptr, ptr %228, align 8, !tbaa !9
  %230 = getelementptr inbounds %class.HighsDomain, ptr %229, i32 0, i32 13
  %231 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %232 = load i32, ptr %231, align 8, !tbaa !32
  %233 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 1
  %234 = getelementptr inbounds %struct.HighsDomainChange, ptr %233, i32 0, i32 1
  %235 = load i32, ptr %234, align 8, !tbaa !114
  call void @_ZN11HighsDomain20ObjectivePropagation24getPropagationConstraintEiRPKdRPKiRiRdi(ptr noundef nonnull align 8 dereferenceable(160) %230, i32 noundef %232, ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 8 dereferenceable(8) %24, i32 noundef %235)
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #5
  %236 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 1
  %237 = load ptr, ptr %236, align 8, !tbaa !113
  %238 = load i32, ptr %21, align 4, !tbaa !41
  %239 = load ptr, ptr %22, align 8, !tbaa !5
  %240 = load ptr, ptr %23, align 8, !tbaa !5
  call void @_ZN11HighsDomain18computeMinActivityEiiPKiPKdRiR12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(824) %237, i32 noundef 0, i32 noundef %238, ptr noundef %239, ptr noundef %240, ptr noundef nonnull align 4 dereferenceable(4) %25, ptr noundef nonnull align 8 dereferenceable(16) %26)
  %241 = load i32, ptr %25, align 4, !tbaa !41
  %242 = icmp sle i32 %241, 1
  br i1 %242, label %243, label %244

243:                                              ; preds = %227
  br label %246

244:                                              ; preds = %227
  call void @__assert_fail(ptr noundef @.str.104, ptr noundef @.str.52, i32 noundef 3481, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

245:                                              ; No predecessors!
  br label %246

246:                                              ; preds = %245, %243
  %247 = load i32, ptr %25, align 4, !tbaa !41
  %248 = icmp eq i32 %247, 1
  br i1 %248, label %249, label %250

249:                                              ; preds = %246
  store i1 false, ptr %4, align 1
  store i32 1, ptr %27, align 4
  br label %258

250:                                              ; preds = %246
  %251 = load ptr, ptr %6, align 8, !tbaa !5
  %252 = load ptr, ptr %22, align 8, !tbaa !5
  %253 = load ptr, ptr %23, align 8, !tbaa !5
  %254 = load i32, ptr %21, align 4, !tbaa !41
  %255 = load double, ptr %24, align 8, !tbaa !43
  %256 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %26)
  %257 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %39, ptr noundef nonnull align 8 dereferenceable(48) %251, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %252, ptr noundef %253, i32 noundef %254, double noundef %255, double noundef %256)
  store i1 %257, ptr %4, align 1
  store i32 1, ptr %27, align 4
  br label %258

258:                                              ; preds = %250, %249
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  br label %451

259:                                              ; preds = %3
  %260 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %261 = load ptr, ptr %260, align 8, !tbaa !9
  %262 = getelementptr inbounds %class.HighsDomain, ptr %261, i32 0, i32 4
  %263 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %264 = load i32, ptr %263, align 8, !tbaa !32
  %265 = sext i32 %264 to i64
  %266 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %262, i64 noundef %265) #5
  %267 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %266, i32 0, i32 0
  %268 = load i32, ptr %267, align 4, !tbaa !38
  %269 = icmp sge i32 %268, 0
  br i1 %269, label %270, label %271

270:                                              ; preds = %259
  br label %273

271:                                              ; preds = %259
  call void @__assert_fail(ptr noundef @.str.105, ptr noundef @.str.52, i32 noundef 3490, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

272:                                              ; No predecessors!
  br label %273

273:                                              ; preds = %272, %270
  %274 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %275 = load ptr, ptr %274, align 8, !tbaa !9
  %276 = getelementptr inbounds %class.HighsDomain, ptr %275, i32 0, i32 4
  %277 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %278 = load i32, ptr %277, align 8, !tbaa !32
  %279 = sext i32 %278 to i64
  %280 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %276, i64 noundef %279) #5
  %281 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %280, i32 0, i32 0
  %282 = load i32, ptr %281, align 4, !tbaa !38
  %283 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %284 = load ptr, ptr %283, align 8, !tbaa !9
  %285 = getelementptr inbounds %class.HighsDomain, ptr %284, i32 0, i32 15
  %286 = call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %285) #5
  %287 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %288 = load ptr, ptr %287, align 8, !tbaa !9
  %289 = getelementptr inbounds %class.HighsDomain, ptr %288, i32 0, i32 16
  %290 = call noundef i64 @_ZNKSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %289) #5
  %291 = add i64 %286, %290
  %292 = trunc i64 %291 to i32
  %293 = icmp slt i32 %282, %292
  br i1 %293, label %294, label %295

294:                                              ; preds = %273
  br label %297

295:                                              ; preds = %273
  call void @__assert_fail(ptr noundef @.str.106, ptr noundef @.str.52, i32 noundef 3493, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

296:                                              ; No predecessors!
  br label %297

297:                                              ; preds = %296, %294
  %298 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %299 = load ptr, ptr %298, align 8, !tbaa !9
  %300 = getelementptr inbounds %class.HighsDomain, ptr %299, i32 0, i32 4
  %301 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %302 = load i32, ptr %301, align 8, !tbaa !32
  %303 = sext i32 %302 to i64
  %304 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %300, i64 noundef %303) #5
  %305 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %304, i32 0, i32 0
  %306 = load i32, ptr %305, align 4, !tbaa !38
  %307 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %308 = load ptr, ptr %307, align 8, !tbaa !9
  %309 = getelementptr inbounds %class.HighsDomain, ptr %308, i32 0, i32 15
  %310 = call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %309) #5
  %311 = trunc i64 %310 to i32
  %312 = icmp slt i32 %306, %311
  br i1 %312, label %313, label %372

313:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #5
  %314 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %315 = load ptr, ptr %314, align 8, !tbaa !9
  %316 = getelementptr inbounds %class.HighsDomain, ptr %315, i32 0, i32 4
  %317 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %318 = load i32, ptr %317, align 8, !tbaa !32
  %319 = sext i32 %318 to i64
  %320 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %319) #5
  %321 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %320, i32 0, i32 0
  %322 = load i32, ptr %321, align 4, !tbaa !38
  store i32 %322, ptr %28, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #5
  %323 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %324 = load ptr, ptr %323, align 8, !tbaa !9
  %325 = getelementptr inbounds %class.HighsDomain, ptr %324, i32 0, i32 4
  %326 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %327 = load i32, ptr %326, align 8, !tbaa !32
  %328 = sext i32 %327 to i64
  %329 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %325, i64 noundef %328) #5
  %330 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %329, i32 0, i32 1
  %331 = load i32, ptr %330, align 4, !tbaa !40
  store i32 %331, ptr %29, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #5
  %332 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %333 = load ptr, ptr %332, align 8, !tbaa !9
  %334 = getelementptr inbounds %class.HighsDomain, ptr %333, i32 0, i32 15
  %335 = load i32, ptr %28, align 4, !tbaa !41
  %336 = sext i32 %335 to i64
  %337 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %334, i64 noundef %336) #5
  %338 = getelementptr inbounds %"struct.HighsDomain::CutpoolPropagation", ptr %337, i32 0, i32 2
  %339 = load ptr, ptr %338, align 8, !tbaa !115
  %340 = load i32, ptr %29, align 4, !tbaa !41
  call void @_ZNK12HighsCutPool6getCutEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(680) %339, i32 noundef %340, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32)
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #5
  %341 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 1
  %342 = load ptr, ptr %341, align 8, !tbaa !113
  %343 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %344 = load ptr, ptr %343, align 8, !tbaa !9
  %345 = getelementptr inbounds %class.HighsDomain, ptr %344, i32 0, i32 15
  %346 = load i32, ptr %28, align 4, !tbaa !41
  %347 = sext i32 %346 to i64
  %348 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %345, i64 noundef %347) #5
  %349 = getelementptr inbounds %"struct.HighsDomain::CutpoolPropagation", ptr %348, i32 0, i32 2
  %350 = load ptr, ptr %349, align 8, !tbaa !115
  %351 = load i32, ptr %29, align 4, !tbaa !41
  %352 = call noundef double @_ZNK11HighsDomain17getMinCutActivityERK12HighsCutPooli(ptr noundef nonnull align 8 dereferenceable(824) %342, ptr noundef nonnull align 8 dereferenceable(680) %350, i32 noundef %351)
  store double %352, ptr %33, align 8, !tbaa !43
  %353 = load ptr, ptr %6, align 8, !tbaa !5
  %354 = load ptr, ptr %31, align 8, !tbaa !5
  %355 = load ptr, ptr %32, align 8, !tbaa !5
  %356 = load i32, ptr %30, align 4, !tbaa !41
  %357 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %358 = load ptr, ptr %357, align 8, !tbaa !9
  %359 = getelementptr inbounds %class.HighsDomain, ptr %358, i32 0, i32 15
  %360 = load i32, ptr %28, align 4, !tbaa !41
  %361 = sext i32 %360 to i64
  %362 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %359, i64 noundef %361) #5
  %363 = getelementptr inbounds %"struct.HighsDomain::CutpoolPropagation", ptr %362, i32 0, i32 2
  %364 = load ptr, ptr %363, align 8, !tbaa !115
  %365 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK12HighsCutPool6getRhsEv(ptr noundef nonnull align 8 dereferenceable(680) %364)
  %366 = load i32, ptr %29, align 4, !tbaa !41
  %367 = sext i32 %366 to i64
  %368 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %365, i64 noundef %367) #5
  %369 = load double, ptr %368, align 8, !tbaa !43
  %370 = load double, ptr %33, align 8, !tbaa !43
  %371 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %39, ptr noundef nonnull align 8 dereferenceable(48) %353, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %354, ptr noundef %355, i32 noundef %356, double noundef %369, double noundef %370)
  store i1 %371, ptr %4, align 1
  store i32 1, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #5
  br label %451

372:                                              ; preds = %297
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #5
  %373 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %374 = load ptr, ptr %373, align 8, !tbaa !9
  %375 = getelementptr inbounds %class.HighsDomain, ptr %374, i32 0, i32 4
  %376 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %377 = load i32, ptr %376, align 8, !tbaa !32
  %378 = sext i32 %377 to i64
  %379 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %375, i64 noundef %378) #5
  %380 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %379, i32 0, i32 0
  %381 = load i32, ptr %380, align 4, !tbaa !38
  %382 = sext i32 %381 to i64
  %383 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %384 = load ptr, ptr %383, align 8, !tbaa !9
  %385 = getelementptr inbounds %class.HighsDomain, ptr %384, i32 0, i32 15
  %386 = call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %385) #5
  %387 = sub i64 %382, %386
  %388 = trunc i64 %387 to i32
  store i32 %388, ptr %34, align 4, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #5
  %389 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %390 = load ptr, ptr %389, align 8, !tbaa !9
  %391 = getelementptr inbounds %class.HighsDomain, ptr %390, i32 0, i32 4
  %392 = getelementptr inbounds %"struct.HighsDomain::ConflictSet::LocalDomChg", ptr %2, i32 0, i32 0
  %393 = load i32, ptr %392, align 8, !tbaa !32
  %394 = sext i32 %393 to i64
  %395 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %391, i64 noundef %394) #5
  %396 = getelementptr inbounds %"struct.HighsDomain::Reason", ptr %395, i32 0, i32 1
  %397 = load i32, ptr %396, align 4, !tbaa !40
  store i32 %397, ptr %35, align 4, !tbaa !41
  %398 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %399 = load ptr, ptr %398, align 8, !tbaa !9
  %400 = getelementptr inbounds %class.HighsDomain, ptr %399, i32 0, i32 16
  %401 = load i32, ptr %34, align 4, !tbaa !41
  %402 = sext i32 %401 to i64
  %403 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %400, i64 noundef %402) #5
  %404 = getelementptr inbounds %"struct.HighsDomain::ConflictPoolPropagation", ptr %403, i32 0, i32 5
  %405 = load i32, ptr %35, align 4, !tbaa !41
  %406 = sext i32 %405 to i64
  %407 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %404, i64 noundef %406) #5
  %408 = load i8, ptr %407, align 1, !tbaa !117
  %409 = zext i8 %408 to i32
  %410 = and i32 %409, 8
  %411 = icmp ne i32 %410, 0
  br i1 %411, label %412, label %413

412:                                              ; preds = %372
  store i32 2, ptr %27, align 4
  br label %448

413:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #5
  %414 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %415 = load ptr, ptr %414, align 8, !tbaa !9
  %416 = getelementptr inbounds %class.HighsDomain, ptr %415, i32 0, i32 16
  %417 = load i32, ptr %34, align 4, !tbaa !41
  %418 = sext i32 %417 to i64
  %419 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %416, i64 noundef %418) #5
  %420 = getelementptr inbounds %"struct.HighsDomain::ConflictPoolPropagation", ptr %419, i32 0, i32 2
  %421 = load ptr, ptr %420, align 8, !tbaa !118
  %422 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17HighsConflictPool17getConflictRangesEv(ptr noundef nonnull align 8 dereferenceable(224) %421)
  %423 = load i32, ptr %35, align 4, !tbaa !41
  %424 = sext i32 %423 to i64
  %425 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNKSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %422, i64 noundef %424) #5
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %36, ptr align 4 %425, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #5
  %426 = getelementptr inbounds %"class.HighsDomain::ConflictSet", ptr %39, i32 0, i32 0
  %427 = load ptr, ptr %426, align 8, !tbaa !9
  %428 = getelementptr inbounds %class.HighsDomain, ptr %427, i32 0, i32 16
  %429 = load i32, ptr %34, align 4, !tbaa !41
  %430 = sext i32 %429 to i64
  %431 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %428, i64 noundef %430) #5
  %432 = getelementptr inbounds %"struct.HighsDomain::ConflictPoolPropagation", ptr %431, i32 0, i32 2
  %433 = load ptr, ptr %432, align 8, !tbaa !118
  %434 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17HighsConflictPool22getConflictEntryVectorEv(ptr noundef nonnull align 8 dereferenceable(224) %433)
  %435 = call noundef ptr @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %434) #5
  %436 = getelementptr inbounds %"struct.std::pair", ptr %36, i32 0, i32 0
  %437 = load i32, ptr %436, align 4, !tbaa !124
  %438 = sext i32 %437 to i64
  %439 = getelementptr inbounds %struct.HighsDomainChange, ptr %435, i64 %438
  store ptr %439, ptr %37, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #5
  %440 = getelementptr inbounds %"struct.std::pair", ptr %36, i32 0, i32 1
  %441 = load i32, ptr %440, align 4, !tbaa !126
  %442 = getelementptr inbounds %"struct.std::pair", ptr %36, i32 0, i32 0
  %443 = load i32, ptr %442, align 4, !tbaa !124
  %444 = sub nsw i32 %441, %443
  store i32 %444, ptr %38, align 4, !tbaa !41
  %445 = load ptr, ptr %37, align 8, !tbaa !5
  %446 = load i32, ptr %38, align 4, !tbaa !41
  %447 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet26explainBoundChangeConflictERKNS0_11LocalDomChgEPK17HighsDomainChangei(ptr noundef nonnull align 8 dereferenceable(184) %39, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %445, i32 noundef %446)
  store i1 %447, ptr %4, align 1
  store i32 1, ptr %27, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  br label %448

448:                                              ; preds = %413, %412
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  %449 = load i32, ptr %27, align 4
  switch i32 %449, label %453 [
    i32 2, label %450
    i32 1, label %451
  ]

450:                                              ; preds = %448
  store i1 false, ptr %4, align 1
  br label %451

451:                                              ; preds = %450, %448, %313, %258, %194, %161, %160, %49
  %452 = load i1, ptr %4, align 1
  ret i1 %452

453:                                              ; preds = %448
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet26explainBoundChangeConflictERKNS0_11LocalDomChgEPK17HighsDomainChangei(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef) #4 align 2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !6, i64 0}
!10 = !{!"_ZTSN11HighsDomain11ConflictSetE", !6, i64 0, !6, i64 8, !11, i64 16, !11, i64 64, !20, i64 112, !24, i64 136, !28, i64 160}
!11 = !{!"_ZTSSt3setIN11HighsDomain11ConflictSet11LocalDomChgESt4lessIS2_ESaIS2_EE", !12, i64 0}
!12 = !{!"_ZTSSt8_Rb_treeIN11HighsDomain11ConflictSet11LocalDomChgES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE", !13, i64 0}
!13 = !{!"_ZTSNSt8_Rb_treeIN11HighsDomain11ConflictSet11LocalDomChgES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13_Rb_tree_implIS6_Lb1EEE", !14, i64 0, !16, i64 8}
!14 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIN11HighsDomain11ConflictSet11LocalDomChgEEE", !15, i64 0}
!15 = !{!"_ZTSSt4lessIN11HighsDomain11ConflictSet11LocalDomChgEE"}
!16 = !{!"_ZTSSt15_Rb_tree_header", !17, i64 0, !19, i64 32}
!17 = !{!"_ZTSSt18_Rb_tree_node_base", !18, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!18 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!"_ZTSSt6vectorISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE", !21, i64 0}
!21 = !{!"_ZTSSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE12_Vector_implE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!24 = !{!"_ZTSSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!28 = !{!"_ZTSSt6vectorIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!33, !34, i64 0}
!33 = !{!"_ZTSN11HighsDomain11ConflictSet11LocalDomChgE", !34, i64 0, !35, i64 8}
!34 = !{!"int", !7, i64 0}
!35 = !{!"_ZTS17HighsDomainChange", !36, i64 0, !34, i64 8, !37, i64 12}
!36 = !{!"double", !7, i64 0}
!37 = !{!"_ZTS14HighsBoundType", !7, i64 0}
!38 = !{!39, !34, i64 0}
!39 = !{!"_ZTSN11HighsDomain6ReasonE", !34, i64 0, !34, i64 4}
!40 = !{!39, !34, i64 4}
!41 = !{!34, !34, i64 0}
!42 = !{i64 0, i64 8, !43, i64 8, i64 4, !41, i64 12, i64 4, !44}
!43 = !{!36, !36, i64 0}
!44 = !{!37, !37, i64 0}
!45 = !{!46, !6, i64 472}
!46 = !{!"_ZTS11HighsDomain", !47, i64 0, !51, i64 24, !55, i64 48, !59, i64 72, !63, i64 96, !67, i64 120, !71, i64 144, !71, i64 168, !51, i64 192, !51, i64 216, !75, i64 240, !47, i64 264, !51, i64 288, !79, i64 312, !6, i64 472, !90, i64 480, !95, i64 560, !81, i64 640, !39, i64 644, !34, i64 652, !51, i64 656, !51, i64 680, !51, i64 704, !100, i64 728, !81, i64 768, !75, i64 776, !75, i64 800}
!47 = !{!"_ZTSSt6vectorIhSaIhEE", !48, i64 0}
!48 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!51 = !{!"_ZTSSt6vectorIiSaIiEE", !52, i64 0}
!52 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!55 = !{!"_ZTSSt6vectorISt4pairIiiESaIS1_EE", !56, i64 0}
!56 = !{!"_ZTSSt12_Vector_baseISt4pairIiiESaIS1_EE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE12_Vector_implE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!59 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !60, i64 0}
!60 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!63 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!67 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!71 = !{!"_ZTSSt6vectorI12HighsCDoubleSaIS0_EE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseI12HighsCDoubleSaIS0_EE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!"_ZTSSt6vectorIdSaIdEE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!79 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !6, i64 0, !6, i64 8, !6, i64 16, !80, i64 24, !34, i64 40, !36, i64 48, !81, i64 56, !82, i64 64, !55, i64 88, !75, i64 112, !86, i64 136}
!80 = !{!"_ZTS12HighsCDouble", !36, i64 0, !36, i64 8}
!81 = !{!"bool", !7, i64 0}
!82 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !83, i64 0}
!83 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!86 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !87, i64 0}
!87 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !88, i64 0}
!88 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !89, i64 0}
!89 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!90 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !91, i64 0}
!91 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !92, i64 0}
!92 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !93, i64 0}
!93 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !19, i64 8, !94, i64 16, !94, i64 48}
!94 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!95 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !96, i64 0}
!96 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !97, i64 0}
!97 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !98, i64 0}
!98 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !19, i64 8, !99, i64 16, !99, i64 48}
!99 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!100 = !{!"_ZTS14HighsHashTableIivE", !101, i64 0, !107, i64 8, !19, i64 16, !19, i64 24, !19, i64 32}
!101 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !102, i64 0}
!102 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !103, i64 0}
!103 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !104, i64 0}
!104 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !105, i64 0}
!105 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !106, i64 0}
!106 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !6, i64 0}
!107 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !108, i64 0}
!108 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !109, i64 0}
!109 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !110, i64 0}
!110 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !111, i64 0}
!111 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !112, i64 0}
!112 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !6, i64 0}
!113 = !{!10, !6, i64 8}
!114 = !{!33, !34, i64 16}
!115 = !{!116, !6, i64 16}
!116 = !{!"_ZTSN11HighsDomain18CutpoolPropagationE", !34, i64 0, !6, i64 8, !6, i64 16, !71, i64 24, !51, i64 48, !47, i64 72, !51, i64 96, !75, i64 120}
!117 = !{!7, !7, i64 0}
!118 = !{!119, !6, i64 16}
!119 = !{!"_ZTSN11HighsDomain23ConflictPoolPropagationE", !34, i64 0, !6, i64 8, !6, i64 16, !51, i64 24, !51, i64 48, !47, i64 72, !51, i64 96, !120, i64 120}
!120 = !{!"_ZTSSt6vectorIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE", !121, i64 0}
!121 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE", !122, i64 0}
!122 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE12_Vector_implE", !123, i64 0}
!123 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!124 = !{!125, !34, i64 0}
!125 = !{!"_ZTSSt4pairIiiE", !34, i64 0, !34, i64 4}
!126 = !{!125, !34, i64 4}


; 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"

%"struct.HighsDomain::ConflictSet::LocalDomChg" = type { i32, %struct.HighsDomainChange }
%struct.HighsDomainChange = type { double, i32, i32 }
%class.HighsCDouble = type { double, double }

@.str.52 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [32 x i8], align 1
@__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_ = external hidden unnamed_addr constant [94 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [131 x i8], align 1

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

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #1

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

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #3

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsDomain18computeMinActivityEiiPKiPKdRiR12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #4 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsDomain20ObjectivePropagation24getPropagationConstraintEiRPKdRPKiRiRdi(ptr noundef nonnull align 8 dereferenceable(160), i32 noundef, ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getColLowerPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getColUpperPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef, i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK14HighsMipSolver8rowLowerEi(ptr noundef nonnull align 8 dereferenceable(496), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK14HighsMipSolver8rowUpperEi(ptr noundef nonnull align 8 dereferenceable(496), i32 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK11HighsDomain17getMinCutActivityERK12HighsCutPooli(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(680), i32 noundef) local_unnamed_addr #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeGeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, ptr noundef, i32 noundef, double noundef, double noundef) local_unnamed_addr #4 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getMaxActivityEi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK11HighsDomain14getMinActivityEi(ptr noundef nonnull align 8 dereferenceable(824), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK12HighsCutPool6getCutEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(680), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef byval(%"struct.HighsDomain::ConflictSet::LocalDomChg") align 8 %2) local_unnamed_addr #4 align 2 {
  %4 = alloca i32, align 4
  %5 = alloca %"struct.HighsDomain::ConflictSet::LocalDomChg", align 8
  %6 = alloca i32, align 4
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca double, align 8
  %16 = alloca i32, align 4
  %17 = alloca %class.HighsCDouble, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = load ptr, ptr %0, align 8, !tbaa !5
  %22 = getelementptr inbounds i8, ptr %21, i64 96
  %23 = load i32, ptr %2, align 8, !tbaa !31
  %24 = sext i32 %23 to i64
  %25 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef %24) #5
  %26 = load i32, ptr %25, align 4, !tbaa !37
  switch i32 %26, label %163 [
    i32 -2, label %281
    i32 -1, label %281
    i32 -6, label %281
    i32 -5, label %27
    i32 -4, label %96
    i32 -3, label %118
    i32 -7, label %140
  ]

27:                                               ; preds = %3
  %28 = load ptr, ptr %0, align 8, !tbaa !5
  %29 = getelementptr inbounds i8, ptr %28, i64 96
  %30 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %24) #5
  %31 = getelementptr inbounds i8, ptr %30, i64 4
  %32 = load i32, ptr %31, align 4, !tbaa !39
  %33 = ashr i32 %32, 1
  %34 = load ptr, ptr %0, align 8, !tbaa !5
  %35 = getelementptr inbounds i8, ptr %34, i64 96
  %36 = load i32, ptr %2, align 8, !tbaa !31
  %37 = sext i32 %36 to i64
  %38 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %37) #5
  %39 = getelementptr inbounds i8, ptr %38, i64 4
  %40 = load i32, ptr %39, align 4, !tbaa !39
  %41 = and i32 %40, 1
  %42 = getelementptr inbounds i8, ptr %0, i64 136
  tail call void @_ZNSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %42) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %4) #5
  %.not = icmp eq i32 %41, 0
  %43 = load ptr, ptr %0, align 8, !tbaa !5
  %44 = sext i32 %33 to i64
  br i1 %.not, label %66, label %45

45:                                               ; preds = %27
  %46 = getelementptr inbounds i8, ptr %43, i64 656
  %47 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %44) #5
  %48 = load i32, ptr %47, align 4, !tbaa !40
  %49 = icmp sgt i32 %48, -1
  br i1 %49, label %51, label %50

50:                                               ; preds = %45
  tail call void @__assert_fail(ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.52, i32 noundef 3420, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

51:                                               ; preds = %45
  %52 = load ptr, ptr %0, align 8, !tbaa !5
  %53 = getelementptr inbounds i8, ptr %52, i64 656
  %54 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %44) #5
  %55 = load i32, ptr %54, align 4, !tbaa !40
  %56 = load ptr, ptr %0, align 8, !tbaa !5
  %57 = getelementptr inbounds i8, ptr %56, i64 72
  %58 = tail call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %57) #5
  %59 = trunc i64 %58 to i32
  %60 = icmp slt i32 %55, %59
  br i1 %60, label %62, label %61

61:                                               ; preds = %51
  tail call void @__assert_fail(ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.52, i32 noundef 3422, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

62:                                               ; preds = %51
  %63 = load ptr, ptr %0, align 8, !tbaa !5
  %64 = load i32, ptr %2, align 8, !tbaa !31
  %65 = call noundef double @_ZNK11HighsDomain14getColLowerPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824) %63, i32 noundef %33, i32 noundef %64, ptr noundef nonnull align 4 dereferenceable(4) %4)
  br label %87

66:                                               ; preds = %27
  %67 = getelementptr inbounds i8, ptr %43, i64 680
  %68 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %44) #5
  %69 = load i32, ptr %68, align 4, !tbaa !40
  %70 = icmp sgt i32 %69, -1
  br i1 %70, label %72, label %71

71:                                               ; preds = %66
  tail call void @__assert_fail(ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.52, i32 noundef 3426, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

72:                                               ; preds = %66
  %73 = load ptr, ptr %0, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %73, i64 680
  %75 = tail call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %44) #5
  %76 = load i32, ptr %75, align 4, !tbaa !40
  %77 = load ptr, ptr %0, align 8, !tbaa !5
  %78 = getelementptr inbounds i8, ptr %77, i64 72
  %79 = tail call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %78) #5
  %80 = trunc i64 %79 to i32
  %81 = icmp slt i32 %76, %80
  br i1 %81, label %83, label %82

82:                                               ; preds = %72
  tail call void @__assert_fail(ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.52, i32 noundef 3428, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

83:                                               ; preds = %72
  %84 = load ptr, ptr %0, align 8, !tbaa !5
  %85 = load i32, ptr %2, align 8, !tbaa !31
  %86 = call noundef double @_ZNK11HighsDomain14getColUpperPosEiiRi(ptr noundef nonnull align 8 dereferenceable(824) %84, i32 noundef %33, i32 noundef %85, ptr noundef nonnull align 4 dereferenceable(4) %4)
  br label %87

87:                                               ; preds = %83, %62
  %88 = load i32, ptr %4, align 4, !tbaa !40
  %.not38 = icmp eq i32 %88, -1
  br i1 %.not38, label %95, label %89

89:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #5
  store i32 %88, ptr %5, align 8, !tbaa !31
  %90 = getelementptr inbounds i8, ptr %5, i64 8
  %91 = load ptr, ptr %0, align 8, !tbaa !5
  %92 = getelementptr inbounds i8, ptr %91, i64 72
  %93 = sext i32 %88 to i64
  %94 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI17HighsDomainChangeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %92, i64 noundef %93) #5
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %90, ptr noundef nonnull align 8 dereferenceable(16) %94, i64 16, i1 false), !tbaa.struct !41
  call void @_ZNSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE9push_backEOS2_(ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %5)
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #5
  br label %95

95:                                               ; preds = %89, %87
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %4) #5
  br label %281

96:                                               ; preds = %3
  %97 = load ptr, ptr %0, align 8, !tbaa !5
  %98 = getelementptr inbounds i8, ptr %97, i64 96
  %99 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %98, i64 noundef %24) #5
  %100 = getelementptr inbounds i8, ptr %99, i64 4
  %101 = load i32, ptr %100, align 4, !tbaa !39
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #5
  %102 = load ptr, ptr %0, align 8, !tbaa !5
  %103 = getelementptr inbounds i8, ptr %102, i64 472
  %104 = load ptr, ptr %103, align 8, !tbaa !44
  %105 = getelementptr inbounds i8, ptr %104, i64 224
  %106 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %105) #5
  call void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801) %106, i32 noundef %101, ptr noundef nonnull align 4 dereferenceable(4) %6, ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %107 = getelementptr inbounds i8, ptr %0, i64 8
  %108 = load ptr, ptr %107, align 8, !tbaa !112
  %109 = call noundef double @_ZNK11HighsDomain14getMaxActivityEi(ptr noundef nonnull align 8 dereferenceable(824) %108, i32 noundef %101)
  %110 = load ptr, ptr %7, align 8, !tbaa !113
  %111 = load ptr, ptr %8, align 8, !tbaa !113
  %112 = load i32, ptr %6, align 4, !tbaa !40
  %113 = load ptr, ptr %0, align 8, !tbaa !5
  %114 = getelementptr inbounds i8, ptr %113, i64 472
  %115 = load ptr, ptr %114, align 8, !tbaa !44
  %116 = call noundef double @_ZNK14HighsMipSolver8rowLowerEi(ptr noundef nonnull align 8 dereferenceable(496) %115, i32 noundef %101)
  %117 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeGeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %110, ptr noundef %111, i32 noundef %112, double noundef %116, double noundef %109)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #5
  br label %281

118:                                              ; preds = %3
  %119 = load ptr, ptr %0, align 8, !tbaa !5
  %120 = getelementptr inbounds i8, ptr %119, i64 96
  %121 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %120, i64 noundef %24) #5
  %122 = getelementptr inbounds i8, ptr %121, i64 4
  %123 = load i32, ptr %122, align 4, !tbaa !39
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #5
  %124 = load ptr, ptr %0, align 8, !tbaa !5
  %125 = getelementptr inbounds i8, ptr %124, i64 472
  %126 = load ptr, ptr %125, align 8, !tbaa !44
  %127 = getelementptr inbounds i8, ptr %126, i64 224
  %128 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %127) #5
  call void @_ZNK18HighsMipSolverData6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(26801) %128, i32 noundef %123, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11)
  %129 = getelementptr inbounds i8, ptr %0, i64 8
  %130 = load ptr, ptr %129, align 8, !tbaa !112
  %131 = call noundef double @_ZNK11HighsDomain14getMinActivityEi(ptr noundef nonnull align 8 dereferenceable(824) %130, i32 noundef %123)
  %132 = load ptr, ptr %10, align 8, !tbaa !113
  %133 = load ptr, ptr %11, align 8, !tbaa !113
  %134 = load i32, ptr %9, align 4, !tbaa !40
  %135 = load ptr, ptr %0, align 8, !tbaa !5
  %136 = getelementptr inbounds i8, ptr %135, i64 472
  %137 = load ptr, ptr %136, align 8, !tbaa !44
  %138 = call noundef double @_ZNK14HighsMipSolver8rowUpperEi(ptr noundef nonnull align 8 dereferenceable(496) %137, i32 noundef %123)
  %139 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %132, ptr noundef %133, i32 noundef %134, double noundef %138, double noundef %131)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #5
  br label %281

140:                                              ; preds = %3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #5
  %141 = load ptr, ptr %0, align 8, !tbaa !5
  %142 = getelementptr inbounds i8, ptr %141, i64 312
  %143 = getelementptr inbounds i8, ptr %2, i64 16
  %144 = load i32, ptr %143, align 8, !tbaa !114
  call void @_ZN11HighsDomain20ObjectivePropagation24getPropagationConstraintEiRPKdRPKiRiRdi(ptr noundef nonnull align 8 dereferenceable(160) %142, i32 noundef %23, ptr noundef nonnull align 8 dereferenceable(8) %14, ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 8 dereferenceable(8) %15, i32 noundef %144)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #5
  %145 = getelementptr inbounds i8, ptr %0, i64 8
  %146 = load ptr, ptr %145, align 8, !tbaa !112
  %147 = load i32, ptr %12, align 4, !tbaa !40
  %148 = load ptr, ptr %13, align 8, !tbaa !113
  %149 = load ptr, ptr %14, align 8, !tbaa !113
  call void @_ZN11HighsDomain18computeMinActivityEiiPKiPKdRiR12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(824) %146, i32 noundef 0, i32 noundef %147, ptr noundef %148, ptr noundef %149, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 8 dereferenceable(16) %17)
  %150 = load i32, ptr %16, align 4, !tbaa !40
  %151 = icmp slt i32 %150, 2
  br i1 %151, label %153, label %152

152:                                              ; preds = %140
  call void @__assert_fail(ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.52, i32 noundef 3481, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

153:                                              ; preds = %140
  %154 = icmp eq i32 %150, 1
  br i1 %154, label %162, label %155

155:                                              ; preds = %153
  %156 = load ptr, ptr %13, align 8, !tbaa !113
  %157 = load ptr, ptr %14, align 8, !tbaa !113
  %158 = load i32, ptr %12, align 4, !tbaa !40
  %159 = load double, ptr %15, align 8, !tbaa !42
  %160 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %17)
  %161 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %156, ptr noundef %157, i32 noundef %158, double noundef %159, double noundef %160)
  br label %162

162:                                              ; preds = %153, %155
  %.0 = phi i1 [ %161, %155 ], [ false, %153 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #5
  br label %281

163:                                              ; preds = %3
  %164 = load ptr, ptr %0, align 8, !tbaa !5
  %165 = getelementptr inbounds i8, ptr %164, i64 96
  %166 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %24) #5
  %167 = load i32, ptr %166, align 4, !tbaa !37
  %168 = icmp sgt i32 %167, -1
  br i1 %168, label %170, label %169

169:                                              ; preds = %163
  tail call void @__assert_fail(ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.52, i32 noundef 3490, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

170:                                              ; preds = %163
  %171 = load ptr, ptr %0, align 8, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %171, i64 96
  %173 = load i32, ptr %2, align 8, !tbaa !31
  %174 = sext i32 %173 to i64
  %175 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %172, i64 noundef %174) #5
  %176 = load i32, ptr %175, align 4, !tbaa !37
  %177 = load ptr, ptr %0, align 8, !tbaa !5
  %178 = getelementptr inbounds i8, ptr %177, i64 480
  %179 = tail call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %178) #5
  %180 = load ptr, ptr %0, align 8, !tbaa !5
  %181 = getelementptr inbounds i8, ptr %180, i64 560
  %182 = tail call noundef i64 @_ZNKSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %181) #5
  %183 = add i64 %182, %179
  %184 = trunc i64 %183 to i32
  %185 = icmp slt i32 %176, %184
  br i1 %185, label %187, label %186

186:                                              ; preds = %170
  tail call void @__assert_fail(ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.52, i32 noundef 3493, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsDomain11ConflictSet18explainBoundChangeERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EES2_) #6
  unreachable

187:                                              ; preds = %170
  %188 = load ptr, ptr %0, align 8, !tbaa !5
  %189 = getelementptr inbounds i8, ptr %188, i64 96
  %190 = load i32, ptr %2, align 8, !tbaa !31
  %191 = sext i32 %190 to i64
  %192 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %189, i64 noundef %191) #5
  %193 = load i32, ptr %192, align 4, !tbaa !37
  %194 = load ptr, ptr %0, align 8, !tbaa !5
  %195 = getelementptr inbounds i8, ptr %194, i64 480
  %196 = tail call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %195) #5
  %197 = trunc i64 %196 to i32
  %198 = icmp slt i32 %193, %197
  %199 = load ptr, ptr %0, align 8, !tbaa !5
  %200 = getelementptr inbounds i8, ptr %199, i64 96
  %201 = load i32, ptr %2, align 8, !tbaa !31
  %202 = sext i32 %201 to i64
  %203 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %200, i64 noundef %202) #5
  %204 = load i32, ptr %203, align 4, !tbaa !37
  %205 = load ptr, ptr %0, align 8, !tbaa !5
  br i1 %198, label %206, label %240

206:                                              ; preds = %187
  %207 = getelementptr inbounds i8, ptr %205, i64 96
  %208 = load i32, ptr %2, align 8, !tbaa !31
  %209 = sext i32 %208 to i64
  %210 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %207, i64 noundef %209) #5
  %211 = getelementptr inbounds i8, ptr %210, i64 4
  %212 = load i32, ptr %211, align 4, !tbaa !39
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #5
  %213 = load ptr, ptr %0, align 8, !tbaa !5
  %214 = getelementptr inbounds i8, ptr %213, i64 480
  %215 = sext i32 %204 to i64
  %216 = tail call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %214, i64 noundef %215) #5
  %217 = getelementptr inbounds i8, ptr %216, i64 16
  %218 = load ptr, ptr %217, align 8, !tbaa !115
  call void @_ZNK12HighsCutPool6getCutEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(680) %218, i32 noundef %212, ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20)
  %219 = getelementptr inbounds i8, ptr %0, i64 8
  %220 = load ptr, ptr %219, align 8, !tbaa !112
  %221 = load ptr, ptr %0, align 8, !tbaa !5
  %222 = getelementptr inbounds i8, ptr %221, i64 480
  %223 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %222, i64 noundef %215) #5
  %224 = getelementptr inbounds i8, ptr %223, i64 16
  %225 = load ptr, ptr %224, align 8, !tbaa !115
  %226 = call noundef double @_ZNK11HighsDomain17getMinCutActivityERK12HighsCutPooli(ptr noundef nonnull align 8 dereferenceable(824) %220, ptr noundef nonnull align 8 dereferenceable(680) %225, i32 noundef %212)
  %227 = load ptr, ptr %19, align 8, !tbaa !113
  %228 = load ptr, ptr %20, align 8, !tbaa !113
  %229 = load i32, ptr %18, align 4, !tbaa !40
  %230 = load ptr, ptr %0, align 8, !tbaa !5
  %231 = getelementptr inbounds i8, ptr %230, i64 480
  %232 = call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %231, i64 noundef %215) #5
  %233 = getelementptr inbounds i8, ptr %232, i64 16
  %234 = load ptr, ptr %233, align 8, !tbaa !115
  %235 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK12HighsCutPool6getRhsEv(ptr noundef nonnull align 8 dereferenceable(680) %234)
  %236 = sext i32 %212 to i64
  %237 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %235, i64 noundef %236) #5
  %238 = load double, ptr %237, align 8, !tbaa !42
  %239 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet21explainBoundChangeLeqERKSt3setINS0_11LocalDomChgESt4lessIS2_ESaIS2_EERKS2_PKiPKdidd(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(48) %1, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %227, ptr noundef %228, i32 noundef %229, double noundef %238, double noundef %226)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #5
  br label %281

240:                                              ; preds = %187
  %241 = getelementptr inbounds i8, ptr %205, i64 480
  %242 = tail call noundef i64 @_ZNKSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(80) %241) #5
  %243 = trunc i64 %242 to i32
  %244 = sub i32 %204, %243
  %245 = load ptr, ptr %0, align 8, !tbaa !5
  %246 = getelementptr inbounds i8, ptr %245, i64 96
  %247 = load i32, ptr %2, align 8, !tbaa !31
  %248 = sext i32 %247 to i64
  %249 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorIN11HighsDomain6ReasonESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %246, i64 noundef %248) #5
  %250 = getelementptr inbounds i8, ptr %249, i64 4
  %251 = load i32, ptr %250, align 4, !tbaa !39
  %252 = load ptr, ptr %0, align 8, !tbaa !5
  %253 = getelementptr inbounds i8, ptr %252, i64 560
  %254 = sext i32 %244 to i64
  %255 = tail call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %253, i64 noundef %254) #5
  %256 = getelementptr inbounds i8, ptr %255, i64 72
  %257 = sext i32 %251 to i64
  %258 = tail call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %256, i64 noundef %257) #5
  %259 = load i8, ptr %258, align 1, !tbaa !117
  %260 = and i8 %259, 8
  %.not39.not = icmp eq i8 %260, 0
  br i1 %.not39.not, label %261, label %280

261:                                              ; preds = %240
  %262 = load ptr, ptr %0, align 8, !tbaa !5
  %263 = getelementptr inbounds i8, ptr %262, i64 560
  %264 = tail call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %263, i64 noundef %254) #5
  %265 = getelementptr inbounds i8, ptr %264, i64 16
  %266 = load ptr, ptr %265, align 8, !tbaa !118
  %267 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17HighsConflictPool17getConflictRangesEv(ptr noundef nonnull align 8 dereferenceable(224) %266)
  %268 = tail call noundef nonnull align 4 dereferenceable(8) ptr @_ZNKSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %257) #5
  %.sroa.0.0.copyload = load i32, ptr %268, align 4
  %.sroa.5.0..sroa_idx = getelementptr inbounds i8, ptr %268, i64 4
  %.sroa.5.0.copyload = load i32, ptr %.sroa.5.0..sroa_idx, align 4
  %269 = load ptr, ptr %0, align 8, !tbaa !5
  %270 = getelementptr inbounds i8, ptr %269, i64 560
  %271 = tail call noundef nonnull align 8 dereferenceable(144) ptr @_ZNSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(80) %270, i64 noundef %254) #5
  %272 = getelementptr inbounds i8, ptr %271, i64 16
  %273 = load ptr, ptr %272, align 8, !tbaa !118
  %274 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK17HighsConflictPool22getConflictEntryVectorEv(ptr noundef nonnull align 8 dereferenceable(224) %273)
  %275 = tail call noundef ptr @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %274) #5
  %276 = sext i32 %.sroa.0.0.copyload to i64
  %277 = getelementptr inbounds %struct.HighsDomainChange, ptr %275, i64 %276
  %278 = sub nsw i32 %.sroa.5.0.copyload, %.sroa.0.0.copyload
  %279 = call noundef zeroext i1 @_ZN11HighsDomain11ConflictSet26explainBoundChangeConflictERKNS0_11LocalDomChgEPK17HighsDomainChangei(ptr noundef nonnull align 8 dereferenceable(184) %0, ptr noundef nonnull align 8 dereferenceable(24) %2, ptr noundef %277, i32 noundef %278)
  br label %280

280:                                              ; preds = %240, %261
  %.1 = phi i1 [ %279, %261 ], [ undef, %240 ]
  %spec.select = and i1 %.not39.not, %.1
  br label %281

281:                                              ; preds = %280, %3, %3, %3, %206, %162, %118, %96, %95
  %.2 = phi i1 [ %239, %206 ], [ %.0, %162 ], [ %139, %118 ], [ %117, %96 ], [ true, %95 ], [ false, %3 ], [ false, %3 ], [ false, %3 ], [ %spec.select, %280 ]
  ret i1 %.2
}

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN11HighsDomain11ConflictSet26explainBoundChangeConflictERKNS0_11LocalDomChgEPK17HighsDomainChangei(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef, i32 noundef) local_unnamed_addr #4 align 2

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTSN11HighsDomain11ConflictSetE", !7, i64 0, !7, i64 8, !10, i64 16, !10, i64 64, !19, i64 112, !23, i64 136, !27, i64 160}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt3setIN11HighsDomain11ConflictSet11LocalDomChgESt4lessIS2_ESaIS2_EE", !11, i64 0}
!11 = !{!"_ZTSSt8_Rb_treeIN11HighsDomain11ConflictSet11LocalDomChgES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE", !12, i64 0}
!12 = !{!"_ZTSNSt8_Rb_treeIN11HighsDomain11ConflictSet11LocalDomChgES2_St9_IdentityIS2_ESt4lessIS2_ESaIS2_EE13_Rb_tree_implIS6_Lb1EEE", !13, i64 0, !15, i64 8}
!13 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessIN11HighsDomain11ConflictSet11LocalDomChgEEE", !14, i64 0}
!14 = !{!"_ZTSSt4lessIN11HighsDomain11ConflictSet11LocalDomChgEE"}
!15 = !{!"_ZTSSt15_Rb_tree_header", !16, i64 0, !18, i64 32}
!16 = !{!"_ZTSSt18_Rb_tree_node_base", !17, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!17 = !{!"_ZTSSt14_Rb_tree_color", !8, i64 0}
!18 = !{!"long", !8, i64 0}
!19 = !{!"_ZTSSt6vectorISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseISt23_Rb_tree_const_iteratorIN11HighsDomain11ConflictSet11LocalDomChgEESaIS4_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!23 = !{!"_ZTSSt6vectorIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet11LocalDomChgESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!27 = !{!"_ZTSSt6vectorIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain11ConflictSet16ResolveCandidateESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!31 = !{!32, !33, i64 0}
!32 = !{!"_ZTSN11HighsDomain11ConflictSet11LocalDomChgE", !33, i64 0, !34, i64 8}
!33 = !{!"int", !8, i64 0}
!34 = !{!"_ZTS17HighsDomainChange", !35, i64 0, !33, i64 8, !36, i64 12}
!35 = !{!"double", !8, i64 0}
!36 = !{!"_ZTS14HighsBoundType", !8, i64 0}
!37 = !{!38, !33, i64 0}
!38 = !{!"_ZTSN11HighsDomain6ReasonE", !33, i64 0, !33, i64 4}
!39 = !{!38, !33, i64 4}
!40 = !{!33, !33, i64 0}
!41 = !{i64 0, i64 8, !42, i64 8, i64 4, !40, i64 12, i64 4, !43}
!42 = !{!35, !35, i64 0}
!43 = !{!36, !36, i64 0}
!44 = !{!45, !7, i64 472}
!45 = !{!"_ZTS11HighsDomain", !46, i64 0, !50, i64 24, !54, i64 48, !58, i64 72, !62, i64 96, !66, i64 120, !70, i64 144, !70, i64 168, !50, i64 192, !50, i64 216, !74, i64 240, !46, i64 264, !50, i64 288, !78, i64 312, !7, i64 472, !89, i64 480, !94, i64 560, !80, i64 640, !38, i64 644, !33, i64 652, !50, i64 656, !50, i64 680, !50, i64 704, !99, i64 728, !80, i64 768, !74, i64 776, !74, i64 800}
!46 = !{!"_ZTSSt6vectorIhSaIhEE", !47, i64 0}
!47 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!50 = !{!"_ZTSSt6vectorIiSaIiEE", !51, i64 0}
!51 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!54 = !{!"_ZTSSt6vectorISt4pairIiiESaIS1_EE", !55, i64 0}
!55 = !{!"_ZTSSt12_Vector_baseISt4pairIiiESaIS1_EE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE12_Vector_implE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!58 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !59, i64 0}
!59 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!62 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !63, i64 0}
!63 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!66 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!70 = !{!"_ZTSSt6vectorI12HighsCDoubleSaIS0_EE", !71, i64 0}
!71 = !{!"_ZTSSt12_Vector_baseI12HighsCDoubleSaIS0_EE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE12_Vector_implE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!74 = !{!"_ZTSSt6vectorIdSaIdEE", !75, i64 0}
!75 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !76, i64 0}
!76 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!78 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !7, i64 0, !7, i64 8, !7, i64 16, !79, i64 24, !33, i64 40, !35, i64 48, !80, i64 56, !81, i64 64, !54, i64 88, !74, i64 112, !85, i64 136}
!79 = !{!"_ZTS12HighsCDouble", !35, i64 0, !35, i64 8}
!80 = !{!"bool", !8, i64 0}
!81 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !82, i64 0}
!82 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !83, i64 0}
!83 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !84, i64 0}
!84 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!85 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !86, i64 0}
!86 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !88, i64 0}
!88 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!89 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !90, i64 0}
!90 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !91, i64 0}
!91 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !92, i64 0}
!92 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !18, i64 8, !93, i64 16, !93, i64 48}
!93 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!94 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !95, i64 0}
!95 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !96, i64 0}
!96 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !97, i64 0}
!97 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !18, i64 8, !98, i64 16, !98, i64 48}
!98 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!99 = !{!"_ZTS14HighsHashTableIivE", !100, i64 0, !106, i64 8, !18, i64 16, !18, i64 24, !18, i64 32}
!100 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !101, i64 0}
!101 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !102, i64 0}
!102 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !103, i64 0}
!103 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !104, i64 0}
!104 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !105, i64 0}
!105 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !7, i64 0}
!106 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !107, i64 0}
!107 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !108, i64 0}
!108 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !109, i64 0}
!109 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !110, i64 0}
!110 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !111, i64 0}
!111 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !7, i64 0}
!112 = !{!6, !7, i64 8}
!113 = !{!7, !7, i64 0}
!114 = !{!32, !33, i64 16}
!115 = !{!116, !7, i64 16}
!116 = !{!"_ZTSN11HighsDomain18CutpoolPropagationE", !33, i64 0, !7, i64 8, !7, i64 16, !70, i64 24, !50, i64 48, !46, i64 72, !50, i64 96, !74, i64 120}
!117 = !{!8, !8, i64 0}
!118 = !{!119, !7, i64 16}
!119 = !{!"_ZTSN11HighsDomain23ConflictPoolPropagationE", !33, i64 0, !7, i64 8, !7, i64 16, !50, i64 24, !50, i64 48, !46, i64 72, !50, i64 96, !120, i64 120}
!120 = !{!"_ZTSSt6vectorIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE", !121, i64 0}
!121 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE", !122, i64 0}
!122 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE12_Vector_implE", !123, i64 0}
!123 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain23ConflictPoolPropagation14WatchedLiteralESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass