; LLVM IR from ERGO-Code/HiGHS :: src/mip/HighsSearch.ll (ZN11HighsSearch24selectBranchingCandidateElRdS0_)

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

%"class.std::vector.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.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 }
%"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.__gnu_cxx::__normal_iterator" = type { ptr }
%class.anon = type { ptr, ptr }
%class.anon.352 = type { ptr, ptr }
%class.anon.353 = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.HighsLpRelaxation::Playground" = type <{ ptr, i8, [7 x i8] }>
%class.anon.354 = type { ptr, ptr, ptr, ptr, ptr, ptr }
%"struct.std::pair.355" = type { double, double }
%struct.HighsDomainChange = type { double, i32, i32 }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%class.HighsSearch = type { ptr, ptr, %class.HighsDomain, ptr, %class.HighsRandom, i64, i64, i64, i64, double, %class.HighsCDouble, %"class.std::vector.3", %"class.std::vector.33", i32, i8, i8, i8, i32, %"class.std::vector.33", %"class.std::vector.67", %class.HighsHashTable.72 }
%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 }
%"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 }
%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.HighsRandom = type { i64 }
%class.HighsCDouble = type { double, double }
%"class.std::vector.67" = type { %"struct.std::_Vector_base.68" }
%"struct.std::_Vector_base.68" = type { %"struct.std::_Vector_base<HighsSearch::NodeData, std::allocator<HighsSearch::NodeData>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsSearch::NodeData, std::allocator<HighsSearch::NodeData>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsSearch::NodeData, std::allocator<HighsSearch::NodeData>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsSearch::NodeData, std::allocator<HighsSearch::NodeData>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable.72 = type { %"class.std::unique_ptr.73", %"class.std::unique_ptr.59", i64, i64, i64 }
%"class.std::unique_ptr.73" = type { %"struct.std::__uniq_ptr_data.74" }
%"struct.std::__uniq_ptr_data.74" = type { %"class.std::__uniq_ptr_impl.75" }
%"class.std::__uniq_ptr_impl.75" = type { %"class.std::tuple.76" }
%"class.std::tuple.76" = type { %"struct.std::_Tuple_impl.77" }
%"struct.std::_Tuple_impl.77" = type { %"struct.std::_Head_base.80" }
%"struct.std::_Head_base.80" = type { ptr }
%"struct.std::pair" = type { i32, double }
%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.81", i8, i32, i32, ptr, ptr, ptr, ptr, %"class.std::unique_ptr.86", %class.HighsMipAnalysis, %class.HighsTimer }
%"class.std::vector.81" = type { %"struct.std::_Vector_base.82" }
%"struct.std::_Vector_base.82" = 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.86" = type { %"struct.std::__uniq_ptr_data.87" }
%"struct.std::__uniq_ptr_data.87" = type { %"class.std::__uniq_ptr_impl.88" }
%"class.std::__uniq_ptr_impl.88" = type { %"class.std::tuple.89" }
%"class.std::tuple.89" = type { %"struct.std::_Tuple_impl.90" }
%"struct.std::_Tuple_impl.90" = type { %"struct.std::_Head_base.93" }
%"struct.std::_Head_base.93" = 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.94", i32, i32, i32, [4 x i8] }>
%"class.std::vector.94" = type { %"struct.std::_Vector_base.95" }
%"struct.std::_Vector_base.95" = 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.HighsMipSolverData = type <{ ptr, %class.HighsCutPool, %class.HighsConflictPool, %class.HighsDomain, %class.HighsLpRelaxation, %class.HighsPseudocost, %class.HighsCliqueTable, %class.HighsImplications, %class.HighsPrimalHeuristics, %class.HighsRedcostFixing, %class.HighsObjectiveFunction, %"class.presolve::HighsPostsolveStack", i32, [4 x i8], %class.HighsLp, i8, i8, i8, i8, i32, i8, [3 x i8], i32, i32, i32, i32, [4 x i8], %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %struct.HighsSymmetries, %"class.std::shared_ptr.323", double, double, double, i64, %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", double, %struct.HighsBasis, double, i32, i32, %class.HighsCDouble, double, double, double, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i32, [4 x i8], double, double, double, double, %"class.std::vector.33", %class.HighsNodeQueue, %struct.HighsPrimaDualIntegral, [8 x i8] }>
%class.HighsCutPool = type { %class.HighsDynamicRowMatrix, %"class.std::vector.33", %"class.std::vector.102", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector", %"class.std::unordered_multimap", %"class.std::vector.112", %"class.std::set", double, double, double, i32, i32, i32, i32, i32, %"class.std::vector.3", %"class.std::vector.117" }
%class.HighsDynamicRowMatrix = type { %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector", %"class.std::set", %"class.std::vector.3" }
%"class.std::vector.102" = type { %"struct.std::_Vector_base.103" }
%"struct.std::_Vector_base.103" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_multimap" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.112" = type { %"struct.std::_Vector_base.113" }
%"struct.std::_Vector_base.113" = type { %"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_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.117" = type { %"struct.std::_Vector_base.118" }
%"struct.std::_Vector_base.118" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsConflictPool = type { i32, i32, %"class.std::vector.3", %"class.std::vector.102", %"class.std::vector.122", %"class.std::vector.13", %"class.std::vector.8", %"class.std::set", %"class.std::vector.3", %"class.std::vector.127" }
%"class.std::vector.122" = type { %"struct.std::_Vector_base.123" }
%"struct.std::_Vector_base.123" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned int, std::allocator<unsigned int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.127" = type { %"struct.std::_Vector_base.128" }
%"struct.std::_Vector_base.128" = type { %"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation *, std::allocator<HighsDomain::ConflictPoolPropagation *>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation *, std::allocator<HighsDomain::ConflictPoolPropagation *>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation *, std::allocator<HighsDomain::ConflictPoolPropagation *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::ConflictPoolPropagation *, std::allocator<HighsDomain::ConflictPoolPropagation *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsLpRelaxation = type <{ ptr, %class.Highs, %"class.std::vector.252", %"class.std::vector.117", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %class.HVectorBase, %class.HighsSparseVectorSum, double, i8, [7 x i8], double, %"class.std::shared_ptr", i8, [7 x i8], i64, i64, double, i64, i64, i32, i32, i8, [7 x i8] }>
%class.Highs = type { ptr, %struct.HighsSolution, %struct.HighsBasis, %struct.ICrashInfo, %class.HighsModel, %"class.std::vector.166", %class.HighsModel, %class.HighsTimer, %struct.HighsCallback, %class.HighsOptions, %class.HighsInfo, %struct.HighsRanging, %class.HighsIis, %"class.std::vector.81", i32, i32, i8, double, %"class.std::vector.33", %"class.std::vector.33", %class.HighsSparseMatrix, %class.HEkk, %struct.HighsPresolveLog, i32, i8, i32, i8, %class.PresolveComponent }
%struct.HighsSolution = type { i8, i8, %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33" }
%struct.ICrashInfo = type { i32, double, double, double, double, double, %"class.std::vector.137", %"class.std::vector.33", double }
%"class.std::vector.137" = type { %"struct.std::_Vector_base.138" }
%"struct.std::_Vector_base.138" = type { %"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl" }
%"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl" = type { %"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.166" = type { %"struct.std::_Vector_base.167" }
%"struct.std::_Vector_base.167" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsModel = type { %class.HighsLp, %class.HighsHessian }
%class.HighsHessian = type { i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33" }
%struct.HighsCallback = type { %"class.std::function", ptr, ptr, %"class.std::vector.171", %struct.HighsCallbackDataOut, %struct.HighsCallbackDataIn }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::vector.171" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%struct.HighsCallbackDataOut = type { i32, double, i32, i32, i32, double, i64, i64, double, double, double, ptr, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, i32 }
%struct.HighsCallbackDataIn = type { i32, ptr }
%class.HighsOptions = type <{ %struct.HighsOptionsStruct, %"class.std::vector.175", i32, [4 x i8] }>
%struct.HighsOptionsStruct = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i8, i8, i32, i32, double, i32, i32, i32, i8, i32, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, double, double, double, double, double, double, double, double, double, double, double, i8, i8, i8, i8, i32, double, i8, i8, %"class.std::__cxx11::basic_string", double, i32, i32, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, i8, i8, %"class.std::__cxx11::basic_string", i8, i32, %struct.HighsLogOptions }
%struct.HighsLogOptions = type <{ ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::function", ptr, i8, [7 x i8] }>
%"class.std::vector.175" = type { %"struct.std::_Vector_base.176" }
%"struct.std::_Vector_base.176" = type { %"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl" }
%"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl" = type { %"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsInfo = type { ptr, %struct.HighsInfoStruct, %"class.std::vector.180" }
%struct.HighsInfoStruct = type { i8, i64, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, i32, double, double, i32, double, double, double, double, double }
%"class.std::vector.180" = type { %"struct.std::_Vector_base.181" }
%"struct.std::_Vector_base.181" = type { %"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl" }
%"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl" = type { %"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsRanging = type { i8, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord }
%struct.HighsRangingRecord = type { %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3" }
%class.HighsIis = type { i8, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.185" }
%"class.std::vector.185" = type { %"struct.std::_Vector_base.186" }
%"struct.std::_Vector_base.186" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33" }
%class.HEkk = type { ptr, ptr, ptr, %class.HighsSimplexAnalysis, %class.HighsLp, %"class.std::__cxx11::basic_string", %struct.HighsSimplexStatus, [3 x i8], %struct.HighsSimplexInfo, i32, %struct.SimplexBasis, %class.HighsHashTable.213, %class.HighsRandom, %"class.std::vector.33", %"class.std::vector.33", i8, %class.HighsSparseMatrix, %class.HighsSparseMatrix, %class.HSimplexNla, %struct.HotStart, double, double, double, i32, i32, i32, i32, i8, i8, i32, i32, i32, %"class.std::vector.3", %"class.std::vector.33", %struct.HighsRayRecord, %struct.HighsRayRecord, i32, i32, i32, double, %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", double, double, double, i32, i32, i8, i32, i8, i8, i8, i8, double, %"class.std::vector.232", %"class.std::vector.33", %struct.HighsSimplexStats }
%class.HighsSimplexAnalysis = type { ptr, %"class.std::vector.190", %"class.std::vector.190", ptr, i32, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %struct.HighsLogOptions, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, double, double, i32, double, double, i32, double, double, double, double, double, double, double, double, double, double, i32, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, [4 x i8], %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, i32, i32, i32, i32, double, double, i32, i32, i32, i32, i32, double, double, i32, double, double, i32, i32, double, double, %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.195", %"class.std::unique_ptr.200", i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, double, i32, i32, double, double, double, i8, double, double, i32, i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, i32, i32, [10 x %"struct.HighsSimplexAnalysis::AnIterOpRec"], i32, i32, [22 x %"struct.HighsSimplexAnalysis::AnIterTraceRec"], [12 x i32], [3 x i32], [4 x i8], %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution }
%"class.std::vector.190" = type { %"struct.std::_Vector_base.191" }
%"struct.std::_Vector_base.191" = type { %"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.195" = type { %"struct.std::_Vector_base.196" }
%"struct.std::_Vector_base.196" = type { %"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl" }
%"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl" = type { %"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl_data" }
%"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unique_ptr.200" = type { %"struct.std::__uniq_ptr_data.201" }
%"struct.std::__uniq_ptr_data.201" = type { %"class.std::__uniq_ptr_impl.202" }
%"class.std::__uniq_ptr_impl.202" = type { %"class.std::tuple.203" }
%"class.std::tuple.203" = type { %"struct.std::_Tuple_impl.204" }
%"struct.std::_Tuple_impl.204" = type { %"struct.std::_Head_base.207" }
%"struct.std::_Head_base.207" = type { ptr }
%"struct.HighsSimplexAnalysis::AnIterOpRec" = type { double, double, i32, i32, i32, i32, double, i32, %"class.std::__cxx11::basic_string", %struct.HighsValueDistribution }
%"struct.HighsSimplexAnalysis::AnIterTraceRec" = type { double, double, [10 x double], double, i32, i32, i32 }
%struct.HighsValueDistribution = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, i32, [4 x i8], double, double, %"class.std::vector.33", %"class.std::vector.3", i32, [4 x i8] }>
%struct.HighsSimplexStatus = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%struct.HighsSimplexInfo = type <{ %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", i32, i32, i8, i8, [6 x i8], %struct.SimplexBasis, i32, i32, i32, [4 x i8], %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", i32, i32, i32, i32, double, double, double, double, i32, i32, double, double, double, double, double, double, double, double, double, double, i8, [7 x i8], double, double, i32, [4 x i8], double, double, double, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, [4 x i8], double, double, i32, [4 x i8], double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, i32, [4 x i8] }>
%struct.SimplexBasis = type { %"class.std::vector.3", %"class.std::vector.208", %"class.std::vector.208", i64, i32, i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.208" = type { %"struct.std::_Vector_base.209" }
%"struct.std::_Vector_base.209" = type { %"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl" }
%"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl" = type { %"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable.213 = type { %"class.std::unique_ptr.214", %"class.std::unique_ptr.59", i64, i64, i64 }
%"class.std::unique_ptr.214" = type { %"struct.std::__uniq_ptr_data.215" }
%"struct.std::__uniq_ptr_data.215" = type { %"class.std::__uniq_ptr_impl.216" }
%"class.std::__uniq_ptr_impl.216" = type { %"class.std::tuple.217" }
%"class.std::tuple.217" = type { %"struct.std::_Tuple_impl.218" }
%"struct.std::_Tuple_impl.218" = type { %"struct.std::_Head_base.221" }
%"struct.std::_Head_base.221" = type { ptr }
%class.HSimplexNla = type { ptr, ptr, ptr, ptr, ptr, ptr, %class.HFactor, i8, double, %struct.ProductFormUpdate, %struct.SimplexIterate }
%class.HFactor = type { double, double, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %struct.RefactorInfo, i32, i32, i32, i32, i32, i32, i32, double, i8, ptr, ptr, ptr, ptr, double, double, i32, double, %"class.std::unique_ptr.222", %struct.HighsLogOptions, i8, i8, i32, i32, ptr, i32, %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.230", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %class.HVectorBase }
%struct.RefactorInfo = type { i8, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.208", double }
%"class.std::unique_ptr.222" = type { %"struct.std::__uniq_ptr_data.223" }
%"struct.std::__uniq_ptr_data.223" = type { %"class.std::__uniq_ptr_impl.224" }
%"class.std::__uniq_ptr_impl.224" = type { %"class.std::tuple.225" }
%"class.std::tuple.225" = type { %"struct.std::_Tuple_impl.226" }
%"struct.std::_Tuple_impl.226" = type { %"struct.std::_Head_base.229" }
%"struct.std::_Head_base.229" = type { ptr }
%"class.std::vector.230" = type { %"struct.std::_Vector_base.231" }
%"struct.std::_Vector_base.231" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.ProductFormUpdate = type { i8, i32, i32, %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33" }
%struct.SimplexIterate = type { i8, %struct.SimplexBasis, %struct.InvertibleRepresentation, %"class.std::vector.33" }
%struct.InvertibleRepresentation = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.33" }
%struct.HotStart = type { i8, %struct.RefactorInfo, %"class.std::vector.208" }
%struct.HighsRayRecord = type { i32, i32, %"class.std::vector.33" }
%"class.std::vector.232" = type { %"struct.std::_Vector_base.233" }
%"struct.std::_Vector_base.233" = type { %"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsSimplexStats = type { i8, i32, i32, i32, i32, double, double, double, double }
%struct.HighsPresolveLog = type { %"class.std::vector.237" }
%"class.std::vector.237" = type { %"struct.std::_Vector_base.238" }
%"struct.std::_Vector_base.238" = type { %"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.PresolveComponent = type { %class.HighsComponent.base, %struct.PresolveComponentInfo, %struct.PresolveComponentData, ptr, ptr, i32, i32 }
%class.HighsComponent.base = type <{ ptr, %struct.HighsComponentInfo, %struct.HighsComponentData, %struct.HighsComponentOptions }>
%struct.HighsComponentInfo = type { i8 }
%struct.HighsComponentData = type { i8 }
%struct.HighsComponentOptions = type { i8 }
%struct.PresolveComponentInfo = type { ptr, %struct.HighsComponentInfo, i32, i32, i32, double, double }
%struct.PresolveComponentData = type { ptr, %struct.HighsComponentData, %class.HighsLp, %"class.presolve::HighsPostsolveStack", %struct.HighsSolution, %struct.HighsBasis, %struct.HighsPresolveLog }
%"class.std::vector.252" = type { %"struct.std::_Vector_base.253" }
%"struct.std::_Vector_base.253" = type { %"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HVectorBase = type { i32, i32, %"class.std::vector.3", %"class.std::vector.33", double, %"class.std::vector.230", %"class.std::vector.3", ptr, i8, i32, %"class.std::vector.3", %"class.std::vector.33" }
%class.HighsSparseVectorSum = type { %"class.std::vector.28", %"class.std::vector.3" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%class.HighsPseudocost = type { %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", double, double, double, double, i64, i64, i64, i32, double }
%class.HighsCliqueTable = type { %"class.std::vector.257", %"class.std::vector.262", %"class.std::vector.267", %class.HighsHashTable.272, %"class.std::set", %"class.std::vector.3", %"class.std::vector.281", %"class.std::vector.3", %"class.std::vector.257", %"class.std::vector.3", %"class.std::vector.286", %"class.std::vector.3", %"class.std::vector.291", %"class.std::vector", %"class.std::vector", %"class.std::vector.122", %"class.std::vector.3", %class.HighsRandom, i32, i32, i32, i32, i8, i64 }
%"class.std::vector.262" = type { %"struct.std::_Vector_base.263" }
%"struct.std::_Vector_base.263" = type { %"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsHashTree<int, int>, std::allocator<HighsHashTree<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.267" = type { %"struct.std::_Vector_base.268" }
%"struct.std::_Vector_base.268" = type { %"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsHashTree<int>, std::allocator<HighsHashTree<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable.272 = type { %"class.std::unique_ptr.273", %"class.std::unique_ptr.59", i64, i64, i64 }
%"class.std::unique_ptr.273" = type { %"struct.std::__uniq_ptr_data.274" }
%"struct.std::__uniq_ptr_data.274" = type { %"class.std::__uniq_ptr_impl.275" }
%"class.std::__uniq_ptr_impl.275" = type { %"class.std::tuple.276" }
%"class.std::tuple.276" = type { %"struct.std::_Tuple_impl.277" }
%"struct.std::_Tuple_impl.277" = type { %"struct.std::_Head_base.280" }
%"struct.std::_Head_base.280" = type { ptr }
%"class.std::vector.281" = type { %"struct.std::_Vector_base.282" }
%"struct.std::_Vector_base.282" = type { %"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::Clique, std::allocator<HighsCliqueTable::Clique>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.257" = type { %"struct.std::_Vector_base.258" }
%"struct.std::_Vector_base.258" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::CliqueVar, std::allocator<HighsCliqueTable::CliqueVar>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.286" = type { %"struct.std::_Vector_base.287" }
%"struct.std::_Vector_base.287" = type { %"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCliqueTable::Substitution, std::allocator<HighsCliqueTable::Substitution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.291" = type { %"struct.std::_Vector_base.292" }
%"struct.std::_Vector_base.292" = type { %"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, HighsCliqueTable::CliqueVar>, std::allocator<std::pair<int, HighsCliqueTable::CliqueVar>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsImplications = type { i32, %"class.std::vector.296", i64, %"class.std::vector.301", %"class.std::vector.301", ptr, %"class.std::vector.306", %"class.std::vector", %"class.std::function.311" }
%"class.std::vector.296" = type { %"struct.std::_Vector_base.297" }
%"struct.std::_Vector_base.297" = type { %"struct.std::_Vector_base<HighsImplications::Implics, std::allocator<HighsImplications::Implics>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsImplications::Implics, std::allocator<HighsImplications::Implics>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsImplications::Implics, std::allocator<HighsImplications::Implics>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsImplications::Implics, std::allocator<HighsImplications::Implics>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.301" = type { %"struct.std::_Vector_base.302" }
%"struct.std::_Vector_base.302" = type { %"struct.std::_Vector_base<HighsHashTree<int, HighsImplications::VarBound>, std::allocator<HighsHashTree<int, HighsImplications::VarBound>>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsHashTree<int, HighsImplications::VarBound>, std::allocator<HighsHashTree<int, HighsImplications::VarBound>>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsHashTree<int, HighsImplications::VarBound>, std::allocator<HighsHashTree<int, HighsImplications::VarBound>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsHashTree<int, HighsImplications::VarBound>, std::allocator<HighsHashTree<int, HighsImplications::VarBound>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.306" = type { %"struct.std::_Vector_base.307" }
%"struct.std::_Vector_base.307" = type { %"struct.std::_Vector_base<HighsSubstitution, std::allocator<HighsSubstitution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsSubstitution, std::allocator<HighsSubstitution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsSubstitution, std::allocator<HighsSubstitution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsSubstitution, std::allocator<HighsSubstitution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::function.311" = type { %"class.std::_Function_base", ptr }
%class.HighsPrimalHeuristics = type { ptr, i64, i64, i64, i64, double, i32, double, i32, %class.HighsRandom, %"class.std::vector.3" }
%class.HighsRedcostFixing = type { %"class.std::vector.313", %"class.std::vector.313" }
%"class.std::vector.313" = type { %"struct.std::_Vector_base.314" }
%"struct.std::_Vector_base.314" = type { %"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsObjectiveFunction = type { ptr, double, i32, i32, %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.3" }
%"class.presolve::HighsPostsolveStack" = type { i64, double, double, double, double, %class.HighsDataStack, %"class.std::vector.242", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector", %"class.std::vector.247", %"class.std::vector.247", i32, i32 }
%class.HighsDataStack = type { %"class.std::vector.230", i64 }
%"class.std::vector.242" = type { %"struct.std::_Vector_base.243" }
%"struct.std::_Vector_base.243" = type { %"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.247" = type { %"struct.std::_Vector_base.248" }
%"struct.std::_Vector_base.248" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsLp = type { i32, i32, %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.94", %"class.std::vector.94", %"class.std::vector.142", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%"class.std::vector.142" = type { %"struct.std::_Vector_base.143" }
%"struct.std::_Vector_base.143" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsNameHash = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable.147" }
%"class.std::_Hashtable.147" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector.33", %"class.std::vector.33" }
%struct.HighsLpMods = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.142", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.3", %"class.std::vector.33", %"class.std::vector.33", %"class.std::vector.33" }
%struct.HighsSymmetries = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.318", %class.HighsHashTable.72, i32, i32 }
%"class.std::vector.318" = type { %"struct.std::_Vector_base.319" }
%"struct.std::_Vector_base.319" = type { %"struct.std::_Vector_base<HighsOrbitopeMatrix, std::allocator<HighsOrbitopeMatrix>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsOrbitopeMatrix, std::allocator<HighsOrbitopeMatrix>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsOrbitopeMatrix, std::allocator<HighsOrbitopeMatrix>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsOrbitopeMatrix, std::allocator<HighsOrbitopeMatrix>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::shared_ptr.323" = type { %"class.std::__shared_ptr.324" }
%"class.std::__shared_ptr.324" = type { ptr, %"class.std::__shared_count" }
%struct.HighsBasis = type { i8, i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::vector.132", %"class.std::vector.132" }
%"class.std::vector.132" = type { %"struct.std::_Vector_base.133" }
%"struct.std::_Vector_base.133" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsNodeQueue = type <{ %"class.std::unique_ptr.326", %"class.std::vector.334", %"class.std::priority_queue", %"class.std::unique_ptr.344", %"class.std::unique_ptr.344", i64, i64, i64, i64, i64, i64, i64, double, i32, [4 x i8] }>
%"class.std::unique_ptr.326" = type { %"struct.std::__uniq_ptr_data.327" }
%"struct.std::__uniq_ptr_data.327" = type { %"class.std::__uniq_ptr_impl.328" }
%"class.std::__uniq_ptr_impl.328" = type { %"class.std::tuple.329" }
%"class.std::tuple.329" = type { %"struct.std::_Tuple_impl.330" }
%"struct.std::_Tuple_impl.330" = type { %"struct.std::_Head_base.333" }
%"struct.std::_Head_base.333" = type { ptr }
%"class.std::vector.334" = type { %"struct.std::_Vector_base.335" }
%"struct.std::_Vector_base.335" = type { %"struct.std::_Vector_base<HighsNodeQueue::OpenNode, std::allocator<HighsNodeQueue::OpenNode>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsNodeQueue::OpenNode, std::allocator<HighsNodeQueue::OpenNode>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsNodeQueue::OpenNode, std::allocator<HighsNodeQueue::OpenNode>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsNodeQueue::OpenNode, std::allocator<HighsNodeQueue::OpenNode>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::priority_queue" = type <{ %"class.std::vector.339", [8 x i8] }>
%"class.std::vector.339" = type { %"struct.std::_Vector_base.340" }
%"struct.std::_Vector_base.340" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl" = type { %"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" }
%"struct.std::_Vector_base<long, std::allocator<long>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unique_ptr.344" = type { %"struct.std::__uniq_ptr_data.345" }
%"struct.std::__uniq_ptr_data.345" = type { %"class.std::__uniq_ptr_impl.346" }
%"class.std::__uniq_ptr_impl.346" = type { %"class.std::tuple.347" }
%"class.std::tuple.347" = type { %"struct.std::_Tuple_impl.348" }
%"struct.std::_Tuple_impl.348" = type { %"struct.std::_Head_base.351" }
%"struct.std::_Head_base.351" = type { ptr }
%struct.HighsPrimaDualIntegral = type { double, double, double, double, double }
%"struct.HighsSearch::NodeData" = type <{ double, double, double, double, double, %"class.std::shared_ptr", %"class.std::shared_ptr.323", %struct.HighsDomainChange, i32, i8, i8, [2 x i8] }>

@.str.52 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [37 x i8], align 1
@__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_ = external hidden unnamed_addr constant [76 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.57 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [51 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; 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) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824)) #1 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 void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(1)) #4 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064), ptr noundef nonnull align 8 dereferenceable(16)) #4 align 2

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

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

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.floor.f64(double) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #6

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.ceil.f64(double) #5

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

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

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

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

declare void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824), double, i64, i64) #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local i64 @_ZN11HighsDomain6Reason9branchingEv() #1 align 2

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

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

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

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

declare void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425), i1 noundef zeroext) #7

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN11HighsSearch24selectBranchingCandidateElRdS0_(ptr noundef nonnull align 8 dereferenceable(1064) %0, i64 noundef %1, ptr noundef nonnull align 8 dereferenceable(8) %2, ptr noundef nonnull align 8 dereferenceable(8) %3) #4 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca i64, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %"class.std::vector.33", align 8
  %11 = alloca %"class.std::vector.33", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector.33", align 8
  %15 = alloca %"class.std::vector.33", align 8
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca ptr, align 8
  %20 = alloca double, align 8
  %21 = alloca double, align 8
  %22 = alloca i8, align 1
  %23 = alloca i8, align 1
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca double, align 8
  %27 = alloca double, align 8
  %28 = alloca i8, align 1
  %29 = alloca double, align 8
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca %"class.std::vector.3", align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %35 = alloca %class.anon, align 8
  %36 = alloca %class.anon.352, align 8
  %37 = alloca double, align 8
  %38 = alloca %class.anon.353, align 8
  %39 = alloca %"class.HighsLpRelaxation::Playground", align 8
  %40 = alloca i8, align 1
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca double, align 8
  %45 = alloca double, align 8
  %46 = alloca double, align 8
  %47 = alloca %class.anon.354, align 8
  %48 = alloca %"struct.std::pair.355", align 8
  %49 = alloca double, align 8
  %50 = alloca %"struct.std::pair.355", align 8
  %51 = alloca double, align 8
  %52 = alloca i64, align 8
  %53 = alloca %struct.HighsDomainChange, align 8
  %54 = alloca i8, align 1
  %55 = alloca %struct.HighsDomainChange, align 8
  %56 = alloca %"struct.HighsDomain::Reason", align 4
  %57 = alloca %struct.HighsDomainChange, align 8
  %58 = alloca i64, align 8
  %59 = alloca i32, align 4
  %60 = alloca double, align 8
  %61 = alloca i8, align 1
  %62 = alloca ptr, align 8
  %63 = alloca double, align 8
  %64 = alloca double, align 8
  %65 = alloca double, align 8
  %66 = alloca double, align 8
  %67 = alloca double, align 8
  %68 = alloca i8, align 1
  %69 = alloca %struct.HighsDomainChange, align 8
  %70 = alloca i8, align 1
  %71 = alloca %struct.HighsDomainChange, align 8
  %72 = alloca %struct.HighsDomainChange, align 8
  %73 = alloca %struct.HighsDomainChange, align 8
  %74 = alloca i64, align 8
  %75 = alloca %struct.HighsDomainChange, align 8
  %76 = alloca i8, align 1
  %77 = alloca %struct.HighsDomainChange, align 8
  %78 = alloca %"struct.HighsDomain::Reason", align 4
  %79 = alloca %struct.HighsDomainChange, align 8
  %80 = alloca i64, align 8
  %81 = alloca i32, align 4
  %82 = alloca double, align 8
  %83 = alloca i8, align 1
  %84 = alloca ptr, align 8
  %85 = alloca double, align 8
  %86 = alloca double, align 8
  %87 = alloca double, align 8
  %88 = alloca double, align 8
  %89 = alloca double, align 8
  %90 = alloca i8, align 1
  %91 = alloca %struct.HighsDomainChange, align 8
  %92 = alloca i8, align 1
  %93 = alloca %struct.HighsDomainChange, align 8
  %94 = alloca %struct.HighsDomainChange, align 8
  %95 = alloca %struct.HighsDomainChange, align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store i64 %1, ptr %7, align 8, !tbaa !9
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  %96 = load ptr, ptr %6, align 8
  %97 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %98 = load ptr, ptr %97, align 8, !tbaa !11
  %99 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %98)
  %100 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIidESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #9
  %101 = xor i1 %100, true
  br i1 %101, label %102, label %103

102:                                              ; preds = %4
  br label %105

103:                                              ; preds = %4
  call void @__assert_fail(ptr noundef @.str.56, ptr noundef @.str.52, i32 noundef 247, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_) #10
  unreachable

104:                                              ; No predecessors!
  br label %105

105:                                              ; preds = %104, %102
  call void @llvm.lifetime.start.p0(i64 24, ptr %10) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %13) #9
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %106 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %107 = load ptr, ptr %106, align 8, !tbaa !11
  %108 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %107)
          to label %109 unwind label %143

109:                                              ; preds = %105
  %110 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %108) #9
  %111 = trunc i64 %110 to i32
  store i32 %111, ptr %16, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #9
  %112 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %113 = load ptr, ptr %112, align 8, !tbaa !11
  %114 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %113)
          to label %115 unwind label %147

115:                                              ; preds = %109
  store ptr %114, ptr %19, align 8, !tbaa !5
  %116 = load i32, ptr %16, align 4, !tbaa !96
  %117 = sext i32 %116 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %117, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %118 unwind label %147

118:                                              ; preds = %115
  %119 = load i32, ptr %16, align 4, !tbaa !96
  %120 = sext i32 %119 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %120, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %121 unwind label %147

121:                                              ; preds = %118
  %122 = load i32, ptr %16, align 4, !tbaa !96
  %123 = sext i32 %122 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #9
  %124 = invoke noundef double @_ZNK11HighsSearch20getCurrentLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %125 unwind label %151

125:                                              ; preds = %121
  store double %124, ptr %20, align 8, !tbaa !97
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %123, ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %126 unwind label %151

126:                                              ; preds = %125
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  %127 = load i32, ptr %16, align 4, !tbaa !96
  %128 = sext i32 %127 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  %129 = invoke noundef double @_ZNK11HighsSearch20getCurrentLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %130 unwind label %155

130:                                              ; preds = %126
  store double %129, ptr %21, align 8, !tbaa !97
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %128, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %131 unwind label %155

131:                                              ; preds = %130
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  %132 = load i32, ptr %16, align 4, !tbaa !96
  %133 = sext i32 %132 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #9
  store i8 0, ptr %22, align 1, !tbaa !98
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %133, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %134 unwind label %159

134:                                              ; preds = %131
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #9
  %135 = load i32, ptr %16, align 4, !tbaa !96
  %136 = sext i32 %135 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #9
  store i8 0, ptr %23, align 1, !tbaa !98
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %136, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %137 unwind label %163

137:                                              ; preds = %134
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  store i32 0, ptr %24, align 4, !tbaa !96
  br label %138

138:                                              ; preds = %382, %137
  %139 = load i32, ptr %24, align 4, !tbaa !96
  %140 = load i32, ptr %16, align 4, !tbaa !96
  %141 = icmp ne i32 %139, %140
  br i1 %141, label %167, label %142

142:                                              ; preds = %138
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %387

143:                                              ; preds = %105
  %144 = landingpad { ptr, i32 }
          cleanup
  %145 = extractvalue { ptr, i32 } %144, 0
  store ptr %145, ptr %17, align 8
  %146 = extractvalue { ptr, i32 } %144, 1
  store i32 %146, ptr %18, align 4
  br label %1619

147:                                              ; preds = %118, %115, %109
  %148 = landingpad { ptr, i32 }
          cleanup
  %149 = extractvalue { ptr, i32 } %148, 0
  store ptr %149, ptr %17, align 8
  %150 = extractvalue { ptr, i32 } %148, 1
  store i32 %150, ptr %18, align 4
  br label %1618

151:                                              ; preds = %125, %121
  %152 = landingpad { ptr, i32 }
          cleanup
  %153 = extractvalue { ptr, i32 } %152, 0
  store ptr %153, ptr %17, align 8
  %154 = extractvalue { ptr, i32 } %152, 1
  store i32 %154, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  br label %1618

155:                                              ; preds = %130, %126
  %156 = landingpad { ptr, i32 }
          cleanup
  %157 = extractvalue { ptr, i32 } %156, 0
  store ptr %157, ptr %17, align 8
  %158 = extractvalue { ptr, i32 } %156, 1
  store i32 %158, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  br label %1618

159:                                              ; preds = %131
  %160 = landingpad { ptr, i32 }
          cleanup
  %161 = extractvalue { ptr, i32 } %160, 0
  store ptr %161, ptr %17, align 8
  %162 = extractvalue { ptr, i32 } %160, 1
  store i32 %162, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #9
  br label %1618

163:                                              ; preds = %134
  %164 = landingpad { ptr, i32 }
          cleanup
  %165 = extractvalue { ptr, i32 } %164, 0
  store ptr %165, ptr %17, align 8
  %166 = extractvalue { ptr, i32 } %164, 1
  store i32 %166, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #9
  br label %1618

167:                                              ; preds = %138
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %168 = load ptr, ptr %19, align 8, !tbaa !5
  %169 = load i32, ptr %24, align 4, !tbaa !96
  %170 = sext i32 %169 to i64
  %171 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %168, i64 noundef %170) #9
  %172 = getelementptr inbounds %"struct.std::pair", ptr %171, i32 0, i32 0
  %173 = load i32, ptr %172, align 8, !tbaa !99
  store i32 %173, ptr %25, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #9
  %174 = load ptr, ptr %19, align 8, !tbaa !5
  %175 = load i32, ptr %24, align 4, !tbaa !96
  %176 = sext i32 %175 to i64
  %177 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %174, i64 noundef %176) #9
  %178 = getelementptr inbounds %"struct.std::pair", ptr %177, i32 0, i32 1
  %179 = load double, ptr %178, align 8, !tbaa !101
  store double %179, ptr %26, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #9
  %180 = load double, ptr %26, align 8, !tbaa !97
  %181 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %182 = getelementptr inbounds %class.HighsDomain, ptr %181, i32 0, i32 25
  %183 = load i32, ptr %25, align 4, !tbaa !96
  %184 = sext i32 %183 to i64
  %185 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %182, i64 noundef %184) #9
  %186 = load double, ptr %185, align 8, !tbaa !97
  %187 = fsub double %180, %186
  %188 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %189 = load ptr, ptr %188, align 8, !tbaa !102
  %190 = getelementptr inbounds %class.HighsMipSolver, ptr %189, i32 0, i32 25
  %191 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %190) #9
  %192 = getelementptr inbounds %struct.HighsMipSolverData, ptr %191, i32 0, i32 40
  %193 = load double, ptr %192, align 8, !tbaa !103
  %194 = fsub double %187, %193
  store double %194, ptr %27, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #9
  %195 = load double, ptr %27, align 8, !tbaa !97
  %196 = fcmp ogt double %195, 0.000000e+00
  %197 = zext i1 %196 to i8
  store i8 %197, ptr %28, align 1, !tbaa !393
  %198 = load i8, ptr %28, align 1, !tbaa !393, !range !394, !noundef !395
  %199 = trunc i8 %198 to i1
  br i1 %199, label %238, label %200

200:                                              ; preds = %167
  %201 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %202 = load ptr, ptr %201, align 8, !tbaa !102
  %203 = getelementptr inbounds %class.HighsMipSolver, ptr %202, i32 0, i32 1
  %204 = load ptr, ptr %203, align 8, !tbaa !396
  %205 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %204, i32 0, i32 130
  %206 = load double, ptr %26, align 8, !tbaa !97
  %207 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %208 = getelementptr inbounds %class.HighsDomain, ptr %207, i32 0, i32 25
  %209 = load i32, ptr %25, align 4, !tbaa !96
  %210 = sext i32 %209 to i64
  %211 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %208, i64 noundef %210) #9
  %212 = load double, ptr %211, align 8, !tbaa !97
  %213 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %214 = load ptr, ptr %213, align 8, !tbaa !102
  %215 = getelementptr inbounds %class.HighsMipSolver, ptr %214, i32 0, i32 25
  %216 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %215) #9
  %217 = getelementptr inbounds %struct.HighsMipSolverData, ptr %216, i32 0, i32 40
  %218 = load double, ptr %217, align 8, !tbaa !103
  %219 = fadd double %212, %218
  %220 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %221 = getelementptr inbounds %class.HighsDomain, ptr %220, i32 0, i32 25
  %222 = load i32, ptr %25, align 4, !tbaa !96
  %223 = sext i32 %222 to i64
  %224 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %221, i64 noundef %223) #9
  %225 = load double, ptr %224, align 8, !tbaa !97
  %226 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %227 = load ptr, ptr %226, align 8, !tbaa !102
  %228 = getelementptr inbounds %class.HighsMipSolver, ptr %227, i32 0, i32 25
  %229 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %228) #9
  %230 = getelementptr inbounds %struct.HighsMipSolverData, ptr %229, i32 0, i32 40
  %231 = load double, ptr %230, align 8, !tbaa !103
  %232 = load double, ptr %27, align 8, !tbaa !97
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %205, i32 noundef 5, ptr noundef @.str.57, double noundef %206, double noundef %219, double noundef %225, double noundef %231, double noundef %232)
          to label %233 unwind label %234

233:                                              ; preds = %200
  br label %238

234:                                              ; preds = %200
  %235 = landingpad { ptr, i32 }
          cleanup
  %236 = extractvalue { ptr, i32 } %235, 0
  store ptr %236, ptr %17, align 8
  %237 = extractvalue { ptr, i32 } %235, 1
  store i32 %237, ptr %18, align 4
  br label %386

238:                                              ; preds = %233, %167
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #9
  %239 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %240 = getelementptr inbounds %class.HighsDomain, ptr %239, i32 0, i32 26
  %241 = load i32, ptr %25, align 4, !tbaa !96
  %242 = sext i32 %241 to i64
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %240, i64 noundef %242) #9
  %244 = load double, ptr %243, align 8, !tbaa !97
  %245 = load double, ptr %26, align 8, !tbaa !97
  %246 = fsub double %244, %245
  %247 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %248 = load ptr, ptr %247, align 8, !tbaa !102
  %249 = getelementptr inbounds %class.HighsMipSolver, ptr %248, i32 0, i32 25
  %250 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %249) #9
  %251 = getelementptr inbounds %struct.HighsMipSolverData, ptr %250, i32 0, i32 40
  %252 = load double, ptr %251, align 8, !tbaa !103
  %253 = fsub double %246, %252
  store double %253, ptr %29, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #9
  %254 = load double, ptr %29, align 8, !tbaa !97
  %255 = fcmp ogt double %254, 0.000000e+00
  %256 = zext i1 %255 to i8
  store i8 %256, ptr %30, align 1, !tbaa !393
  %257 = load i8, ptr %30, align 1, !tbaa !393, !range !394, !noundef !395
  %258 = trunc i8 %257 to i1
  br i1 %258, label %297, label %259

259:                                              ; preds = %238
  %260 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %261 = load ptr, ptr %260, align 8, !tbaa !102
  %262 = getelementptr inbounds %class.HighsMipSolver, ptr %261, i32 0, i32 1
  %263 = load ptr, ptr %262, align 8, !tbaa !396
  %264 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %263, i32 0, i32 130
  %265 = load double, ptr %26, align 8, !tbaa !97
  %266 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %267 = getelementptr inbounds %class.HighsDomain, ptr %266, i32 0, i32 26
  %268 = load i32, ptr %25, align 4, !tbaa !96
  %269 = sext i32 %268 to i64
  %270 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %269) #9
  %271 = load double, ptr %270, align 8, !tbaa !97
  %272 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %273 = load ptr, ptr %272, align 8, !tbaa !102
  %274 = getelementptr inbounds %class.HighsMipSolver, ptr %273, i32 0, i32 25
  %275 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %274) #9
  %276 = getelementptr inbounds %struct.HighsMipSolverData, ptr %275, i32 0, i32 40
  %277 = load double, ptr %276, align 8, !tbaa !103
  %278 = fsub double %271, %277
  %279 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %280 = getelementptr inbounds %class.HighsDomain, ptr %279, i32 0, i32 26
  %281 = load i32, ptr %25, align 4, !tbaa !96
  %282 = sext i32 %281 to i64
  %283 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %280, i64 noundef %282) #9
  %284 = load double, ptr %283, align 8, !tbaa !97
  %285 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %286 = load ptr, ptr %285, align 8, !tbaa !102
  %287 = getelementptr inbounds %class.HighsMipSolver, ptr %286, i32 0, i32 25
  %288 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %287) #9
  %289 = getelementptr inbounds %struct.HighsMipSolverData, ptr %288, i32 0, i32 40
  %290 = load double, ptr %289, align 8, !tbaa !103
  %291 = load double, ptr %29, align 8, !tbaa !97
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %264, i32 noundef 5, ptr noundef @.str.58, double noundef %265, double noundef %278, double noundef %284, double noundef %290, double noundef %291)
          to label %292 unwind label %293

292:                                              ; preds = %259
  br label %297

293:                                              ; preds = %320, %314, %308, %259
  %294 = landingpad { ptr, i32 }
          cleanup
  %295 = extractvalue { ptr, i32 } %294, 0
  store ptr %295, ptr %17, align 8
  %296 = extractvalue { ptr, i32 } %294, 1
  store i32 %296, ptr %18, align 4
  br label %385

297:                                              ; preds = %292, %238
  %298 = load double, ptr %27, align 8, !tbaa !97
  %299 = fcmp ogt double %298, 0xBD719799812DEA11
  br i1 %299, label %300, label %303

300:                                              ; preds = %297
  %301 = load double, ptr %29, align 8, !tbaa !97
  %302 = fcmp ogt double %301, 0xBD719799812DEA11
  br label %303

303:                                              ; preds = %300, %297
  %304 = phi i1 [ false, %297 ], [ %302, %300 ]
  br i1 %304, label %305, label %306

305:                                              ; preds = %303
  br label %308

306:                                              ; preds = %303
  call void @__assert_fail(ptr noundef @.str.59, ptr noundef @.str.52, i32 noundef 301, ptr noundef @__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_) #10
  unreachable

307:                                              ; No predecessors!
  br label %308

308:                                              ; preds = %307, %305
  %309 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %310 = load ptr, ptr %309, align 8, !tbaa !406
  %311 = load i32, ptr %25, align 4, !tbaa !96
  %312 = invoke noundef zeroext i1 @_ZNK15HighsPseudocost10isReliableEi(ptr noundef nonnull align 8 dereferenceable(360) %310, i32 noundef %311)
          to label %313 unwind label %293

313:                                              ; preds = %308
  br i1 %312, label %314, label %339

314:                                              ; preds = %313
  %315 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %316 = load ptr, ptr %315, align 8, !tbaa !406
  %317 = load i32, ptr %25, align 4, !tbaa !96
  %318 = load double, ptr %26, align 8, !tbaa !97
  %319 = invoke noundef double @_ZNK15HighsPseudocost15getPseudocostUpEid(ptr noundef nonnull align 8 dereferenceable(360) %316, i32 noundef %317, double noundef %318)
          to label %320 unwind label %293

320:                                              ; preds = %314
  %321 = load i32, ptr %24, align 4, !tbaa !96
  %322 = sext i32 %321 to i64
  %323 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %322) #9
  store double %319, ptr %323, align 8, !tbaa !97
  %324 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %325 = load ptr, ptr %324, align 8, !tbaa !406
  %326 = load i32, ptr %25, align 4, !tbaa !96
  %327 = load double, ptr %26, align 8, !tbaa !97
  %328 = invoke noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360) %325, i32 noundef %326, double noundef %327)
          to label %329 unwind label %293

329:                                              ; preds = %320
  %330 = load i32, ptr %24, align 4, !tbaa !96
  %331 = sext i32 %330 to i64
  %332 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %331) #9
  store double %328, ptr %332, align 8, !tbaa !97
  %333 = load i32, ptr %24, align 4, !tbaa !96
  %334 = sext i32 %333 to i64
  %335 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %334) #9
  store i8 1, ptr %335, align 1, !tbaa !98
  %336 = load i32, ptr %24, align 4, !tbaa !96
  %337 = sext i32 %336 to i64
  %338 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %337) #9
  store i8 1, ptr %338, align 1, !tbaa !98
  br label %381

339:                                              ; preds = %313
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %340 = load i32, ptr %25, align 4, !tbaa !96
  %341 = invoke noundef i32 @_ZNK11HighsSearch31branchingVarReliableAtNodeFlagsEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %340)
          to label %342 unwind label %359

342:                                              ; preds = %339
  store i32 %341, ptr %31, align 4, !tbaa !96
  %343 = load i32, ptr %31, align 4, !tbaa !96
  %344 = and i32 %343, 1
  %345 = icmp ne i32 %344, 0
  br i1 %345, label %346, label %363

346:                                              ; preds = %342
  %347 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %348 = load ptr, ptr %347, align 8, !tbaa !406
  %349 = load i32, ptr %25, align 4, !tbaa !96
  %350 = load double, ptr %26, align 8, !tbaa !97
  %351 = invoke noundef double @_ZNK15HighsPseudocost15getPseudocostUpEid(ptr noundef nonnull align 8 dereferenceable(360) %348, i32 noundef %349, double noundef %350)
          to label %352 unwind label %359

352:                                              ; preds = %346
  %353 = load i32, ptr %24, align 4, !tbaa !96
  %354 = sext i32 %353 to i64
  %355 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %354) #9
  store double %351, ptr %355, align 8, !tbaa !97
  %356 = load i32, ptr %24, align 4, !tbaa !96
  %357 = sext i32 %356 to i64
  %358 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %357) #9
  store i8 1, ptr %358, align 1, !tbaa !98
  br label %363

359:                                              ; preds = %367, %346, %339
  %360 = landingpad { ptr, i32 }
          cleanup
  %361 = extractvalue { ptr, i32 } %360, 0
  store ptr %361, ptr %17, align 8
  %362 = extractvalue { ptr, i32 } %360, 1
  store i32 %362, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %385

363:                                              ; preds = %352, %342
  %364 = load i32, ptr %31, align 4, !tbaa !96
  %365 = and i32 %364, 2
  %366 = icmp ne i32 %365, 0
  br i1 %366, label %367, label %380

367:                                              ; preds = %363
  %368 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %369 = load ptr, ptr %368, align 8, !tbaa !406
  %370 = load i32, ptr %25, align 4, !tbaa !96
  %371 = load double, ptr %26, align 8, !tbaa !97
  %372 = invoke noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360) %369, i32 noundef %370, double noundef %371)
          to label %373 unwind label %359

373:                                              ; preds = %367
  %374 = load i32, ptr %24, align 4, !tbaa !96
  %375 = sext i32 %374 to i64
  %376 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %375) #9
  store double %372, ptr %376, align 8, !tbaa !97
  %377 = load i32, ptr %24, align 4, !tbaa !96
  %378 = sext i32 %377 to i64
  %379 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %378) #9
  store i8 1, ptr %379, align 1, !tbaa !98
  br label %380

380:                                              ; preds = %373, %363
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %381

381:                                              ; preds = %380, %329
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %382

382:                                              ; preds = %381
  %383 = load i32, ptr %24, align 4, !tbaa !96
  %384 = add nsw i32 %383, 1
  store i32 %384, ptr %24, align 4, !tbaa !96
  br label %138, !llvm.loop !407

385:                                              ; preds = %359, %293
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #9
  br label %386

386:                                              ; preds = %385, %234
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1618

387:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  %388 = load i32, ptr %16, align 4, !tbaa !96
  %389 = sext i32 %388 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %389)
          to label %390 unwind label %472

390:                                              ; preds = %387
  %391 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  %392 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %33, i32 0, i32 0
  store ptr %391, ptr %392, align 8
  %393 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  %394 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %34, i32 0, i32 0
  store ptr %393, ptr %394, align 8
  %395 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %33, i32 0, i32 0
  %396 = load ptr, ptr %395, align 8
  %397 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %34, i32 0, i32 0
  %398 = load ptr, ptr %397, align 8
  invoke void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_T0_(ptr %396, ptr %398, i32 noundef 0)
          to label %399 unwind label %472

399:                                              ; preds = %390
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #9
  %400 = getelementptr inbounds %class.anon, ptr %35, i32 0, i32 0
  store ptr %96, ptr %400, align 8, !tbaa !409
  %401 = getelementptr inbounds %class.anon, ptr %35, i32 0, i32 1
  %402 = load ptr, ptr %19, align 8, !tbaa !5
  store ptr %402, ptr %401, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #9
  %403 = getelementptr inbounds %class.anon.352, ptr %36, i32 0, i32 0
  store ptr %96, ptr %403, align 8, !tbaa !411
  %404 = getelementptr inbounds %class.anon.352, ptr %36, i32 0, i32 1
  %405 = load ptr, ptr %19, align 8, !tbaa !5
  store ptr %405, ptr %404, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  %406 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %407 = load ptr, ptr %406, align 8, !tbaa !102
  %408 = getelementptr inbounds %class.HighsMipSolver, ptr %407, i32 0, i32 25
  %409 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %408) #9
  %410 = getelementptr inbounds %struct.HighsMipSolverData, ptr %409, i32 0, i32 40
  %411 = load double, ptr %410, align 8, !tbaa !103
  store double %411, ptr %37, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 80, ptr %38) #9
  %412 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 0
  store ptr %37, ptr %412, align 8, !tbaa !5
  %413 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 1
  store ptr %32, ptr %413, align 8, !tbaa !5
  %414 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 2
  store ptr %10, ptr %414, align 8, !tbaa !5
  %415 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 3
  store ptr %12, ptr %415, align 8, !tbaa !5
  %416 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 4
  store ptr %11, ptr %416, align 8, !tbaa !5
  %417 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 5
  store ptr %13, ptr %417, align 8, !tbaa !5
  %418 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 6
  store ptr %96, ptr %418, align 8, !tbaa !413
  %419 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 7
  %420 = load ptr, ptr %19, align 8, !tbaa !5
  store ptr %420, ptr %419, align 8, !tbaa !5
  %421 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 8
  store ptr %35, ptr %421, align 8, !tbaa !5
  %422 = getelementptr inbounds %class.anon.353, ptr %38, i32 0, i32 9
  store ptr %36, ptr %422, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #9
  %423 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %424 = load ptr, ptr %423, align 8, !tbaa !11
  invoke void @_ZN17HighsLpRelaxation10playgroundEv(ptr dead_on_unwind writable sret(%"class.HighsLpRelaxation::Playground") align 8 %39, ptr noundef nonnull align 8 dereferenceable(21425) %424)
          to label %425 unwind label %476

425:                                              ; preds = %399
  br label %426

426:                                              ; preds = %1610, %425
  br label %427

427:                                              ; preds = %426
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #9
  %428 = invoke noundef i64 @_ZNK11HighsSearch30getStrongBranchingLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %429 unwind label %480

429:                                              ; preds = %427
  %430 = load i64, ptr %7, align 8, !tbaa !9
  %431 = icmp sge i64 %428, %430
  br i1 %431, label %439, label %432

432:                                              ; preds = %429
  %433 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %434 = load ptr, ptr %433, align 8, !tbaa !102
  %435 = getelementptr inbounds %class.HighsMipSolver, ptr %434, i32 0, i32 25
  %436 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %435) #9
  %437 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %436, i64 noundef 0)
          to label %438 unwind label %480

438:                                              ; preds = %432
  br label %439

439:                                              ; preds = %438, %429
  %440 = phi i1 [ true, %429 ], [ %437, %438 ]
  %441 = zext i1 %440 to i8
  store i8 %441, ptr %40, align 1, !tbaa !393
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %442 = load i8, ptr %40, align 1, !tbaa !393, !range !394, !noundef !395
  %443 = trunc i8 %442 to i1
  %444 = invoke noundef i32 @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_2clEb"(ptr noundef nonnull align 8 dereferenceable(80) %38, i1 noundef zeroext %443)
          to label %445 unwind label %484

445:                                              ; preds = %439
  store i32 %444, ptr %41, align 4, !tbaa !96
  %446 = load i32, ptr %41, align 4, !tbaa !96
  %447 = sext i32 %446 to i64
  %448 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %447) #9
  %449 = load i8, ptr %448, align 1, !tbaa !98
  %450 = icmp ne i8 %449, 0
  br i1 %450, label %451, label %457

451:                                              ; preds = %445
  %452 = load i32, ptr %41, align 4, !tbaa !96
  %453 = sext i32 %452 to i64
  %454 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %453) #9
  %455 = load i8, ptr %454, align 1, !tbaa !98
  %456 = icmp ne i8 %455, 0
  br i1 %456, label %460, label %457

457:                                              ; preds = %451, %445
  %458 = load i8, ptr %40, align 1, !tbaa !393, !range !394, !noundef !395
  %459 = trunc i8 %458 to i1
  br i1 %459, label %460, label %488

460:                                              ; preds = %457, %451
  %461 = load i32, ptr %41, align 4, !tbaa !96
  %462 = sext i32 %461 to i64
  %463 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %462) #9
  %464 = load double, ptr %463, align 8, !tbaa !97
  %465 = load ptr, ptr %8, align 8, !tbaa !5
  store double %464, ptr %465, align 8, !tbaa !97
  %466 = load i32, ptr %41, align 4, !tbaa !96
  %467 = sext i32 %466 to i64
  %468 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %467) #9
  %469 = load double, ptr %468, align 8, !tbaa !97
  %470 = load ptr, ptr %9, align 8, !tbaa !5
  store double %469, ptr %470, align 8, !tbaa !97
  %471 = load i32, ptr %41, align 4, !tbaa !96
  store i32 %471, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1608

472:                                              ; preds = %390, %387
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %17, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %18, align 4
  br label %1617

476:                                              ; preds = %399
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %17, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %18, align 4
  br label %1616

480:                                              ; preds = %432, %427
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %17, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %18, align 4
  br label %1613

484:                                              ; preds = %488, %439
  %485 = landingpad { ptr, i32 }
          cleanup
  %486 = extractvalue { ptr, i32 } %485, 0
  store ptr %486, ptr %17, align 8
  %487 = extractvalue { ptr, i32 } %485, 1
  store i32 %487, ptr %18, align 4
  br label %1612

488:                                              ; preds = %457
  %489 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %490 = load ptr, ptr %489, align 8, !tbaa !11
  %491 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %492 = load ptr, ptr %491, align 8, !tbaa !102
  %493 = getelementptr inbounds %class.HighsMipSolver, ptr %492, i32 0, i32 25
  %494 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %493) #9
  %495 = getelementptr inbounds %struct.HighsMipSolverData, ptr %494, i32 0, i32 77
  %496 = load double, ptr %495, align 8, !tbaa !415
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %490, double noundef %496)
          to label %497 unwind label %484

497:                                              ; preds = %488
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  %498 = load ptr, ptr %19, align 8, !tbaa !5
  %499 = load i32, ptr %41, align 4, !tbaa !96
  %500 = sext i32 %499 to i64
  %501 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %498, i64 noundef %500) #9
  %502 = getelementptr inbounds %"struct.std::pair", ptr %501, i32 0, i32 0
  %503 = load i32, ptr %502, align 8, !tbaa !99
  store i32 %503, ptr %43, align 4, !tbaa !96
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #9
  %504 = load ptr, ptr %19, align 8, !tbaa !5
  %505 = load i32, ptr %41, align 4, !tbaa !96
  %506 = sext i32 %505 to i64
  %507 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %504, i64 noundef %506) #9
  %508 = getelementptr inbounds %"struct.std::pair", ptr %507, i32 0, i32 1
  %509 = load double, ptr %508, align 8, !tbaa !101
  store double %509, ptr %44, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  %510 = load double, ptr %44, align 8, !tbaa !97
  %511 = call double @llvm.ceil.f64(double %510)
  store double %511, ptr %45, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #9
  %512 = load double, ptr %44, align 8, !tbaa !97
  %513 = call double @llvm.floor.f64(double %512)
  store double %513, ptr %46, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 48, ptr %47) #9
  %514 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 0
  store ptr %96, ptr %514, align 8, !tbaa !416
  %515 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 1
  store ptr %16, ptr %515, align 8, !tbaa !5
  %516 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 2
  %517 = load ptr, ptr %19, align 8, !tbaa !5
  store ptr %517, ptr %516, align 8, !tbaa !5
  %518 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 3
  store ptr %43, ptr %518, align 8, !tbaa !5
  %519 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 4
  store ptr %11, ptr %519, align 8, !tbaa !5
  %520 = getelementptr inbounds %class.anon.354, ptr %47, i32 0, i32 5
  store ptr %10, ptr %520, align 8, !tbaa !5
  %521 = load i32, ptr %41, align 4, !tbaa !96
  %522 = sext i32 %521 to i64
  %523 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %522) #9
  %524 = load i8, ptr %523, align 1, !tbaa !98
  %525 = icmp ne i8 %524, 0
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #9
  br i1 %525, label %565, label %526

526:                                              ; preds = %497
  %527 = load i32, ptr %41, align 4, !tbaa !96
  %528 = sext i32 %527 to i64
  %529 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %528) #9
  %530 = load i8, ptr %529, align 1, !tbaa !98
  %531 = icmp ne i8 %530, 0
  br i1 %531, label %563, label %532

532:                                              ; preds = %526
  %533 = load i32, ptr %41, align 4, !tbaa !96
  %534 = sext i32 %533 to i64
  %535 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %534) #9
  %536 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %537 = load ptr, ptr %536, align 8, !tbaa !406
  %538 = load i32, ptr %43, align 4, !tbaa !96
  %539 = invoke noundef double @_ZNK15HighsPseudocost20getAvgInferencesDownEi(ptr noundef nonnull align 8 dereferenceable(360) %537, i32 noundef %538)
          to label %540 unwind label %615

540:                                              ; preds = %532
  store double %539, ptr %49, align 8, !tbaa !97
  %541 = invoke { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8) %535, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %542 unwind label %615

542:                                              ; preds = %540
  %543 = getelementptr inbounds { double, double }, ptr %48, i32 0, i32 0
  %544 = extractvalue { double, double } %541, 0
  store double %544, ptr %543, align 8
  %545 = getelementptr inbounds { double, double }, ptr %48, i32 0, i32 1
  %546 = extractvalue { double, double } %541, 1
  store double %546, ptr %545, align 8
  %547 = load i32, ptr %41, align 4, !tbaa !96
  %548 = sext i32 %547 to i64
  %549 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %548) #9
  %550 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %551 = load ptr, ptr %550, align 8, !tbaa !406
  %552 = load i32, ptr %43, align 4, !tbaa !96
  %553 = invoke noundef double @_ZNK15HighsPseudocost18getAvgInferencesUpEi(ptr noundef nonnull align 8 dereferenceable(360) %551, i32 noundef %552)
          to label %554 unwind label %619

554:                                              ; preds = %542
  store double %553, ptr %51, align 8, !tbaa !97
  %555 = invoke { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8) %549, ptr noundef nonnull align 8 dereferenceable(8) %51)
          to label %556 unwind label %619

556:                                              ; preds = %554
  %557 = getelementptr inbounds { double, double }, ptr %50, i32 0, i32 0
  %558 = extractvalue { double, double } %555, 0
  store double %558, ptr %557, align 8
  %559 = getelementptr inbounds { double, double }, ptr %50, i32 0, i32 1
  %560 = extractvalue { double, double } %555, 1
  store double %560, ptr %559, align 8
  %561 = invoke noundef zeroext i1 @_ZStgeIddEbRKSt4pairIT_T0_ES5_(ptr noundef nonnull align 8 dereferenceable(16) %48, ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %562 unwind label %619

562:                                              ; preds = %556
  br label %563

563:                                              ; preds = %562, %526
  %564 = phi i1 [ true, %526 ], [ %561, %562 ]
  br label %565

565:                                              ; preds = %563, %497
  %566 = phi i1 [ false, %497 ], [ %564, %563 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #9
  br i1 %566, label %567, label %1090

567:                                              ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #9
  %568 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %569 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %568)
          to label %570 unwind label %624

570:                                              ; preds = %567
  %571 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %569) #9
  %572 = sub nsw i64 0, %571
  %573 = sub nsw i64 %572, 1
  store i64 %573, ptr %52, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #9
  %574 = getelementptr inbounds %struct.HighsDomainChange, ptr %53, i32 0, i32 0
  %575 = load double, ptr %46, align 8, !tbaa !97
  store double %575, ptr %574, align 8, !tbaa !418
  %576 = getelementptr inbounds %struct.HighsDomainChange, ptr %53, i32 0, i32 1
  %577 = load i32, ptr %43, align 4, !tbaa !96
  store i32 %577, ptr %576, align 8, !tbaa !421
  %578 = getelementptr inbounds %struct.HighsDomainChange, ptr %53, i32 0, i32 2
  store i32 1, ptr %578, align 4, !tbaa !422
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #9
  %579 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %580 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %579) #9
  %581 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %580, i32 0, i32 6
  %582 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %581) #9
  br i1 %582, label %583, label %586

583:                                              ; preds = %570
  %584 = invoke noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064) %96, ptr noundef nonnull align 8 dereferenceable(16) %53)
          to label %585 unwind label %628

585:                                              ; preds = %583
  br label %586

586:                                              ; preds = %585, %570
  %587 = phi i1 [ false, %570 ], [ %584, %585 ]
  %588 = zext i1 %587 to i8
  store i8 %588, ptr %54, align 1, !tbaa !393
  %589 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %55, ptr align 8 %53, i64 16, i1 false), !tbaa.struct !423
  %590 = invoke i64 @_ZN11HighsDomain6Reason9branchingEv()
          to label %591 unwind label %628

591:                                              ; preds = %586
  store i64 %590, ptr %56, align 4
  %592 = getelementptr inbounds { double, i64 }, ptr %55, i32 0, i32 0
  %593 = load double, ptr %592, align 8
  %594 = getelementptr inbounds { double, i64 }, ptr %55, i32 0, i32 1
  %595 = load i64, ptr %594, align 8
  %596 = load i64, ptr %56, align 4
  invoke void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824) %589, double %593, i64 %595, i64 %596)
          to label %597 unwind label %628

597:                                              ; preds = %591
  %598 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %599 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %598)
          to label %600 unwind label %628

600:                                              ; preds = %597
  %601 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %602 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %601)
          to label %603 unwind label %628

603:                                              ; preds = %600
  br i1 %602, label %642, label %604

604:                                              ; preds = %603
  %605 = load i8, ptr %54, align 1, !tbaa !393, !range !394, !noundef !395
  %606 = trunc i8 %605 to i1
  br i1 %606, label %607, label %632

607:                                              ; preds = %604
  %608 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %609 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %608) #9
  %610 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %609, i32 0, i32 6
  %611 = call noundef ptr @_ZNKSt19__shared_ptr_accessIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %610) #9
  %612 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %613 = invoke noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80) %611, ptr noundef nonnull align 8 dereferenceable(824) %612)
          to label %614 unwind label %628

614:                                              ; preds = %607
  br label %641

615:                                              ; preds = %540, %532
  %616 = landingpad { ptr, i32 }
          cleanup
  %617 = extractvalue { ptr, i32 } %616, 0
  store ptr %617, ptr %17, align 8
  %618 = extractvalue { ptr, i32 } %616, 1
  store i32 %618, ptr %18, align 4
  br label %623

619:                                              ; preds = %556, %554, %542
  %620 = landingpad { ptr, i32 }
          cleanup
  %621 = extractvalue { ptr, i32 } %620, 0
  store ptr %621, ptr %17, align 8
  %622 = extractvalue { ptr, i32 } %620, 1
  store i32 %622, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #9
  br label %623

623:                                              ; preds = %619, %615
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #9
  br label %1611

624:                                              ; preds = %567
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %17, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %18, align 4
  br label %1089

628:                                              ; preds = %692, %672, %666, %663, %659, %652, %645, %642, %632, %607, %600, %597, %591, %586, %583
  %629 = landingpad { ptr, i32 }
          cleanup
  %630 = extractvalue { ptr, i32 } %629, 0
  store ptr %630, ptr %17, align 8
  %631 = extractvalue { ptr, i32 } %629, 1
  store i32 %631, ptr %18, align 4
  br label %1088

632:                                              ; preds = %604
  %633 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %634 = load ptr, ptr %633, align 8, !tbaa !102
  %635 = getelementptr inbounds %class.HighsMipSolver, ptr %634, i32 0, i32 25
  %636 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %635) #9
  %637 = getelementptr inbounds %struct.HighsMipSolverData, ptr %636, i32 0, i32 38
  %638 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %639 = invoke noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216) %637, ptr noundef nonnull align 8 dereferenceable(824) %638)
          to label %640 unwind label %628

640:                                              ; preds = %632
  br label %641

641:                                              ; preds = %640, %614
  br label %642

642:                                              ; preds = %641, %603
  %643 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %644 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %643)
          to label %645 unwind label %628

645:                                              ; preds = %642
  %646 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %644) #9
  %647 = load i64, ptr %52, align 8, !tbaa !9
  %648 = add i64 %647, %646
  store i64 %648, ptr %52, align 8, !tbaa !9
  %649 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %650 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %649)
          to label %651 unwind label %628

651:                                              ; preds = %645
  br i1 %650, label %652, label %692

652:                                              ; preds = %651
  %653 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %654 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %655 = load ptr, ptr %654, align 8, !tbaa !102
  %656 = getelementptr inbounds %class.HighsMipSolver, ptr %655, i32 0, i32 25
  %657 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %656) #9
  %658 = getelementptr inbounds %struct.HighsMipSolverData, ptr %657, i32 0, i32 2
  invoke void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824) %653, ptr noundef nonnull align 8 dereferenceable(224) %658)
          to label %659 unwind label %628

659:                                              ; preds = %652
  %660 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %661 = load ptr, ptr %660, align 8, !tbaa !406
  %662 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %661, i32 noundef %662, i1 noundef zeroext false)
          to label %663 unwind label %628

663:                                              ; preds = %659
  %664 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %665 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %664)
          to label %666 unwind label %628

666:                                              ; preds = %663
  %667 = getelementptr inbounds { double, i64 }, ptr %57, i32 0, i32 0
  %668 = extractvalue { double, i64 } %665, 0
  store double %668, ptr %667, align 8
  %669 = getelementptr inbounds { double, i64 }, ptr %57, i32 0, i32 1
  %670 = extractvalue { double, i64 } %665, 1
  store i64 %670, ptr %669, align 8
  %671 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %671)
          to label %672 unwind label %628

672:                                              ; preds = %666
  %673 = load i32, ptr %43, align 4, !tbaa !96
  %674 = load double, ptr %45, align 8, !tbaa !97
  %675 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %673, double noundef %674, double noundef %675)
          to label %676 unwind label %628

676:                                              ; preds = %672
  %677 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %678 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %679 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %678) #9
  %680 = sub i64 %679, 2
  %681 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %677, i64 noundef %680) #9
  %682 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %681, i32 0, i32 10
  store i8 0, ptr %682, align 1, !tbaa !425
  %683 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %684 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %685 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %684) #9
  %686 = sub i64 %685, 2
  %687 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %683, i64 noundef %686) #9
  %688 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %687, i32 0, i32 9
  store i8 1, ptr %688, align 4, !tbaa !427
  %689 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %690 = load i32, ptr %689, align 8, !tbaa !428
  %691 = sub nsw i32 %690, 1
  store i32 %691, ptr %689, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1083

692:                                              ; preds = %651
  %693 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %694 = load ptr, ptr %693, align 8, !tbaa !406
  %695 = load i32, ptr %43, align 4, !tbaa !96
  %696 = load i64, ptr %52, align 8, !tbaa !9
  %697 = trunc i64 %696 to i32
  invoke void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360) %694, i32 noundef %695, i32 noundef %697, i1 noundef zeroext false)
          to label %698 unwind label %628

698:                                              ; preds = %692
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #9
  %699 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %700 = load ptr, ptr %699, align 8, !tbaa !11
  %701 = invoke noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %700)
          to label %702 unwind label %758

702:                                              ; preds = %698
  store i64 %701, ptr %58, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %703 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %704 = invoke noundef i32 @_ZN17HighsLpRelaxation10Playground7solveLpER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(9) %39, ptr noundef nonnull align 8 dereferenceable(824) %703)
          to label %705 unwind label %762

705:                                              ; preds = %702
  store i32 %704, ptr %59, align 4, !tbaa !429
  %706 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %707 = load ptr, ptr %706, align 8, !tbaa !11
  %708 = invoke noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %707)
          to label %709 unwind label %762

709:                                              ; preds = %705
  %710 = load i64, ptr %58, align 8, !tbaa !9
  %711 = sub nsw i64 %708, %710
  store i64 %711, ptr %58, align 8, !tbaa !9
  %712 = load i64, ptr %58, align 8, !tbaa !9
  %713 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 6
  %714 = load i64, ptr %713, align 8, !tbaa !430
  %715 = add nsw i64 %714, %712
  store i64 %715, ptr %713, align 8, !tbaa !430
  %716 = load i64, ptr %58, align 8, !tbaa !9
  %717 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 8
  %718 = load i64, ptr %717, align 8, !tbaa !431
  %719 = add nsw i64 %718, %716
  store i64 %719, ptr %717, align 8, !tbaa !431
  %720 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %721 = load ptr, ptr %720, align 8, !tbaa !11
  %722 = load i32, ptr %59, align 4, !tbaa !429
  %723 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %722)
          to label %724 unwind label %762

724:                                              ; preds = %709
  br i1 %723, label %725, label %1006

725:                                              ; preds = %724
  %726 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %727 = load ptr, ptr %726, align 8, !tbaa !11
  invoke void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425) %727, i1 noundef zeroext false)
          to label %728 unwind label %762

728:                                              ; preds = %725
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #9
  %729 = load double, ptr %46, align 8, !tbaa !97
  %730 = load double, ptr %44, align 8, !tbaa !97
  %731 = fsub double %729, %730
  store double %731, ptr %60, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #9
  %732 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %733 = load ptr, ptr %732, align 8, !tbaa !11
  %734 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %733)
          to label %735 unwind label %766

735:                                              ; preds = %728
  %736 = getelementptr inbounds %struct.HighsSolution, ptr %734, i32 0, i32 2
  store ptr %736, ptr %62, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %63) #9
  %737 = load ptr, ptr %62, align 8, !tbaa !5
  %738 = invoke noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064) %96, ptr noundef nonnull align 8 dereferenceable(24) %737, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %739 unwind label %770

739:                                              ; preds = %735
  store double %738, ptr %63, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #9
  %740 = load double, ptr %63, align 8, !tbaa !97
  %741 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %742 = load ptr, ptr %741, align 8, !tbaa !11
  %743 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %742)
          to label %744 unwind label %774

744:                                              ; preds = %739
  %745 = fsub double %740, %743
  store double %745, ptr %65, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #9
  store double 0.000000e+00, ptr %66, align 8, !tbaa !97
  %746 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %66)
          to label %747 unwind label %778

747:                                              ; preds = %744
  %748 = load double, ptr %746, align 8, !tbaa !97
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  store double %748, ptr %64, align 8, !tbaa !97
  %749 = load double, ptr %64, align 8, !tbaa !97
  %750 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %751 = load ptr, ptr %750, align 8, !tbaa !102
  %752 = getelementptr inbounds %class.HighsMipSolver, ptr %751, i32 0, i32 25
  %753 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %752) #9
  %754 = getelementptr inbounds %struct.HighsMipSolverData, ptr %753, i32 0, i32 41
  %755 = load double, ptr %754, align 8, !tbaa !432
  %756 = fcmp ole double %749, %755
  br i1 %756, label %757, label %783

757:                                              ; preds = %747
  store double 0.000000e+00, ptr %64, align 8, !tbaa !97
  br label %783

758:                                              ; preds = %698
  %759 = landingpad { ptr, i32 }
          cleanup
  %760 = extractvalue { ptr, i32 } %759, 0
  store ptr %760, ptr %17, align 8
  %761 = extractvalue { ptr, i32 } %759, 1
  store i32 %761, ptr %18, align 4
  br label %1087

762:                                              ; preds = %1073, %1070, %1066, %1052, %1032, %1024, %1021, %1017, %1016, %1009, %725, %709, %705, %702
  %763 = landingpad { ptr, i32 }
          cleanup
  %764 = extractvalue { ptr, i32 } %763, 0
  store ptr %764, ptr %17, align 8
  %765 = extractvalue { ptr, i32 } %763, 1
  store i32 %765, ptr %18, align 4
  br label %1086

766:                                              ; preds = %728
  %767 = landingpad { ptr, i32 }
          cleanup
  %768 = extractvalue { ptr, i32 } %767, 0
  store ptr %768, ptr %17, align 8
  %769 = extractvalue { ptr, i32 } %767, 1
  store i32 %769, ptr %18, align 4
  br label %1005

770:                                              ; preds = %735
  %771 = landingpad { ptr, i32 }
          cleanup
  %772 = extractvalue { ptr, i32 } %771, 0
  store ptr %772, ptr %17, align 8
  %773 = extractvalue { ptr, i32 } %771, 1
  store i32 %773, ptr %18, align 4
  br label %1004

774:                                              ; preds = %739
  %775 = landingpad { ptr, i32 }
          cleanup
  %776 = extractvalue { ptr, i32 } %775, 0
  store ptr %776, ptr %17, align 8
  %777 = extractvalue { ptr, i32 } %775, 1
  store i32 %777, ptr %18, align 4
  br label %782

778:                                              ; preds = %744
  %779 = landingpad { ptr, i32 }
          cleanup
  %780 = extractvalue { ptr, i32 } %779, 0
  store ptr %780, ptr %17, align 8
  %781 = extractvalue { ptr, i32 } %779, 1
  store i32 %781, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  br label %782

782:                                              ; preds = %778, %774
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  br label %1003

783:                                              ; preds = %757, %747
  %784 = load double, ptr %64, align 8, !tbaa !97
  %785 = load i32, ptr %41, align 4, !tbaa !96
  %786 = sext i32 %785 to i64
  %787 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %786) #9
  store double %784, ptr %787, align 8, !tbaa !97
  %788 = load i32, ptr %41, align 4, !tbaa !96
  %789 = sext i32 %788 to i64
  %790 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %789) #9
  store i8 1, ptr %790, align 1, !tbaa !98
  %791 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %791)
          to label %792 unwind label %850

792:                                              ; preds = %783
  %793 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %794 = load ptr, ptr %793, align 8, !tbaa !406
  %795 = load i32, ptr %43, align 4, !tbaa !96
  %796 = load double, ptr %60, align 8, !tbaa !97
  %797 = load double, ptr %64, align 8, !tbaa !97
  invoke void @_ZN15HighsPseudocost14addObservationEidd(ptr noundef nonnull align 8 dereferenceable(360) %794, i32 noundef %795, double noundef %796, double noundef %797)
          to label %798 unwind label %850

798:                                              ; preds = %792
  %799 = load double, ptr %64, align 8, !tbaa !97
  %800 = load ptr, ptr %62, align 8, !tbaa !5
  invoke void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48) %47, double noundef %799, ptr noundef nonnull align 8 dereferenceable(24) %800)
          to label %801 unwind label %850

801:                                              ; preds = %798
  %802 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %803 = load ptr, ptr %802, align 8, !tbaa !11
  %804 = load i32, ptr %59, align 4, !tbaa !429
  %805 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef %804)
          to label %806 unwind label %850

806:                                              ; preds = %801
  br i1 %805, label %807, label %859

807:                                              ; preds = %806
  %808 = load i8, ptr %61, align 1, !tbaa !393, !range !394, !noundef !395
  %809 = trunc i8 %808 to i1
  br i1 %809, label %810, label %859

810:                                              ; preds = %807
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #9
  %811 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %812 unwind label %854

812:                                              ; preds = %810
  store double %811, ptr %67, align 8, !tbaa !97
  %813 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %814 = load ptr, ptr %813, align 8, !tbaa !102
  %815 = getelementptr inbounds %class.HighsMipSolver, ptr %814, i32 0, i32 25
  %816 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %815) #9
  %817 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %818 = load ptr, ptr %817, align 8, !tbaa !11
  %819 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %818)
          to label %820 unwind label %854

820:                                              ; preds = %812
  %821 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %819)
          to label %822 unwind label %854

822:                                              ; preds = %820
  %823 = getelementptr inbounds %struct.HighsSolution, ptr %821, i32 0, i32 2
  %824 = load double, ptr %63, align 8, !tbaa !97
  %825 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 15
  %826 = load i8, ptr %825, align 1, !tbaa !433, !range !394, !noundef !395
  %827 = trunc i8 %826 to i1
  %828 = zext i1 %827 to i64
  %829 = select i1 %827, i32 3, i32 0
  %830 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801) %816, ptr noundef nonnull align 8 dereferenceable(24) %823, double noundef %824, i32 noundef %829, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %831 unwind label %854

831:                                              ; preds = %822
  %832 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %833 = load ptr, ptr %832, align 8, !tbaa !102
  %834 = getelementptr inbounds %class.HighsMipSolver, ptr %833, i32 0, i32 25
  %835 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %834) #9
  %836 = getelementptr inbounds %struct.HighsMipSolverData, ptr %835, i32 0, i32 77
  %837 = load double, ptr %836, align 8, !tbaa !415
  %838 = load double, ptr %67, align 8, !tbaa !97
  %839 = fcmp olt double %837, %838
  br i1 %839, label %840, label %858

840:                                              ; preds = %831
  %841 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %842 = load ptr, ptr %841, align 8, !tbaa !11
  %843 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %844 = load ptr, ptr %843, align 8, !tbaa !102
  %845 = getelementptr inbounds %class.HighsMipSolver, ptr %844, i32 0, i32 25
  %846 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %845) #9
  %847 = getelementptr inbounds %struct.HighsMipSolverData, ptr %846, i32 0, i32 77
  %848 = load double, ptr %847, align 8, !tbaa !415
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %842, double noundef %848)
          to label %849 unwind label %854

849:                                              ; preds = %840
  br label %858

850:                                              ; preds = %949, %948, %943, %878, %859, %801, %798, %792, %783
  %851 = landingpad { ptr, i32 }
          cleanup
  %852 = extractvalue { ptr, i32 } %851, 0
  store ptr %852, ptr %17, align 8
  %853 = extractvalue { ptr, i32 } %851, 1
  store i32 %853, ptr %18, align 4
  br label %1003

854:                                              ; preds = %840, %822, %820, %812, %810
  %855 = landingpad { ptr, i32 }
          cleanup
  %856 = extractvalue { ptr, i32 } %855, 0
  store ptr %856, ptr %17, align 8
  %857 = extractvalue { ptr, i32 } %855, 1
  store i32 %857, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  br label %1003

858:                                              ; preds = %849, %831
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #9
  br label %859

859:                                              ; preds = %858, %807, %806
  %860 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %861 = load ptr, ptr %860, align 8, !tbaa !11
  %862 = load i32, ptr %59, align 4, !tbaa !429
  %863 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef %862)
          to label %864 unwind label %850

864:                                              ; preds = %859
  br i1 %863, label %865, label %943

865:                                              ; preds = %864
  %866 = load double, ptr %63, align 8, !tbaa !97
  %867 = load i32, ptr %41, align 4, !tbaa !96
  %868 = sext i32 %867 to i64
  %869 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %868) #9
  store double %866, ptr %869, align 8, !tbaa !97
  %870 = load double, ptr %63, align 8, !tbaa !97
  %871 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %872 = load ptr, ptr %871, align 8, !tbaa !102
  %873 = getelementptr inbounds %class.HighsMipSolver, ptr %872, i32 0, i32 25
  %874 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %873) #9
  %875 = getelementptr inbounds %struct.HighsMipSolverData, ptr %874, i32 0, i32 78
  %876 = load double, ptr %875, align 8, !tbaa !434
  %877 = fcmp ogt double %870, %876
  br i1 %877, label %878, label %942

878:                                              ; preds = %865
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %879 unwind label %850

879:                                              ; preds = %878
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #9
  %880 = load double, ptr %63, align 8, !tbaa !97
  %881 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %882 unwind label %895

882:                                              ; preds = %879
  %883 = fcmp ogt double %880, %881
  %884 = zext i1 %883 to i8
  store i8 %884, ptr %68, align 1, !tbaa !393
  %885 = load i8, ptr %68, align 1, !tbaa !393, !range !394, !noundef !395
  %886 = trunc i8 %885 to i1
  br i1 %886, label %887, label %899

887:                                              ; preds = %882
  %888 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %889 = load ptr, ptr %888, align 8, !tbaa !102
  %890 = getelementptr inbounds %class.HighsMipSolver, ptr %889, i32 0, i32 25
  %891 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %890) #9
  %892 = getelementptr inbounds i8, ptr %891, i64 26800
  %893 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %892, ptr noundef nonnull align 8 dereferenceable(824) %893)
          to label %894 unwind label %895

894:                                              ; preds = %887
  br label %899

895:                                              ; preds = %910, %902, %899, %887, %879
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %17, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  br label %1003

899:                                              ; preds = %894, %882
  %900 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %901 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %900)
          to label %902 unwind label %895

902:                                              ; preds = %899
  %903 = getelementptr inbounds { double, i64 }, ptr %69, i32 0, i32 0
  %904 = extractvalue { double, i64 } %901, 0
  store double %904, ptr %903, align 8
  %905 = getelementptr inbounds { double, i64 }, ptr %69, i32 0, i32 1
  %906 = extractvalue { double, i64 } %901, 1
  store i64 %906, ptr %905, align 8
  %907 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %908 = load ptr, ptr %907, align 8, !tbaa !11
  %909 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %908, ptr noundef nonnull align 8 dereferenceable(824) %909, i1 noundef zeroext false)
          to label %910 unwind label %895

910:                                              ; preds = %902
  %911 = load i32, ptr %43, align 4, !tbaa !96
  %912 = load double, ptr %45, align 8, !tbaa !97
  %913 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %911, double noundef %912, double noundef %913)
          to label %914 unwind label %895

914:                                              ; preds = %910
  %915 = load i8, ptr %68, align 1, !tbaa !393, !range !394, !noundef !395
  %916 = trunc i8 %915 to i1
  %917 = zext i1 %916 to i64
  %918 = select i1 %916, i32 0, i32 1
  %919 = trunc i32 %918 to i8
  %920 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %921 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %922 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %921) #9
  %923 = sub i64 %922, 2
  %924 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %920, i64 noundef %923) #9
  %925 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %924, i32 0, i32 10
  store i8 %919, ptr %925, align 1, !tbaa !425
  %926 = load double, ptr %63, align 8, !tbaa !97
  %927 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %928 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %929 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %928) #9
  %930 = sub i64 %929, 2
  %931 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %927, i64 noundef %930) #9
  %932 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %931, i32 0, i32 4
  store double %926, ptr %932, align 8, !tbaa !435
  %933 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %934 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %935 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %934) #9
  %936 = sub i64 %935, 2
  %937 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %933, i64 noundef %936) #9
  %938 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %937, i32 0, i32 9
  store i8 1, ptr %938, align 4, !tbaa !427
  %939 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %940 = load i32, ptr %939, align 8, !tbaa !428
  %941 = sub nsw i32 %940, 1
  store i32 %941, ptr %939, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #9
  br label %1000

942:                                              ; preds = %865
  br label %999

943:                                              ; preds = %864
  %944 = load double, ptr %63, align 8, !tbaa !97
  %945 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %946 unwind label %850

946:                                              ; preds = %943
  %947 = fcmp ogt double %944, %945
  br i1 %947, label %948, label %998

948:                                              ; preds = %946
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %949 unwind label %850

949:                                              ; preds = %948
  %950 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %951 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %950)
          to label %952 unwind label %850

952:                                              ; preds = %949
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #9
  %953 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %954 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %953)
          to label %955 unwind label %990

955:                                              ; preds = %952
  %956 = zext i1 %954 to i8
  store i8 %956, ptr %70, align 1, !tbaa !393
  %957 = load i8, ptr %70, align 1, !tbaa !393, !range !394, !noundef !395
  %958 = trunc i8 %957 to i1
  br i1 %958, label %959, label %994

959:                                              ; preds = %955
  %960 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %961 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %960)
          to label %962 unwind label %990

962:                                              ; preds = %959
  %963 = getelementptr inbounds { double, i64 }, ptr %71, i32 0, i32 0
  %964 = extractvalue { double, i64 } %961, 0
  store double %964, ptr %963, align 8
  %965 = getelementptr inbounds { double, i64 }, ptr %71, i32 0, i32 1
  %966 = extractvalue { double, i64 } %961, 1
  store i64 %966, ptr %965, align 8
  %967 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %968 = load ptr, ptr %967, align 8, !tbaa !11
  %969 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %968, ptr noundef nonnull align 8 dereferenceable(824) %969, i1 noundef zeroext false)
          to label %970 unwind label %990

970:                                              ; preds = %962
  %971 = load i32, ptr %43, align 4, !tbaa !96
  %972 = load double, ptr %45, align 8, !tbaa !97
  %973 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %971, double noundef %972, double noundef %973)
          to label %974 unwind label %990

974:                                              ; preds = %970
  %975 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %976 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %977 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %976) #9
  %978 = sub i64 %977, 2
  %979 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %975, i64 noundef %978) #9
  %980 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %979, i32 0, i32 10
  store i8 0, ptr %980, align 1, !tbaa !425
  %981 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %982 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %983 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %982) #9
  %984 = sub i64 %983, 2
  %985 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %981, i64 noundef %984) #9
  %986 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %985, i32 0, i32 9
  store i8 1, ptr %986, align 4, !tbaa !427
  %987 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %988 = load i32, ptr %987, align 8, !tbaa !428
  %989 = sub nsw i32 %988, 1
  store i32 %989, ptr %987, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %995

990:                                              ; preds = %970, %962, %959, %952
  %991 = landingpad { ptr, i32 }
          cleanup
  %992 = extractvalue { ptr, i32 } %991, 0
  store ptr %992, ptr %17, align 8
  %993 = extractvalue { ptr, i32 } %991, 1
  store i32 %993, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  br label %1003

994:                                              ; preds = %955
  store i32 0, ptr %42, align 4
  br label %995

995:                                              ; preds = %994, %974
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #9
  %996 = load i32, ptr %42, align 4
  switch i32 %996, label %1000 [
    i32 0, label %997
  ]

997:                                              ; preds = %995
  br label %998

998:                                              ; preds = %997, %946
  br label %999

999:                                              ; preds = %998, %942
  store i32 0, ptr %42, align 4
  br label %1000

1000:                                             ; preds = %999, %995, %914
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  %1001 = load i32, ptr %42, align 4
  switch i32 %1001, label %1082 [
    i32 0, label %1002
  ]

1002:                                             ; preds = %1000
  br label %1070

1003:                                             ; preds = %990, %895, %854, %850, %782
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #9
  br label %1004

1004:                                             ; preds = %1003, %770
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #9
  br label %1005

1005:                                             ; preds = %1004, %766
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #9
  br label %1086

1006:                                             ; preds = %724
  %1007 = load i32, ptr %59, align 4, !tbaa !429
  %1008 = icmp eq i32 %1007, 2
  br i1 %1008, label %1009, label %1052

1009:                                             ; preds = %1006
  %1010 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1011 = load ptr, ptr %1010, align 8, !tbaa !102
  %1012 = getelementptr inbounds %class.HighsMipSolver, ptr %1011, i32 0, i32 25
  %1013 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1012) #9
  %1014 = getelementptr inbounds i8, ptr %1013, i64 26800
  %1015 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %1014, ptr noundef nonnull align 8 dereferenceable(824) %1015)
          to label %1016 unwind label %762

1016:                                             ; preds = %1009
  invoke void @_ZN11HighsSearch21addInfeasibleConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1017 unwind label %762

1017:                                             ; preds = %1016
  %1018 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %1019 = load ptr, ptr %1018, align 8, !tbaa !406
  %1020 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %1019, i32 noundef %1020, i1 noundef zeroext false)
          to label %1021 unwind label %762

1021:                                             ; preds = %1017
  %1022 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1023 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1022)
          to label %1024 unwind label %762

1024:                                             ; preds = %1021
  %1025 = getelementptr inbounds { double, i64 }, ptr %72, i32 0, i32 0
  %1026 = extractvalue { double, i64 } %1023, 0
  store double %1026, ptr %1025, align 8
  %1027 = getelementptr inbounds { double, i64 }, ptr %72, i32 0, i32 1
  %1028 = extractvalue { double, i64 } %1023, 1
  store i64 %1028, ptr %1027, align 8
  %1029 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1030 = load ptr, ptr %1029, align 8, !tbaa !11
  %1031 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1030, ptr noundef nonnull align 8 dereferenceable(824) %1031, i1 noundef zeroext false)
          to label %1032 unwind label %762

1032:                                             ; preds = %1024
  %1033 = load i32, ptr %43, align 4, !tbaa !96
  %1034 = load double, ptr %45, align 8, !tbaa !97
  %1035 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1033, double noundef %1034, double noundef %1035)
          to label %1036 unwind label %762

1036:                                             ; preds = %1032
  %1037 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1038 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1039 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1038) #9
  %1040 = sub i64 %1039, 2
  %1041 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1037, i64 noundef %1040) #9
  %1042 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1041, i32 0, i32 10
  store i8 0, ptr %1042, align 1, !tbaa !425
  %1043 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1044 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1045 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1044) #9
  %1046 = sub i64 %1045, 2
  %1047 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1043, i64 noundef %1046) #9
  %1048 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1047, i32 0, i32 9
  store i8 1, ptr %1048, align 4, !tbaa !427
  %1049 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %1050 = load i32, ptr %1049, align 8, !tbaa !428
  %1051 = sub nsw i32 %1050, 1
  store i32 %1051, ptr %1049, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1082

1052:                                             ; preds = %1006
  %1053 = load i32, ptr %41, align 4, !tbaa !96
  %1054 = sext i32 %1053 to i64
  %1055 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %1054) #9
  store double 0.000000e+00, ptr %1055, align 8, !tbaa !97
  %1056 = load i32, ptr %41, align 4, !tbaa !96
  %1057 = sext i32 %1056 to i64
  %1058 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %1057) #9
  store double 0.000000e+00, ptr %1058, align 8, !tbaa !97
  %1059 = load i32, ptr %41, align 4, !tbaa !96
  %1060 = sext i32 %1059 to i64
  %1061 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %1060) #9
  store i8 1, ptr %1061, align 1, !tbaa !98
  %1062 = load i32, ptr %41, align 4, !tbaa !96
  %1063 = sext i32 %1062 to i64
  %1064 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %1063) #9
  store i8 1, ptr %1064, align 1, !tbaa !98
  %1065 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1065)
          to label %1066 unwind label %762

1066:                                             ; preds = %1052
  %1067 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1067)
          to label %1068 unwind label %762

1068:                                             ; preds = %1066
  br label %1069

1069:                                             ; preds = %1068
  br label %1070

1070:                                             ; preds = %1069, %1002
  %1071 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1072 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1071)
          to label %1073 unwind label %762

1073:                                             ; preds = %1070
  %1074 = getelementptr inbounds { double, i64 }, ptr %73, i32 0, i32 0
  %1075 = extractvalue { double, i64 } %1072, 0
  store double %1075, ptr %1074, align 8
  %1076 = getelementptr inbounds { double, i64 }, ptr %73, i32 0, i32 1
  %1077 = extractvalue { double, i64 } %1072, 1
  store i64 %1077, ptr %1076, align 8
  %1078 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1079 = load ptr, ptr %1078, align 8, !tbaa !11
  %1080 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1079, ptr noundef nonnull align 8 dereferenceable(824) %1080, i1 noundef zeroext false)
          to label %1081 unwind label %762

1081:                                             ; preds = %1073
  store i32 0, ptr %42, align 4
  br label %1082

1082:                                             ; preds = %1081, %1036, %1000
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  br label %1083

1083:                                             ; preds = %1082, %676
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  %1084 = load i32, ptr %42, align 4
  switch i32 %1084, label %1607 [
    i32 0, label %1085
  ]

1085:                                             ; preds = %1083
  br label %1606

1086:                                             ; preds = %1005, %762
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %1087

1087:                                             ; preds = %1086, %758
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  br label %1088

1088:                                             ; preds = %1087, %628
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #9
  br label %1089

1089:                                             ; preds = %1088, %624
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #9
  br label %1611

1090:                                             ; preds = %565
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #9
  %1091 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1092 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %1091)
          to label %1093 unwind label %1138

1093:                                             ; preds = %1090
  %1094 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1092) #9
  %1095 = sub nsw i64 0, %1094
  %1096 = sub nsw i64 %1095, 1
  store i64 %1096, ptr %74, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #9
  %1097 = getelementptr inbounds %struct.HighsDomainChange, ptr %75, i32 0, i32 0
  %1098 = load double, ptr %45, align 8, !tbaa !97
  store double %1098, ptr %1097, align 8, !tbaa !418
  %1099 = getelementptr inbounds %struct.HighsDomainChange, ptr %75, i32 0, i32 1
  %1100 = load i32, ptr %43, align 4, !tbaa !96
  store i32 %1100, ptr %1099, align 8, !tbaa !421
  %1101 = getelementptr inbounds %struct.HighsDomainChange, ptr %75, i32 0, i32 2
  store i32 0, ptr %1101, align 4, !tbaa !422
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #9
  %1102 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1103 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %1102) #9
  %1104 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1103, i32 0, i32 6
  %1105 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %1104) #9
  br i1 %1105, label %1106, label %1109

1106:                                             ; preds = %1093
  %1107 = invoke noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064) %96, ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %1108 unwind label %1142

1108:                                             ; preds = %1106
  br label %1109

1109:                                             ; preds = %1108, %1093
  %1110 = phi i1 [ false, %1093 ], [ %1107, %1108 ]
  %1111 = zext i1 %1110 to i8
  store i8 %1111, ptr %76, align 1, !tbaa !393
  %1112 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %77, ptr align 8 %75, i64 16, i1 false), !tbaa.struct !423
  %1113 = invoke i64 @_ZN11HighsDomain6Reason9branchingEv()
          to label %1114 unwind label %1142

1114:                                             ; preds = %1109
  store i64 %1113, ptr %78, align 4
  %1115 = getelementptr inbounds { double, i64 }, ptr %77, i32 0, i32 0
  %1116 = load double, ptr %1115, align 8
  %1117 = getelementptr inbounds { double, i64 }, ptr %77, i32 0, i32 1
  %1118 = load i64, ptr %1117, align 8
  %1119 = load i64, ptr %78, align 4
  invoke void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824) %1112, double %1116, i64 %1118, i64 %1119)
          to label %1120 unwind label %1142

1120:                                             ; preds = %1114
  %1121 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1122 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %1121)
          to label %1123 unwind label %1142

1123:                                             ; preds = %1120
  %1124 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1125 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %1124)
          to label %1126 unwind label %1142

1126:                                             ; preds = %1123
  br i1 %1125, label %1156, label %1127

1127:                                             ; preds = %1126
  %1128 = load i8, ptr %76, align 1, !tbaa !393, !range !394, !noundef !395
  %1129 = trunc i8 %1128 to i1
  br i1 %1129, label %1130, label %1146

1130:                                             ; preds = %1127
  %1131 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1132 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %1131) #9
  %1133 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1132, i32 0, i32 6
  %1134 = call noundef ptr @_ZNKSt19__shared_ptr_accessIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %1133) #9
  %1135 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1136 = invoke noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80) %1134, ptr noundef nonnull align 8 dereferenceable(824) %1135)
          to label %1137 unwind label %1142

1137:                                             ; preds = %1130
  br label %1155

1138:                                             ; preds = %1090
  %1139 = landingpad { ptr, i32 }
          cleanup
  %1140 = extractvalue { ptr, i32 } %1139, 0
  store ptr %1140, ptr %17, align 8
  %1141 = extractvalue { ptr, i32 } %1139, 1
  store i32 %1141, ptr %18, align 4
  br label %1605

1142:                                             ; preds = %1206, %1186, %1180, %1177, %1173, %1166, %1159, %1156, %1146, %1130, %1123, %1120, %1114, %1109, %1106
  %1143 = landingpad { ptr, i32 }
          cleanup
  %1144 = extractvalue { ptr, i32 } %1143, 0
  store ptr %1144, ptr %17, align 8
  %1145 = extractvalue { ptr, i32 } %1143, 1
  store i32 %1145, ptr %18, align 4
  br label %1604

1146:                                             ; preds = %1127
  %1147 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1148 = load ptr, ptr %1147, align 8, !tbaa !102
  %1149 = getelementptr inbounds %class.HighsMipSolver, ptr %1148, i32 0, i32 25
  %1150 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1149) #9
  %1151 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1150, i32 0, i32 38
  %1152 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1153 = invoke noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216) %1151, ptr noundef nonnull align 8 dereferenceable(824) %1152)
          to label %1154 unwind label %1142

1154:                                             ; preds = %1146
  br label %1155

1155:                                             ; preds = %1154, %1137
  br label %1156

1156:                                             ; preds = %1155, %1126
  %1157 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1158 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %1157)
          to label %1159 unwind label %1142

1159:                                             ; preds = %1156
  %1160 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1158) #9
  %1161 = load i64, ptr %74, align 8, !tbaa !9
  %1162 = add i64 %1161, %1160
  store i64 %1162, ptr %74, align 8, !tbaa !9
  %1163 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1164 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %1163)
          to label %1165 unwind label %1142

1165:                                             ; preds = %1159
  br i1 %1164, label %1166, label %1206

1166:                                             ; preds = %1165
  %1167 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1168 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1169 = load ptr, ptr %1168, align 8, !tbaa !102
  %1170 = getelementptr inbounds %class.HighsMipSolver, ptr %1169, i32 0, i32 25
  %1171 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1170) #9
  %1172 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1171, i32 0, i32 2
  invoke void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824) %1167, ptr noundef nonnull align 8 dereferenceable(224) %1172)
          to label %1173 unwind label %1142

1173:                                             ; preds = %1166
  %1174 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %1175 = load ptr, ptr %1174, align 8, !tbaa !406
  %1176 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %1175, i32 noundef %1176, i1 noundef zeroext true)
          to label %1177 unwind label %1142

1177:                                             ; preds = %1173
  %1178 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1179 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1178)
          to label %1180 unwind label %1142

1180:                                             ; preds = %1177
  %1181 = getelementptr inbounds { double, i64 }, ptr %79, i32 0, i32 0
  %1182 = extractvalue { double, i64 } %1179, 0
  store double %1182, ptr %1181, align 8
  %1183 = getelementptr inbounds { double, i64 }, ptr %79, i32 0, i32 1
  %1184 = extractvalue { double, i64 } %1179, 1
  store i64 %1184, ptr %1183, align 8
  %1185 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %1185)
          to label %1186 unwind label %1142

1186:                                             ; preds = %1180
  %1187 = load i32, ptr %43, align 4, !tbaa !96
  %1188 = load double, ptr %46, align 8, !tbaa !97
  %1189 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1187, double noundef %1188, double noundef %1189)
          to label %1190 unwind label %1142

1190:                                             ; preds = %1186
  %1191 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1192 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1193 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1192) #9
  %1194 = sub i64 %1193, 2
  %1195 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1191, i64 noundef %1194) #9
  %1196 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1195, i32 0, i32 10
  store i8 0, ptr %1196, align 1, !tbaa !425
  %1197 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1198 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1199 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1198) #9
  %1200 = sub i64 %1199, 2
  %1201 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1197, i64 noundef %1200) #9
  %1202 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1201, i32 0, i32 9
  store i8 1, ptr %1202, align 4, !tbaa !427
  %1203 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %1204 = load i32, ptr %1203, align 8, !tbaa !428
  %1205 = sub nsw i32 %1204, 1
  store i32 %1205, ptr %1203, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1599

1206:                                             ; preds = %1165
  %1207 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %1208 = load ptr, ptr %1207, align 8, !tbaa !406
  %1209 = load i32, ptr %43, align 4, !tbaa !96
  %1210 = load i64, ptr %74, align 8, !tbaa !9
  %1211 = trunc i64 %1210 to i32
  invoke void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360) %1208, i32 noundef %1209, i32 noundef %1211, i1 noundef zeroext true)
          to label %1212 unwind label %1142

1212:                                             ; preds = %1206
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  %1213 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1214 = load ptr, ptr %1213, align 8, !tbaa !11
  %1215 = invoke noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %1214)
          to label %1216 unwind label %1274

1216:                                             ; preds = %1212
  store i64 %1215, ptr %80, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #9
  %1217 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1218 = invoke noundef i32 @_ZN17HighsLpRelaxation10Playground7solveLpER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(9) %39, ptr noundef nonnull align 8 dereferenceable(824) %1217)
          to label %1219 unwind label %1278

1219:                                             ; preds = %1216
  store i32 %1218, ptr %81, align 4, !tbaa !429
  %1220 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1221 = load ptr, ptr %1220, align 8, !tbaa !11
  %1222 = invoke noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %1221)
          to label %1223 unwind label %1278

1223:                                             ; preds = %1219
  %1224 = load i64, ptr %80, align 8, !tbaa !9
  %1225 = sub nsw i64 %1222, %1224
  store i64 %1225, ptr %80, align 8, !tbaa !9
  %1226 = load i64, ptr %80, align 8, !tbaa !9
  %1227 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 6
  %1228 = load i64, ptr %1227, align 8, !tbaa !430
  %1229 = add nsw i64 %1228, %1226
  store i64 %1229, ptr %1227, align 8, !tbaa !430
  %1230 = load i64, ptr %80, align 8, !tbaa !9
  %1231 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 8
  %1232 = load i64, ptr %1231, align 8, !tbaa !431
  %1233 = add nsw i64 %1232, %1230
  store i64 %1233, ptr %1231, align 8, !tbaa !431
  %1234 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1235 = load ptr, ptr %1234, align 8, !tbaa !11
  %1236 = load i32, ptr %81, align 4, !tbaa !429
  %1237 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %1236)
          to label %1238 unwind label %1278

1238:                                             ; preds = %1223
  br i1 %1237, label %1239, label %1522

1239:                                             ; preds = %1238
  %1240 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1241 = load ptr, ptr %1240, align 8, !tbaa !11
  invoke void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425) %1241, i1 noundef zeroext false)
          to label %1242 unwind label %1278

1242:                                             ; preds = %1239
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #9
  %1243 = load double, ptr %45, align 8, !tbaa !97
  %1244 = load double, ptr %44, align 8, !tbaa !97
  %1245 = fsub double %1243, %1244
  store double %1245, ptr %82, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #9
  %1246 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1247 = load ptr, ptr %1246, align 8, !tbaa !11
  %1248 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %1247)
          to label %1249 unwind label %1282

1249:                                             ; preds = %1242
  %1250 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %1248)
          to label %1251 unwind label %1282

1251:                                             ; preds = %1249
  %1252 = getelementptr inbounds %struct.HighsSolution, ptr %1250, i32 0, i32 2
  store ptr %1252, ptr %84, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #9
  %1253 = load ptr, ptr %84, align 8, !tbaa !5
  %1254 = invoke noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064) %96, ptr noundef nonnull align 8 dereferenceable(24) %1253, ptr noundef nonnull align 1 dereferenceable(1) %83)
          to label %1255 unwind label %1286

1255:                                             ; preds = %1251
  store double %1254, ptr %85, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %86) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #9
  %1256 = load double, ptr %85, align 8, !tbaa !97
  %1257 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1258 = load ptr, ptr %1257, align 8, !tbaa !11
  %1259 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %1258)
          to label %1260 unwind label %1290

1260:                                             ; preds = %1255
  %1261 = fsub double %1256, %1259
  store double %1261, ptr %87, align 8, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #9
  store double 0.000000e+00, ptr %88, align 8, !tbaa !97
  %1262 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %87, ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %1263 unwind label %1294

1263:                                             ; preds = %1260
  %1264 = load double, ptr %1262, align 8, !tbaa !97
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #9
  store double %1264, ptr %86, align 8, !tbaa !97
  %1265 = load double, ptr %86, align 8, !tbaa !97
  %1266 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1267 = load ptr, ptr %1266, align 8, !tbaa !102
  %1268 = getelementptr inbounds %class.HighsMipSolver, ptr %1267, i32 0, i32 25
  %1269 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1268) #9
  %1270 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1269, i32 0, i32 41
  %1271 = load double, ptr %1270, align 8, !tbaa !432
  %1272 = fcmp ole double %1265, %1271
  br i1 %1272, label %1273, label %1299

1273:                                             ; preds = %1263
  store double 0.000000e+00, ptr %86, align 8, !tbaa !97
  br label %1299

1274:                                             ; preds = %1212
  %1275 = landingpad { ptr, i32 }
          cleanup
  %1276 = extractvalue { ptr, i32 } %1275, 0
  store ptr %1276, ptr %17, align 8
  %1277 = extractvalue { ptr, i32 } %1275, 1
  store i32 %1277, ptr %18, align 4
  br label %1603

1278:                                             ; preds = %1589, %1586, %1582, %1568, %1548, %1540, %1537, %1533, %1532, %1525, %1239, %1223, %1219, %1216
  %1279 = landingpad { ptr, i32 }
          cleanup
  %1280 = extractvalue { ptr, i32 } %1279, 0
  store ptr %1280, ptr %17, align 8
  %1281 = extractvalue { ptr, i32 } %1279, 1
  store i32 %1281, ptr %18, align 4
  br label %1602

1282:                                             ; preds = %1249, %1242
  %1283 = landingpad { ptr, i32 }
          cleanup
  %1284 = extractvalue { ptr, i32 } %1283, 0
  store ptr %1284, ptr %17, align 8
  %1285 = extractvalue { ptr, i32 } %1283, 1
  store i32 %1285, ptr %18, align 4
  br label %1521

1286:                                             ; preds = %1251
  %1287 = landingpad { ptr, i32 }
          cleanup
  %1288 = extractvalue { ptr, i32 } %1287, 0
  store ptr %1288, ptr %17, align 8
  %1289 = extractvalue { ptr, i32 } %1287, 1
  store i32 %1289, ptr %18, align 4
  br label %1520

1290:                                             ; preds = %1255
  %1291 = landingpad { ptr, i32 }
          cleanup
  %1292 = extractvalue { ptr, i32 } %1291, 0
  store ptr %1292, ptr %17, align 8
  %1293 = extractvalue { ptr, i32 } %1291, 1
  store i32 %1293, ptr %18, align 4
  br label %1298

1294:                                             ; preds = %1260
  %1295 = landingpad { ptr, i32 }
          cleanup
  %1296 = extractvalue { ptr, i32 } %1295, 0
  store ptr %1296, ptr %17, align 8
  %1297 = extractvalue { ptr, i32 } %1295, 1
  store i32 %1297, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #9
  br label %1298

1298:                                             ; preds = %1294, %1290
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #9
  br label %1519

1299:                                             ; preds = %1273, %1263
  %1300 = load double, ptr %86, align 8, !tbaa !97
  %1301 = load i32, ptr %41, align 4, !tbaa !96
  %1302 = sext i32 %1301 to i64
  %1303 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %1302) #9
  store double %1300, ptr %1303, align 8, !tbaa !97
  %1304 = load i32, ptr %41, align 4, !tbaa !96
  %1305 = sext i32 %1304 to i64
  %1306 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %1305) #9
  store i8 1, ptr %1306, align 1, !tbaa !98
  %1307 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1307)
          to label %1308 unwind label %1366

1308:                                             ; preds = %1299
  %1309 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %1310 = load ptr, ptr %1309, align 8, !tbaa !406
  %1311 = load i32, ptr %43, align 4, !tbaa !96
  %1312 = load double, ptr %82, align 8, !tbaa !97
  %1313 = load double, ptr %86, align 8, !tbaa !97
  invoke void @_ZN15HighsPseudocost14addObservationEidd(ptr noundef nonnull align 8 dereferenceable(360) %1310, i32 noundef %1311, double noundef %1312, double noundef %1313)
          to label %1314 unwind label %1366

1314:                                             ; preds = %1308
  %1315 = load double, ptr %86, align 8, !tbaa !97
  %1316 = load ptr, ptr %84, align 8, !tbaa !5
  invoke void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48) %47, double noundef %1315, ptr noundef nonnull align 8 dereferenceable(24) %1316)
          to label %1317 unwind label %1366

1317:                                             ; preds = %1314
  %1318 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1319 = load ptr, ptr %1318, align 8, !tbaa !11
  %1320 = load i32, ptr %81, align 4, !tbaa !429
  %1321 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef %1320)
          to label %1322 unwind label %1366

1322:                                             ; preds = %1317
  br i1 %1321, label %1323, label %1375

1323:                                             ; preds = %1322
  %1324 = load i8, ptr %83, align 1, !tbaa !393, !range !394, !noundef !395
  %1325 = trunc i8 %1324 to i1
  br i1 %1325, label %1326, label %1375

1326:                                             ; preds = %1323
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #9
  %1327 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1328 unwind label %1370

1328:                                             ; preds = %1326
  store double %1327, ptr %89, align 8, !tbaa !97
  %1329 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1330 = load ptr, ptr %1329, align 8, !tbaa !102
  %1331 = getelementptr inbounds %class.HighsMipSolver, ptr %1330, i32 0, i32 25
  %1332 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1331) #9
  %1333 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1334 = load ptr, ptr %1333, align 8, !tbaa !11
  %1335 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %1334)
          to label %1336 unwind label %1370

1336:                                             ; preds = %1328
  %1337 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %1335)
          to label %1338 unwind label %1370

1338:                                             ; preds = %1336
  %1339 = getelementptr inbounds %struct.HighsSolution, ptr %1337, i32 0, i32 2
  %1340 = load double, ptr %85, align 8, !tbaa !97
  %1341 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 15
  %1342 = load i8, ptr %1341, align 1, !tbaa !433, !range !394, !noundef !395
  %1343 = trunc i8 %1342 to i1
  %1344 = zext i1 %1343 to i64
  %1345 = select i1 %1343, i32 3, i32 0
  %1346 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801) %1332, ptr noundef nonnull align 8 dereferenceable(24) %1339, double noundef %1340, i32 noundef %1345, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %1347 unwind label %1370

1347:                                             ; preds = %1338
  %1348 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1349 = load ptr, ptr %1348, align 8, !tbaa !102
  %1350 = getelementptr inbounds %class.HighsMipSolver, ptr %1349, i32 0, i32 25
  %1351 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1350) #9
  %1352 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1351, i32 0, i32 77
  %1353 = load double, ptr %1352, align 8, !tbaa !415
  %1354 = load double, ptr %89, align 8, !tbaa !97
  %1355 = fcmp olt double %1353, %1354
  br i1 %1355, label %1356, label %1374

1356:                                             ; preds = %1347
  %1357 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1358 = load ptr, ptr %1357, align 8, !tbaa !11
  %1359 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1360 = load ptr, ptr %1359, align 8, !tbaa !102
  %1361 = getelementptr inbounds %class.HighsMipSolver, ptr %1360, i32 0, i32 25
  %1362 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1361) #9
  %1363 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1362, i32 0, i32 77
  %1364 = load double, ptr %1363, align 8, !tbaa !415
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %1358, double noundef %1364)
          to label %1365 unwind label %1370

1365:                                             ; preds = %1356
  br label %1374

1366:                                             ; preds = %1465, %1464, %1459, %1394, %1375, %1317, %1314, %1308, %1299
  %1367 = landingpad { ptr, i32 }
          cleanup
  %1368 = extractvalue { ptr, i32 } %1367, 0
  store ptr %1368, ptr %17, align 8
  %1369 = extractvalue { ptr, i32 } %1367, 1
  store i32 %1369, ptr %18, align 4
  br label %1519

1370:                                             ; preds = %1356, %1338, %1336, %1328, %1326
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %17, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br label %1519

1374:                                             ; preds = %1365, %1347
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #9
  br label %1375

1375:                                             ; preds = %1374, %1323, %1322
  %1376 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1377 = load ptr, ptr %1376, align 8, !tbaa !11
  %1378 = load i32, ptr %81, align 4, !tbaa !429
  %1379 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef %1378)
          to label %1380 unwind label %1366

1380:                                             ; preds = %1375
  br i1 %1379, label %1381, label %1459

1381:                                             ; preds = %1380
  %1382 = load double, ptr %85, align 8, !tbaa !97
  %1383 = load i32, ptr %41, align 4, !tbaa !96
  %1384 = sext i32 %1383 to i64
  %1385 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %1384) #9
  store double %1382, ptr %1385, align 8, !tbaa !97
  %1386 = load double, ptr %85, align 8, !tbaa !97
  %1387 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1388 = load ptr, ptr %1387, align 8, !tbaa !102
  %1389 = getelementptr inbounds %class.HighsMipSolver, ptr %1388, i32 0, i32 25
  %1390 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1389) #9
  %1391 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1390, i32 0, i32 78
  %1392 = load double, ptr %1391, align 8, !tbaa !434
  %1393 = fcmp ogt double %1386, %1392
  br i1 %1393, label %1394, label %1458

1394:                                             ; preds = %1381
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1395 unwind label %1366

1395:                                             ; preds = %1394
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #9
  %1396 = load double, ptr %85, align 8, !tbaa !97
  %1397 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1398 unwind label %1411

1398:                                             ; preds = %1395
  %1399 = fcmp ogt double %1396, %1397
  %1400 = zext i1 %1399 to i8
  store i8 %1400, ptr %90, align 1, !tbaa !393
  %1401 = load i8, ptr %90, align 1, !tbaa !393, !range !394, !noundef !395
  %1402 = trunc i8 %1401 to i1
  br i1 %1402, label %1403, label %1415

1403:                                             ; preds = %1398
  %1404 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1405 = load ptr, ptr %1404, align 8, !tbaa !102
  %1406 = getelementptr inbounds %class.HighsMipSolver, ptr %1405, i32 0, i32 25
  %1407 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1406) #9
  %1408 = getelementptr inbounds i8, ptr %1407, i64 26800
  %1409 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %1408, ptr noundef nonnull align 8 dereferenceable(824) %1409)
          to label %1410 unwind label %1411

1410:                                             ; preds = %1403
  br label %1415

1411:                                             ; preds = %1426, %1418, %1415, %1403, %1395
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %17, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  br label %1519

1415:                                             ; preds = %1410, %1398
  %1416 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1417 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1416)
          to label %1418 unwind label %1411

1418:                                             ; preds = %1415
  %1419 = getelementptr inbounds { double, i64 }, ptr %91, i32 0, i32 0
  %1420 = extractvalue { double, i64 } %1417, 0
  store double %1420, ptr %1419, align 8
  %1421 = getelementptr inbounds { double, i64 }, ptr %91, i32 0, i32 1
  %1422 = extractvalue { double, i64 } %1417, 1
  store i64 %1422, ptr %1421, align 8
  %1423 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1424 = load ptr, ptr %1423, align 8, !tbaa !11
  %1425 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1424, ptr noundef nonnull align 8 dereferenceable(824) %1425, i1 noundef zeroext false)
          to label %1426 unwind label %1411

1426:                                             ; preds = %1418
  %1427 = load i32, ptr %43, align 4, !tbaa !96
  %1428 = load double, ptr %46, align 8, !tbaa !97
  %1429 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1427, double noundef %1428, double noundef %1429)
          to label %1430 unwind label %1411

1430:                                             ; preds = %1426
  %1431 = load i8, ptr %90, align 1, !tbaa !393, !range !394, !noundef !395
  %1432 = trunc i8 %1431 to i1
  %1433 = zext i1 %1432 to i64
  %1434 = select i1 %1432, i32 0, i32 1
  %1435 = trunc i32 %1434 to i8
  %1436 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1437 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1438 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1437) #9
  %1439 = sub i64 %1438, 2
  %1440 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1436, i64 noundef %1439) #9
  %1441 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1440, i32 0, i32 10
  store i8 %1435, ptr %1441, align 1, !tbaa !425
  %1442 = load double, ptr %85, align 8, !tbaa !97
  %1443 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1444 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1445 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1444) #9
  %1446 = sub i64 %1445, 2
  %1447 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1443, i64 noundef %1446) #9
  %1448 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1447, i32 0, i32 4
  store double %1442, ptr %1448, align 8, !tbaa !435
  %1449 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1450 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1451 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1450) #9
  %1452 = sub i64 %1451, 2
  %1453 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1449, i64 noundef %1452) #9
  %1454 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1453, i32 0, i32 9
  store i8 1, ptr %1454, align 4, !tbaa !427
  %1455 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %1456 = load i32, ptr %1455, align 8, !tbaa !428
  %1457 = sub nsw i32 %1456, 1
  store i32 %1457, ptr %1455, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  br label %1516

1458:                                             ; preds = %1381
  br label %1515

1459:                                             ; preds = %1380
  %1460 = load double, ptr %85, align 8, !tbaa !97
  %1461 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1462 unwind label %1366

1462:                                             ; preds = %1459
  %1463 = fcmp ogt double %1460, %1461
  br i1 %1463, label %1464, label %1514

1464:                                             ; preds = %1462
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1465 unwind label %1366

1465:                                             ; preds = %1464
  %1466 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1467 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %1466)
          to label %1468 unwind label %1366

1468:                                             ; preds = %1465
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #9
  %1469 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1470 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %1469)
          to label %1471 unwind label %1506

1471:                                             ; preds = %1468
  %1472 = zext i1 %1470 to i8
  store i8 %1472, ptr %92, align 1, !tbaa !393
  %1473 = load i8, ptr %92, align 1, !tbaa !393, !range !394, !noundef !395
  %1474 = trunc i8 %1473 to i1
  br i1 %1474, label %1475, label %1510

1475:                                             ; preds = %1471
  %1476 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1477 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1476)
          to label %1478 unwind label %1506

1478:                                             ; preds = %1475
  %1479 = getelementptr inbounds { double, i64 }, ptr %93, i32 0, i32 0
  %1480 = extractvalue { double, i64 } %1477, 0
  store double %1480, ptr %1479, align 8
  %1481 = getelementptr inbounds { double, i64 }, ptr %93, i32 0, i32 1
  %1482 = extractvalue { double, i64 } %1477, 1
  store i64 %1482, ptr %1481, align 8
  %1483 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1484 = load ptr, ptr %1483, align 8, !tbaa !11
  %1485 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1484, ptr noundef nonnull align 8 dereferenceable(824) %1485, i1 noundef zeroext false)
          to label %1486 unwind label %1506

1486:                                             ; preds = %1478
  %1487 = load i32, ptr %43, align 4, !tbaa !96
  %1488 = load double, ptr %46, align 8, !tbaa !97
  %1489 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1487, double noundef %1488, double noundef %1489)
          to label %1490 unwind label %1506

1490:                                             ; preds = %1486
  %1491 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1492 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1493 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1492) #9
  %1494 = sub i64 %1493, 2
  %1495 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1491, i64 noundef %1494) #9
  %1496 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1495, i32 0, i32 10
  store i8 0, ptr %1496, align 1, !tbaa !425
  %1497 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1498 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1499 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1498) #9
  %1500 = sub i64 %1499, 2
  %1501 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1497, i64 noundef %1500) #9
  %1502 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1501, i32 0, i32 9
  store i8 1, ptr %1502, align 4, !tbaa !427
  %1503 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %1504 = load i32, ptr %1503, align 8, !tbaa !428
  %1505 = sub nsw i32 %1504, 1
  store i32 %1505, ptr %1503, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1511

1506:                                             ; preds = %1486, %1478, %1475, %1468
  %1507 = landingpad { ptr, i32 }
          cleanup
  %1508 = extractvalue { ptr, i32 } %1507, 0
  store ptr %1508, ptr %17, align 8
  %1509 = extractvalue { ptr, i32 } %1507, 1
  store i32 %1509, ptr %18, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #9
  br label %1519

1510:                                             ; preds = %1471
  store i32 0, ptr %42, align 4
  br label %1511

1511:                                             ; preds = %1510, %1490
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #9
  %1512 = load i32, ptr %42, align 4
  switch i32 %1512, label %1516 [
    i32 0, label %1513
  ]

1513:                                             ; preds = %1511
  br label %1514

1514:                                             ; preds = %1513, %1462
  br label %1515

1515:                                             ; preds = %1514, %1458
  store i32 0, ptr %42, align 4
  br label %1516

1516:                                             ; preds = %1515, %1511, %1430
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #9
  %1517 = load i32, ptr %42, align 4
  switch i32 %1517, label %1598 [
    i32 0, label %1518
  ]

1518:                                             ; preds = %1516
  br label %1586

1519:                                             ; preds = %1506, %1411, %1370, %1366, %1298
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #9
  br label %1520

1520:                                             ; preds = %1519, %1286
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #9
  br label %1521

1521:                                             ; preds = %1520, %1282
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #9
  br label %1602

1522:                                             ; preds = %1238
  %1523 = load i32, ptr %81, align 4, !tbaa !429
  %1524 = icmp eq i32 %1523, 2
  br i1 %1524, label %1525, label %1568

1525:                                             ; preds = %1522
  %1526 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 0
  %1527 = load ptr, ptr %1526, align 8, !tbaa !102
  %1528 = getelementptr inbounds %class.HighsMipSolver, ptr %1527, i32 0, i32 25
  %1529 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1528) #9
  %1530 = getelementptr inbounds i8, ptr %1529, i64 26800
  %1531 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %1530, ptr noundef nonnull align 8 dereferenceable(824) %1531)
          to label %1532 unwind label %1278

1532:                                             ; preds = %1525
  invoke void @_ZN11HighsSearch21addInfeasibleConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %96)
          to label %1533 unwind label %1278

1533:                                             ; preds = %1532
  %1534 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 3
  %1535 = load ptr, ptr %1534, align 8, !tbaa !406
  %1536 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %1535, i32 noundef %1536, i1 noundef zeroext true)
          to label %1537 unwind label %1278

1537:                                             ; preds = %1533
  %1538 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1539 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1538)
          to label %1540 unwind label %1278

1540:                                             ; preds = %1537
  %1541 = getelementptr inbounds { double, i64 }, ptr %94, i32 0, i32 0
  %1542 = extractvalue { double, i64 } %1539, 0
  store double %1542, ptr %1541, align 8
  %1543 = getelementptr inbounds { double, i64 }, ptr %94, i32 0, i32 1
  %1544 = extractvalue { double, i64 } %1539, 1
  store i64 %1544, ptr %1543, align 8
  %1545 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1546 = load ptr, ptr %1545, align 8, !tbaa !11
  %1547 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1546, ptr noundef nonnull align 8 dereferenceable(824) %1547, i1 noundef zeroext false)
          to label %1548 unwind label %1278

1548:                                             ; preds = %1540
  %1549 = load i32, ptr %43, align 4, !tbaa !96
  %1550 = load double, ptr %46, align 8, !tbaa !97
  %1551 = load double, ptr %44, align 8, !tbaa !97
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1549, double noundef %1550, double noundef %1551)
          to label %1552 unwind label %1278

1552:                                             ; preds = %1548
  %1553 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1554 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1555 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1554) #9
  %1556 = sub i64 %1555, 2
  %1557 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1553, i64 noundef %1556) #9
  %1558 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1557, i32 0, i32 10
  store i8 0, ptr %1558, align 1, !tbaa !425
  %1559 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1560 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 19
  %1561 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1560) #9
  %1562 = sub i64 %1561, 2
  %1563 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1559, i64 noundef %1562) #9
  %1564 = getelementptr inbounds %"struct.HighsSearch::NodeData", ptr %1563, i32 0, i32 9
  store i8 1, ptr %1564, align 4, !tbaa !427
  %1565 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 13
  %1566 = load i32, ptr %1565, align 8, !tbaa !428
  %1567 = sub nsw i32 %1566, 1
  store i32 %1567, ptr %1565, align 8, !tbaa !428
  store i32 -1, ptr %5, align 4
  store i32 1, ptr %42, align 4
  br label %1598

1568:                                             ; preds = %1522
  %1569 = load i32, ptr %41, align 4, !tbaa !96
  %1570 = sext i32 %1569 to i64
  %1571 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %1570) #9
  store double 0.000000e+00, ptr %1571, align 8, !tbaa !97
  %1572 = load i32, ptr %41, align 4, !tbaa !96
  %1573 = sext i32 %1572 to i64
  %1574 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %1573) #9
  store double 0.000000e+00, ptr %1574, align 8, !tbaa !97
  %1575 = load i32, ptr %41, align 4, !tbaa !96
  %1576 = sext i32 %1575 to i64
  %1577 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %1576) #9
  store i8 1, ptr %1577, align 1, !tbaa !98
  %1578 = load i32, ptr %41, align 4, !tbaa !96
  %1579 = sext i32 %1578 to i64
  %1580 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %1579) #9
  store i8 1, ptr %1580, align 1, !tbaa !98
  %1581 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1581)
          to label %1582 unwind label %1278

1582:                                             ; preds = %1568
  %1583 = load i32, ptr %43, align 4, !tbaa !96
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %96, i32 noundef %1583)
          to label %1584 unwind label %1278

1584:                                             ; preds = %1582
  br label %1585

1585:                                             ; preds = %1584
  br label %1586

1586:                                             ; preds = %1585, %1518
  %1587 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  %1588 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %1587)
          to label %1589 unwind label %1278

1589:                                             ; preds = %1586
  %1590 = getelementptr inbounds { double, i64 }, ptr %95, i32 0, i32 0
  %1591 = extractvalue { double, i64 } %1588, 0
  store double %1591, ptr %1590, align 8
  %1592 = getelementptr inbounds { double, i64 }, ptr %95, i32 0, i32 1
  %1593 = extractvalue { double, i64 } %1588, 1
  store i64 %1593, ptr %1592, align 8
  %1594 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 1
  %1595 = load ptr, ptr %1594, align 8, !tbaa !11
  %1596 = getelementptr inbounds %class.HighsSearch, ptr %96, i32 0, i32 2
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %1595, ptr noundef nonnull align 8 dereferenceable(824) %1596, i1 noundef zeroext false)
          to label %1597 unwind label %1278

1597:                                             ; preds = %1589
  store i32 0, ptr %42, align 4
  br label %1598

1598:                                             ; preds = %1597, %1552, %1516
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  br label %1599

1599:                                             ; preds = %1598, %1190
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  %1600 = load i32, ptr %42, align 4
  switch i32 %1600, label %1607 [
    i32 0, label %1601
  ]

1601:                                             ; preds = %1599
  br label %1606

1602:                                             ; preds = %1521, %1278
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %1603

1603:                                             ; preds = %1602, %1274
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  br label %1604

1604:                                             ; preds = %1603, %1142
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #9
  br label %1605

1605:                                             ; preds = %1604, %1138
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  br label %1611

1606:                                             ; preds = %1601, %1085
  store i32 0, ptr %42, align 4
  br label %1607

1607:                                             ; preds = %1606, %1599, %1083
  call void @llvm.lifetime.end.p0(i64 48, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %1608

1608:                                             ; preds = %1607, %460
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #9
  %1609 = load i32, ptr %42, align 4
  switch i32 %1609, label %1614 [
    i32 0, label %1610
  ]

1610:                                             ; preds = %1608
  br label %426, !llvm.loop !436

1611:                                             ; preds = %1605, %1089, %623
  call void @llvm.lifetime.end.p0(i64 48, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %1612

1612:                                             ; preds = %1611, %484
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %1613

1613:                                             ; preds = %1612, %480
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #9
  call void @_ZN17HighsLpRelaxation10PlaygroundD2Ev(ptr noundef nonnull align 8 dereferenceable(9) %39) #9
  br label %1616

1614:                                             ; preds = %1608
  call void @_ZN17HighsLpRelaxation10PlaygroundD2Ev(ptr noundef nonnull align 8 dereferenceable(9) %39) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 80, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  %1615 = load i32, ptr %5, align 4
  ret i32 %1615

1616:                                             ; preds = %1613, %476
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 80, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #9
  br label %1617

1617:                                             ; preds = %1616, %472
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #9
  br label %1618

1618:                                             ; preds = %1617, %386, %163, %159, %155, %151, %147
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  br label %1619

1619:                                             ; preds = %1618, %143
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %13) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %12) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %11) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %10) #9
  br label %1620

1620:                                             ; preds = %1619
  %1621 = load ptr, ptr %17, align 8
  %1622 = load i32, ptr %18, align 4
  %1623 = insertvalue { ptr, i32 } poison, ptr %1621, 0
  %1624 = insertvalue { ptr, i32 } %1623, i32 %1622, 1
  resume { ptr, i32 } %1624
}

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

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

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

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

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

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

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

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

declare void @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89), i32 noundef, ptr noundef, ...) #7

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, double noundef) #1 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) #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_T0_(ptr, ptr, i32 noundef) #1

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

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

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

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

declare noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801), i64 noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i32 @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_2clEb"(ptr noundef nonnull align 8 dereferenceable(80), i1 noundef zeroext) #8 align 2

declare void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425), double noundef) #7

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStgeIddEbRKSt4pairIT_T0_ES5_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #8

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) #4

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

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

declare noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824)) #7

declare noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(824)) #7

declare noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216), ptr noundef nonnull align 8 dereferenceable(824)) #7

declare void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(224)) #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, i1 noundef zeroext) #1 align 2

declare { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824)) #7

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, i32 noundef, i1 noundef zeroext) #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef) #1 align 2

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15HighsPseudocost14addObservationEidd(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, double noundef, double noundef) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48), double noundef, ptr noundef nonnull align 8 dereferenceable(24)) #8 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef) #1 align 2

declare noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(24), double noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) #7

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef) #1 align 2

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

declare void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(824), i1 noundef zeroext) #7

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"long", !7, i64 0}
!11 = !{!12, !6, i64 8}
!12 = !{!"_ZTS11HighsSearch", !6, i64 0, !6, i64 8, !13, i64 16, !6, i64 840, !83, i64 848, !10, i64 856, !10, i64 864, !10, i64 872, !10, i64 880, !48, i64 888, !47, i64 896, !18, i64 912, !42, i64 936, !49, i64 960, !50, i64 964, !50, i64 965, !50, i64 966, !84, i64 968, !42, i64 976, !85, i64 1000, !89, i64 1024}
!13 = !{!"_ZTS11HighsDomain", !14, i64 0, !18, i64 24, !22, i64 48, !26, i64 72, !30, i64 96, !34, i64 120, !38, i64 144, !38, i64 168, !18, i64 192, !18, i64 216, !42, i64 240, !14, i64 264, !18, i64 288, !46, i64 312, !6, i64 472, !59, i64 480, !64, i64 560, !50, i64 640, !69, i64 644, !49, i64 652, !18, i64 656, !18, i64 680, !18, i64 704, !70, i64 728, !50, i64 768, !42, i64 776, !42, i64 800}
!14 = !{!"_ZTSSt6vectorIhSaIhEE", !15, i64 0}
!15 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !16, i64 0}
!16 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!18 = !{!"_ZTSSt6vectorIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!22 = !{!"_ZTSSt6vectorISt4pairIiiESaIS1_EE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseISt4pairIiiESaIS1_EE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!30 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!34 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !35, i64 0}
!35 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!38 = !{!"_ZTSSt6vectorI12HighsCDoubleSaIS0_EE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseI12HighsCDoubleSaIS0_EE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!42 = !{!"_ZTSSt6vectorIdSaIdEE", !43, i64 0}
!43 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !45, i64 0}
!45 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!46 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !6, i64 0, !6, i64 8, !6, i64 16, !47, i64 24, !49, i64 40, !48, i64 48, !50, i64 56, !51, i64 64, !22, i64 88, !42, i64 112, !55, i64 136}
!47 = !{!"_ZTS12HighsCDouble", !48, i64 0, !48, i64 8}
!48 = !{!"double", !7, i64 0}
!49 = !{!"int", !7, i64 0}
!50 = !{!"bool", !7, i64 0}
!51 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !52, i64 0}
!52 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!55 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !56, i64 0}
!56 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!59 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !60, i64 0}
!60 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !61, i64 0}
!61 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !62, i64 0}
!62 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !63, i64 16, !63, i64 48}
!63 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!64 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !65, i64 0}
!65 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !66, i64 0}
!66 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !67, i64 0}
!67 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !10, i64 8, !68, i64 16, !68, i64 48}
!68 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!69 = !{!"_ZTSN11HighsDomain6ReasonE", !49, i64 0, !49, i64 4}
!70 = !{!"_ZTS14HighsHashTableIivE", !71, i64 0, !77, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!71 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !72, i64 0}
!72 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !73, i64 0}
!73 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !74, i64 0}
!74 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !75, i64 0}
!75 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !76, i64 0}
!76 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !6, i64 0}
!77 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !78, i64 0}
!78 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !79, i64 0}
!79 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !80, i64 0}
!80 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !81, i64 0}
!81 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !82, i64 0}
!82 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !6, i64 0}
!83 = !{!"_ZTS11HighsRandom", !10, i64 0}
!84 = !{!"_ZTSN11HighsSearch18ChildSelectionRuleE", !7, i64 0}
!85 = !{!"_ZTSSt6vectorIN11HighsSearch8NodeDataESaIS1_EE", !86, i64 0}
!86 = !{!"_ZTSSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE12_Vector_implE", !88, i64 0}
!88 = !{!"_ZTSNSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!89 = !{!"_ZTS14HighsHashTableIiiE", !90, i64 0, !77, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!90 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !91, i64 0}
!91 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterELb1ELb1EE", !92, i64 0}
!92 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !93, i64 0}
!93 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !94, i64 0}
!94 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !95, i64 0}
!95 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIiiELb0EE", !6, i64 0}
!96 = !{!49, !49, i64 0}
!97 = !{!48, !48, i64 0}
!98 = !{!7, !7, i64 0}
!99 = !{!100, !49, i64 0}
!100 = !{!"_ZTSSt4pairIidE", !49, i64 0, !48, i64 8}
!101 = !{!100, !48, i64 8}
!102 = !{!12, !6, i64 0}
!103 = !{!104, !48, i64 26144}
!104 = !{!"_ZTS18HighsMipSolverData", !6, i64 0, !105, i64 8, !132, i64 688, !13, i64 912, !141, i64 1736, !307, i64 23168, !308, i64 23528, !340, i64 24016, !354, i64 24192, !355, i64 24296, !360, i64 24344, !287, i64 24464, !216, i64 24688, !157, i64 24696, !50, i64 25616, !50, i64 25617, !50, i64 25618, !217, i64 25620, !50, i64 25624, !49, i64 25628, !49, i64 25632, !49, i64 25636, !49, i64 25640, !18, i64 25648, !18, i64 25672, !42, i64 25696, !42, i64 25720, !14, i64 25744, !18, i64 25768, !18, i64 25792, !18, i64 25816, !18, i64 25840, !18, i64 25864, !18, i64 25888, !361, i64 25912, !366, i64 26128, !48, i64 26144, !48, i64 26152, !48, i64 26160, !10, i64 26168, !42, i64 26176, !42, i64 26200, !42, i64 26224, !48, i64 26248, !144, i64 26256, !48, i64 26352, !49, i64 26360, !49, i64 26364, !47, i64 26368, !48, i64 26384, !48, i64 26392, !48, i64 26400, !10, i64 26408, !10, i64 26416, !10, i64 26424, !10, i64 26432, !10, i64 26440, !10, i64 26448, !10, i64 26456, !10, i64 26464, !10, i64 26472, !10, i64 26480, !10, i64 26488, !10, i64 26496, !10, i64 26504, !10, i64 26512, !10, i64 26520, !10, i64 26528, !10, i64 26536, !49, i64 26544, !48, i64 26552, !48, i64 26560, !48, i64 26568, !48, i64 26576, !42, i64 26584, !368, i64 26608, !391, i64 26760, !392, i64 26800}
!105 = !{!"_ZTS12HighsCutPool", !106, i64 0, !42, i64 336, !115, i64 360, !42, i64 384, !42, i64 408, !14, i64 432, !119, i64 456, !124, i64 512, !107, i64 536, !48, i64 584, !48, i64 592, !48, i64 600, !49, i64 608, !49, i64 612, !49, i64 616, !49, i64 620, !49, i64 624, !18, i64 632, !128, i64 656}
!106 = !{!"_ZTS21HighsDynamicRowMatrix", !22, i64 0, !18, i64 24, !42, i64 48, !18, i64 72, !18, i64 96, !18, i64 120, !18, i64 144, !18, i64 168, !18, i64 192, !18, i64 216, !14, i64 240, !107, i64 264, !18, i64 312}
!107 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !108, i64 0}
!108 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !109, i64 0}
!109 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !110, i64 0, !112, i64 8}
!110 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !111, i64 0}
!111 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!112 = !{!"_ZTSSt15_Rb_tree_header", !113, i64 0, !10, i64 32}
!113 = !{!"_ZTSSt18_Rb_tree_node_base", !114, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!114 = !{!"_ZTSSt14_Rb_tree_color", !7, i64 0}
!115 = !{!"_ZTSSt6vectorIsSaIsEE", !116, i64 0}
!116 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !117, i64 0}
!117 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !118, i64 0}
!118 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!119 = !{!"_ZTSSt18unordered_multimapImiSt4hashImESt8equal_toImESaISt4pairIKmiEEE", !120, i64 0}
!120 = !{!"_ZTSSt10_HashtableImSt4pairIKmiESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb0EEEE", !6, i64 0, !10, i64 8, !121, i64 16, !10, i64 24, !122, i64 32, !6, i64 48}
!121 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!122 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !123, i64 0, !10, i64 8}
!123 = !{!"float", !7, i64 0}
!124 = !{!"_ZTSSt6vectorIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !125, i64 0}
!125 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !126, i64 0}
!126 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE12_Vector_implE", !127, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!128 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !129, i64 0}
!129 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !130, i64 0}
!130 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !131, i64 0}
!131 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!132 = !{!"_ZTS17HighsConflictPool", !49, i64 0, !49, i64 4, !18, i64 8, !115, i64 32, !133, i64 56, !26, i64 80, !22, i64 104, !107, i64 128, !18, i64 176, !137, i64 200}
!133 = !{!"_ZTSSt6vectorIjSaIjEE", !134, i64 0}
!134 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !135, i64 0}
!135 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !136, i64 0}
!136 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!137 = !{!"_ZTSSt6vectorIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !138, i64 0}
!138 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !139, i64 0}
!139 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE12_Vector_implE", !140, i64 0}
!140 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!141 = !{!"_ZTS17HighsLpRelaxation", !6, i64 0, !142, i64 8, !298, i64 20936, !128, i64 20960, !42, i64 20984, !18, i64 21008, !42, i64 21032, !42, i64 21056, !42, i64 21080, !263, i64 21104, !302, i64 21280, !48, i64 21328, !50, i64 21336, !48, i64 21344, !303, i64 21352, !50, i64 21368, !10, i64 21376, !10, i64 21384, !48, i64 21392, !10, i64 21400, !10, i64 21408, !49, i64 21416, !306, i64 21420, !50, i64 21424}
!142 = !{!"_ZTS5Highs", !143, i64 8, !144, i64 112, !151, i64 208, !156, i64 312, !176, i64 1312, !156, i64 1336, !180, i64 2336, !181, i64 2472, !192, i64 2728, !199, i64 3752, !205, i64 3936, !207, i64 4520, !212, i64 4648, !216, i64 4672, !217, i64 4676, !50, i64 4680, !48, i64 4688, !42, i64 4696, !42, i64 4720, !158, i64 4744, !218, i64 4856, !275, i64 19424, !49, i64 19448, !50, i64 19452, !49, i64 19456, !50, i64 19460, !280, i64 19464}
!143 = !{!"_ZTS13HighsSolution", !50, i64 0, !50, i64 1, !42, i64 8, !42, i64 32, !42, i64 56, !42, i64 80}
!144 = !{!"_ZTS10HighsBasis", !50, i64 0, !50, i64 1, !50, i64 2, !50, i64 3, !49, i64 4, !49, i64 8, !145, i64 16, !147, i64 48, !147, i64 72}
!145 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !146, i64 0, !10, i64 8, !7, i64 16}
!146 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!147 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !148, i64 0}
!148 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !149, i64 0}
!149 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !150, i64 0}
!150 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!151 = !{!"_ZTS10ICrashInfo", !49, i64 0, !48, i64 8, !48, i64 16, !48, i64 24, !48, i64 32, !48, i64 40, !152, i64 48, !42, i64 72, !48, i64 96}
!152 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !153, i64 0}
!153 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !154, i64 0}
!154 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !155, i64 0}
!155 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!156 = !{!"_ZTS10HighsModel", !157, i64 0, !174, i64 920}
!157 = !{!"_ZTS7HighsLp", !49, i64 0, !49, i64 4, !42, i64 8, !42, i64 32, !42, i64 56, !42, i64 80, !42, i64 104, !158, i64 128, !160, i64 240, !48, i64 248, !145, i64 256, !145, i64 288, !49, i64 320, !49, i64 324, !161, i64 328, !161, i64 352, !165, i64 376, !169, i64 400, !169, i64 456, !49, i64 512, !49, i64 516, !172, i64 520, !50, i64 592, !50, i64 593, !49, i64 596, !50, i64 600, !173, i64 608}
!158 = !{!"_ZTS17HighsSparseMatrix", !159, i64 0, !49, i64 4, !49, i64 8, !18, i64 16, !18, i64 40, !18, i64 64, !42, i64 88}
!159 = !{!"_ZTS12MatrixFormat", !7, i64 0}
!160 = !{!"_ZTS8ObjSense", !7, i64 0}
!161 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !162, i64 0}
!162 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !163, i64 0}
!163 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !164, i64 0}
!164 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!165 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !166, i64 0}
!166 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !167, i64 0}
!167 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !168, i64 0}
!168 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!169 = !{!"_ZTS13HighsNameHash", !170, i64 0}
!170 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !171, i64 0}
!171 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE", !6, i64 0, !10, i64 8, !121, i64 16, !10, i64 24, !122, i64 32, !6, i64 48}
!172 = !{!"_ZTS10HighsScale", !49, i64 0, !50, i64 4, !49, i64 8, !49, i64 12, !48, i64 16, !42, i64 24, !42, i64 48}
!173 = !{!"_ZTS11HighsLpMods", !18, i64 0, !18, i64 24, !42, i64 48, !42, i64 72, !165, i64 96, !18, i64 120, !42, i64 144, !18, i64 168, !42, i64 192, !18, i64 216, !42, i64 240, !42, i64 264, !42, i64 288}
!174 = !{!"_ZTS12HighsHessian", !49, i64 0, !175, i64 4, !18, i64 8, !18, i64 32, !42, i64 56}
!175 = !{!"_ZTS13HessianFormat", !7, i64 0}
!176 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !177, i64 0}
!177 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !178, i64 0}
!178 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !179, i64 0}
!179 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!180 = !{!"_ZTS10HighsTimer", !48, i64 8, !49, i64 16, !18, i64 24, !42, i64 48, !42, i64 72, !161, i64 96, !49, i64 120, !49, i64 124, !49, i64 128}
!181 = !{!"_ZTS13HighsCallback", !182, i64 0, !6, i64 32, !6, i64 40, !184, i64 48, !190, i64 88, !191, i64 240}
!182 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !183, i64 0, !6, i64 24}
!183 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!184 = !{!"_ZTSSt6vectorIbSaIbEE", !185, i64 0}
!185 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !186, i64 0}
!186 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !187, i64 0}
!187 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !188, i64 0, !188, i64 16, !6, i64 32}
!188 = !{!"_ZTSSt13_Bit_iterator", !189, i64 0}
!189 = !{!"_ZTSSt18_Bit_iterator_base", !6, i64 0, !49, i64 8}
!190 = !{!"_ZTS20HighsCallbackDataOut", !49, i64 0, !48, i64 8, !49, i64 16, !49, i64 20, !49, i64 24, !48, i64 32, !10, i64 40, !10, i64 48, !48, i64 56, !48, i64 64, !48, i64 72, !6, i64 80, !49, i64 88, !49, i64 92, !49, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !49, i64 144}
!191 = !{!"_ZTS19HighsCallbackDataIn", !49, i64 0, !6, i64 8}
!192 = !{!"_ZTS12HighsOptions", !193, i64 0, !195, i64 992, !49, i64 1016}
!193 = !{!"_ZTS18HighsOptionsStruct", !145, i64 8, !145, i64 40, !145, i64 72, !145, i64 104, !48, i64 136, !145, i64 144, !145, i64 176, !49, i64 208, !145, i64 216, !48, i64 248, !48, i64 256, !48, i64 264, !48, i64 272, !48, i64 280, !48, i64 288, !48, i64 296, !48, i64 304, !48, i64 312, !48, i64 320, !48, i64 328, !49, i64 336, !49, i64 340, !49, i64 344, !49, i64 348, !49, i64 352, !49, i64 356, !49, i64 360, !49, i64 364, !49, i64 368, !49, i64 372, !49, i64 376, !49, i64 380, !49, i64 384, !49, i64 388, !145, i64 392, !50, i64 424, !50, i64 425, !50, i64 426, !49, i64 428, !49, i64 432, !145, i64 440, !50, i64 472, !50, i64 473, !50, i64 474, !49, i64 476, !50, i64 480, !50, i64 481, !49, i64 484, !49, i64 488, !48, i64 496, !49, i64 504, !49, i64 508, !49, i64 512, !50, i64 516, !49, i64 520, !50, i64 524, !50, i64 525, !50, i64 526, !50, i64 527, !50, i64 528, !50, i64 529, !50, i64 530, !49, i64 532, !49, i64 536, !49, i64 540, !49, i64 544, !49, i64 548, !49, i64 552, !49, i64 556, !49, i64 560, !49, i64 564, !49, i64 568, !49, i64 572, !49, i64 576, !49, i64 580, !49, i64 584, !49, i64 588, !50, i64 592, !50, i64 593, !50, i64 594, !50, i64 595, !48, i64 600, !48, i64 608, !48, i64 616, !48, i64 624, !48, i64 632, !48, i64 640, !48, i64 648, !48, i64 656, !48, i64 664, !48, i64 672, !48, i64 680, !50, i64 688, !50, i64 689, !50, i64 690, !50, i64 691, !49, i64 692, !48, i64 696, !50, i64 704, !50, i64 705, !145, i64 712, !48, i64 744, !49, i64 752, !49, i64 756, !50, i64 760, !50, i64 761, !50, i64 762, !50, i64 763, !49, i64 764, !49, i64 768, !49, i64 772, !49, i64 776, !49, i64 780, !49, i64 784, !49, i64 788, !49, i64 792, !49, i64 796, !49, i64 800, !49, i64 804, !48, i64 808, !48, i64 816, !48, i64 824, !48, i64 832, !48, i64 840, !50, i64 848, !50, i64 849, !145, i64 856, !50, i64 888, !49, i64 892, !194, i64 896}
!194 = !{!"_ZTS15HighsLogOptions", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !182, i64 48, !6, i64 80, !50, i64 88}
!195 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !196, i64 0}
!196 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !197, i64 0}
!197 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !198, i64 0}
!198 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!199 = !{!"_ZTS9HighsInfo", !200, i64 8, !201, i64 160}
!200 = !{!"_ZTS15HighsInfoStruct", !50, i64 0, !10, i64 8, !49, i64 16, !49, i64 20, !49, i64 24, !49, i64 28, !49, i64 32, !49, i64 36, !49, i64 40, !49, i64 44, !48, i64 48, !48, i64 56, !48, i64 64, !48, i64 72, !49, i64 80, !48, i64 88, !48, i64 96, !49, i64 104, !48, i64 112, !48, i64 120, !48, i64 128, !48, i64 136, !48, i64 144}
!201 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !202, i64 0}
!202 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !203, i64 0}
!203 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !204, i64 0}
!204 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!205 = !{!"_ZTS12HighsRanging", !50, i64 0, !206, i64 8, !206, i64 104, !206, i64 200, !206, i64 296, !206, i64 392, !206, i64 488}
!206 = !{!"_ZTS18HighsRangingRecord", !42, i64 0, !42, i64 24, !18, i64 48, !18, i64 72}
!207 = !{!"_ZTS8HighsIis", !50, i64 0, !49, i64 4, !18, i64 8, !18, i64 32, !18, i64 56, !18, i64 80, !208, i64 104}
!208 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !209, i64 0}
!209 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !210, i64 0}
!210 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !211, i64 0}
!211 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!212 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !213, i64 0}
!213 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !214, i64 0}
!214 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !215, i64 0}
!215 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!216 = !{!"_ZTS19HighsPresolveStatus", !7, i64 0}
!217 = !{!"_ZTS16HighsModelStatus", !7, i64 0}
!218 = !{!"_ZTS4HEkk", !6, i64 0, !6, i64 8, !6, i64 16, !219, i64 24, !157, i64 8600, !145, i64 9520, !236, i64 9552, !237, i64 9568, !217, i64 10608, !238, i64 10616, !243, i64 10736, !83, i64 10776, !42, i64 10784, !42, i64 10808, !50, i64 10832, !158, i64 10840, !158, i64 10952, !250, i64 11064, !267, i64 13928, !48, i64 14048, !48, i64 14056, !48, i64 14064, !49, i64 14072, !49, i64 14076, !49, i64 14080, !49, i64 14084, !50, i64 14088, !50, i64 14089, !268, i64 14092, !49, i64 14096, !49, i64 14100, !18, i64 14104, !42, i64 14128, !269, i64 14152, !269, i64 14184, !49, i64 14216, !49, i64 14220, !49, i64 14224, !48, i64 14232, !42, i64 14240, !42, i64 14264, !42, i64 14288, !42, i64 14312, !42, i64 14336, !18, i64 14360, !18, i64 14384, !48, i64 14408, !48, i64 14416, !48, i64 14424, !49, i64 14432, !49, i64 14436, !50, i64 14440, !49, i64 14444, !50, i64 14448, !50, i64 14449, !50, i64 14450, !50, i64 14451, !48, i64 14456, !270, i64 14464, !42, i64 14488, !274, i64 14512}
!219 = !{!"_ZTS20HighsSimplexAnalysis", !6, i64 0, !220, i64 8, !220, i64 32, !6, i64 56, !49, i64 64, !49, i64 68, !49, i64 72, !145, i64 80, !145, i64 112, !194, i64 144, !50, i64 240, !50, i64 241, !50, i64 242, !50, i64 243, !50, i64 244, !50, i64 245, !50, i64 246, !49, i64 248, !224, i64 252, !49, i64 256, !49, i64 260, !49, i64 264, !49, i64 268, !49, i64 272, !49, i64 276, !49, i64 280, !145, i64 288, !48, i64 320, !48, i64 328, !48, i64 336, !48, i64 344, !48, i64 352, !48, i64 360, !48, i64 368, !48, i64 376, !48, i64 384, !48, i64 392, !48, i64 400, !48, i64 408, !49, i64 416, !49, i64 420, !48, i64 424, !48, i64 432, !49, i64 440, !48, i64 448, !48, i64 456, !49, i64 464, !48, i64 472, !48, i64 480, !48, i64 488, !48, i64 496, !48, i64 504, !48, i64 512, !48, i64 520, !48, i64 528, !48, i64 536, !48, i64 544, !49, i64 552, !48, i64 560, !49, i64 568, !49, i64 572, !49, i64 576, !49, i64 580, !49, i64 584, !49, i64 588, !49, i64 592, !49, i64 596, !49, i64 600, !225, i64 608, !225, i64 760, !225, i64 912, !225, i64 1064, !225, i64 1216, !225, i64 1368, !225, i64 1520, !225, i64 1672, !225, i64 1824, !225, i64 1976, !49, i64 2128, !49, i64 2132, !49, i64 2136, !49, i64 2140, !48, i64 2144, !48, i64 2152, !49, i64 2160, !49, i64 2164, !49, i64 2168, !49, i64 2172, !49, i64 2176, !48, i64 2184, !48, i64 2192, !49, i64 2200, !48, i64 2208, !48, i64 2216, !49, i64 2224, !49, i64 2228, !48, i64 2232, !48, i64 2240, !42, i64 2248, !42, i64 2272, !42, i64 2296, !42, i64 2320, !226, i64 2344, !230, i64 2368, !49, i64 2376, !49, i64 2380, !49, i64 2384, !49, i64 2388, !48, i64 2392, !48, i64 2400, !48, i64 2408, !48, i64 2416, !48, i64 2424, !48, i64 2432, !48, i64 2440, !48, i64 2448, !48, i64 2456, !48, i64 2464, !49, i64 2472, !49, i64 2476, !48, i64 2480, !48, i64 2488, !48, i64 2496, !50, i64 2504, !48, i64 2512, !48, i64 2520, !49, i64 2528, !49, i64 2532, !49, i64 2536, !49, i64 2540, !49, i64 2544, !48, i64 2552, !48, i64 2560, !48, i64 2568, !48, i64 2576, !48, i64 2584, !48, i64 2592, !48, i64 2600, !48, i64 2608, !48, i64 2616, !49, i64 2624, !49, i64 2628, !7, i64 2632, !49, i64 4952, !49, i64 4956, !7, i64 4960, !7, i64 7600, !7, i64 7648, !225, i64 7664, !225, i64 7816, !225, i64 7968, !225, i64 8120, !225, i64 8272, !225, i64 8424}
!220 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !221, i64 0}
!221 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !222, i64 0}
!222 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !223, i64 0}
!223 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!224 = !{!"_ZTS14EdgeWeightMode", !7, i64 0}
!225 = !{!"_ZTS22HighsValueDistribution", !145, i64 0, !145, i64 32, !49, i64 64, !49, i64 68, !49, i64 72, !48, i64 80, !48, i64 88, !42, i64 96, !18, i64 120, !49, i64 144}
!226 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !227, i64 0}
!227 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !228, i64 0}
!228 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !229, i64 0}
!229 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!230 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !231, i64 0}
!231 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !232, i64 0}
!232 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !233, i64 0}
!233 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !234, i64 0}
!234 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !235, i64 0}
!235 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !6, i64 0}
!236 = !{!"_ZTS18HighsSimplexStatus", !50, i64 0, !50, i64 1, !50, i64 2, !50, i64 3, !50, i64 4, !50, i64 5, !50, i64 6, !50, i64 7, !50, i64 8, !50, i64 9, !50, i64 10, !50, i64 11, !50, i64 12}
!237 = !{!"_ZTS16HighsSimplexInfo", !42, i64 0, !42, i64 24, !42, i64 48, !42, i64 72, !42, i64 96, !42, i64 120, !42, i64 144, !42, i64 168, !42, i64 192, !42, i64 216, !42, i64 240, !42, i64 264, !42, i64 288, !18, i64 312, !18, i64 336, !18, i64 360, !18, i64 384, !42, i64 408, !49, i64 432, !49, i64 436, !50, i64 440, !50, i64 441, !238, i64 448, !49, i64 568, !49, i64 572, !49, i64 576, !42, i64 584, !42, i64 608, !42, i64 632, !42, i64 656, !49, i64 680, !49, i64 684, !49, i64 688, !49, i64 692, !48, i64 696, !48, i64 704, !48, i64 712, !48, i64 720, !49, i64 728, !49, i64 732, !48, i64 736, !48, i64 744, !48, i64 752, !48, i64 760, !48, i64 768, !48, i64 776, !48, i64 784, !48, i64 792, !48, i64 800, !48, i64 808, !50, i64 816, !48, i64 824, !48, i64 832, !49, i64 840, !48, i64 848, !48, i64 856, !48, i64 864, !50, i64 872, !50, i64 873, !50, i64 874, !50, i64 875, !50, i64 876, !50, i64 877, !50, i64 878, !50, i64 879, !50, i64 880, !50, i64 881, !50, i64 882, !50, i64 883, !50, i64 884, !50, i64 885, !50, i64 886, !49, i64 888, !48, i64 896, !48, i64 904, !49, i64 912, !48, i64 920, !48, i64 928, !49, i64 936, !49, i64 940, !49, i64 944, !49, i64 948, !49, i64 952, !49, i64 956, !49, i64 960, !49, i64 964, !49, i64 968, !49, i64 972, !49, i64 976, !49, i64 980, !49, i64 984, !49, i64 988, !49, i64 992, !49, i64 996, !48, i64 1000, !48, i64 1008, !48, i64 1016, !48, i64 1024, !49, i64 1032}
!238 = !{!"_ZTS12SimplexBasis", !18, i64 0, !239, i64 24, !239, i64 48, !10, i64 72, !49, i64 80, !49, i64 84, !145, i64 88}
!239 = !{!"_ZTSSt6vectorIaSaIaEE", !240, i64 0}
!240 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !241, i64 0}
!241 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !242, i64 0}
!242 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!243 = !{!"_ZTS14HighsHashTableImvE", !244, i64 0, !77, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!244 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !245, i64 0}
!245 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !246, i64 0}
!246 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !247, i64 0}
!247 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !248, i64 0}
!248 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !249, i64 0}
!249 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !6, i64 0}
!250 = !{!"_ZTS11HSimplexNla", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !251, i64 48, !50, i64 1960, !48, i64 1968, !264, i64 1976, !265, i64 2112}
!251 = !{!"_ZTS7HFactor", !48, i64 0, !48, i64 8, !49, i64 16, !18, i64 24, !18, i64 48, !18, i64 72, !252, i64 96, !49, i64 184, !49, i64 188, !49, i64 192, !49, i64 196, !49, i64 200, !49, i64 204, !49, i64 208, !48, i64 216, !50, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !6, i64 256, !48, i64 264, !48, i64 272, !49, i64 280, !48, i64 288, !253, i64 296, !194, i64 304, !50, i64 400, !50, i64 401, !49, i64 404, !49, i64 408, !6, i64 416, !49, i64 424, !18, i64 432, !42, i64 456, !18, i64 480, !18, i64 504, !18, i64 528, !42, i64 552, !18, i64 576, !18, i64 600, !18, i64 624, !18, i64 648, !18, i64 672, !18, i64 696, !18, i64 720, !42, i64 744, !42, i64 768, !18, i64 792, !18, i64 816, !18, i64 840, !18, i64 864, !18, i64 888, !18, i64 912, !259, i64 936, !42, i64 960, !18, i64 984, !18, i64 1008, !18, i64 1032, !18, i64 1056, !18, i64 1080, !18, i64 1104, !18, i64 1128, !18, i64 1152, !18, i64 1176, !18, i64 1200, !42, i64 1224, !18, i64 1248, !18, i64 1272, !42, i64 1296, !18, i64 1320, !18, i64 1344, !42, i64 1368, !49, i64 1392, !49, i64 1396, !18, i64 1400, !18, i64 1424, !18, i64 1448, !42, i64 1472, !18, i64 1496, !18, i64 1520, !18, i64 1544, !18, i64 1568, !42, i64 1592, !42, i64 1616, !18, i64 1640, !18, i64 1664, !18, i64 1688, !42, i64 1712, !263, i64 1736}
!252 = !{!"_ZTS12RefactorInfo", !50, i64 0, !18, i64 8, !18, i64 32, !239, i64 56, !48, i64 80}
!253 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !254, i64 0}
!254 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !255, i64 0}
!255 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !256, i64 0}
!256 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !257, i64 0}
!257 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !258, i64 0}
!258 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !6, i64 0}
!259 = !{!"_ZTSSt6vectorIcSaIcEE", !260, i64 0}
!260 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !261, i64 0}
!261 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !262, i64 0}
!262 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!263 = !{!"_ZTS11HVectorBaseIdE", !49, i64 0, !49, i64 4, !18, i64 8, !42, i64 32, !48, i64 56, !259, i64 64, !18, i64 88, !6, i64 112, !50, i64 120, !49, i64 124, !18, i64 128, !42, i64 152}
!264 = !{!"_ZTS17ProductFormUpdate", !50, i64 0, !49, i64 4, !49, i64 8, !18, i64 16, !42, i64 40, !18, i64 64, !18, i64 88, !42, i64 112}
!265 = !{!"_ZTS14SimplexIterate", !50, i64 0, !238, i64 8, !266, i64 128, !42, i64 728}
!266 = !{!"_ZTS24InvertibleRepresentation", !18, i64 0, !18, i64 24, !18, i64 48, !18, i64 72, !42, i64 96, !18, i64 120, !18, i64 144, !42, i64 168, !18, i64 192, !18, i64 216, !42, i64 240, !18, i64 264, !18, i64 288, !18, i64 312, !42, i64 336, !18, i64 360, !18, i64 384, !18, i64 408, !18, i64 432, !42, i64 456, !18, i64 480, !18, i64 504, !42, i64 528, !18, i64 552, !42, i64 576}
!267 = !{!"_ZTS8HotStart", !50, i64 0, !252, i64 8, !239, i64 96}
!268 = !{!"_ZTS16SimplexAlgorithm", !7, i64 0}
!269 = !{!"_ZTS14HighsRayRecord", !49, i64 0, !49, i64 4, !42, i64 8}
!270 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !271, i64 0}
!271 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !272, i64 0}
!272 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !273, i64 0}
!273 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!274 = !{!"_ZTS17HighsSimplexStats", !50, i64 0, !49, i64 4, !49, i64 8, !49, i64 12, !49, i64 16, !48, i64 24, !48, i64 32, !48, i64 40, !48, i64 48}
!275 = !{!"_ZTS16HighsPresolveLog", !276, i64 0}
!276 = !{!"_ZTSSt6vectorI20HighsPresolveRuleLogSaIS0_EE", !277, i64 0}
!277 = !{!"_ZTSSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE", !278, i64 0}
!278 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE12_Vector_implE", !279, i64 0}
!279 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!280 = !{!"_ZTS17PresolveComponent", !281, i64 0, !285, i64 16, !286, i64 56, !6, i64 1440, !6, i64 1448, !216, i64 1456, !297, i64 1460}
!281 = !{!"_ZTS14HighsComponent", !282, i64 8, !283, i64 9, !284, i64 10}
!282 = !{!"_ZTS18HighsComponentInfo", !50, i64 0}
!283 = !{!"_ZTS18HighsComponentData", !50, i64 0}
!284 = !{!"_ZTS21HighsComponentOptions", !50, i64 0}
!285 = !{!"_ZTS21PresolveComponentInfo", !282, i64 8, !49, i64 12, !49, i64 16, !49, i64 20, !48, i64 24, !48, i64 32}
!286 = !{!"_ZTS21PresolveComponentData", !283, i64 8, !157, i64 16, !287, i64 936, !143, i64 1160, !144, i64 1264, !275, i64 1360}
!287 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !10, i64 0, !48, i64 8, !48, i64 16, !48, i64 24, !48, i64 32, !288, i64 40, !289, i64 72, !18, i64 96, !18, i64 120, !14, i64 144, !293, i64 168, !293, i64 192, !49, i64 216, !49, i64 220}
!288 = !{!"_ZTS14HighsDataStack", !259, i64 0, !10, i64 24}
!289 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !290, i64 0}
!290 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !291, i64 0}
!291 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !292, i64 0}
!292 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!293 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !294, i64 0}
!294 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !295, i64 0}
!295 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !296, i64 0}
!296 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!297 = !{!"_ZTS20HighsPostsolveStatus", !7, i64 0}
!298 = !{!"_ZTSSt6vectorIN17HighsLpRelaxation5LpRowESaIS1_EE", !299, i64 0}
!299 = !{!"_ZTSSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE", !300, i64 0}
!300 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE12_Vector_implE", !301, i64 0}
!301 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!302 = !{!"_ZTS20HighsSparseVectorSum", !38, i64 0, !18, i64 24}
!303 = !{!"_ZTSSt10shared_ptrIK10HighsBasisE", !304, i64 0}
!304 = !{!"_ZTSSt12__shared_ptrIK10HighsBasisLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !305, i64 8}
!305 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!306 = !{!"_ZTSN17HighsLpRelaxation6StatusE", !7, i64 0}
!307 = !{!"_ZTS15HighsPseudocost", !42, i64 0, !42, i64 24, !18, i64 48, !18, i64 72, !42, i64 96, !42, i64 120, !18, i64 144, !18, i64 168, !18, i64 192, !18, i64 216, !42, i64 240, !42, i64 264, !48, i64 288, !48, i64 296, !48, i64 304, !48, i64 312, !10, i64 320, !10, i64 328, !10, i64 336, !49, i64 344, !48, i64 352}
!308 = !{!"_ZTS16HighsCliqueTable", !309, i64 0, !313, i64 24, !317, i64 48, !321, i64 72, !107, i64 112, !18, i64 160, !328, i64 184, !18, i64 208, !309, i64 232, !18, i64 256, !332, i64 280, !18, i64 304, !336, i64 328, !14, i64 352, !14, i64 376, !133, i64 400, !18, i64 424, !83, i64 448, !49, i64 456, !49, i64 460, !49, i64 464, !49, i64 468, !50, i64 472, !10, i64 480}
!309 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !310, i64 0}
!310 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !311, i64 0}
!311 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !312, i64 0}
!312 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!313 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !314, i64 0}
!314 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !315, i64 0}
!315 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !316, i64 0}
!316 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!317 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !318, i64 0}
!318 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !319, i64 0}
!319 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !320, i64 0}
!320 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!321 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !322, i64 0, !77, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!322 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !323, i64 0}
!323 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !324, i64 0}
!324 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !325, i64 0}
!325 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !326, i64 0}
!326 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !327, i64 0}
!327 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !6, i64 0}
!328 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !329, i64 0}
!329 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !330, i64 0}
!330 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !331, i64 0}
!331 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!332 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !333, i64 0}
!333 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !334, i64 0}
!334 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !335, i64 0}
!335 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!336 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !337, i64 0}
!337 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !338, i64 0}
!338 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !339, i64 0}
!339 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!340 = !{!"_ZTS17HighsImplications", !49, i64 0, !341, i64 8, !10, i64 32, !345, i64 40, !345, i64 64, !6, i64 88, !349, i64 96, !14, i64 120, !353, i64 144}
!341 = !{!"_ZTSSt6vectorIN17HighsImplications7ImplicsESaIS1_EE", !342, i64 0}
!342 = !{!"_ZTSSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE", !343, i64 0}
!343 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE12_Vector_implE", !344, i64 0}
!344 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!345 = !{!"_ZTSSt6vectorI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !346, i64 0}
!346 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !347, i64 0}
!347 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE12_Vector_implE", !348, i64 0}
!348 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!349 = !{!"_ZTSSt6vectorI17HighsSubstitutionSaIS0_EE", !350, i64 0}
!350 = !{!"_ZTSSt12_Vector_baseI17HighsSubstitutionSaIS0_EE", !351, i64 0}
!351 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE12_Vector_implE", !352, i64 0}
!352 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!353 = !{!"_ZTSSt8functionIFviiidEE", !183, i64 0, !6, i64 24}
!354 = !{!"_ZTS21HighsPrimalHeuristics", !6, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !48, i64 40, !49, i64 48, !48, i64 56, !49, i64 64, !83, i64 72, !18, i64 80}
!355 = !{!"_ZTS18HighsRedcostFixing", !356, i64 0, !356, i64 24}
!356 = !{!"_ZTSSt6vectorISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !357, i64 0}
!357 = !{!"_ZTSSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !358, i64 0}
!358 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE12_Vector_implE", !359, i64 0}
!359 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!360 = !{!"_ZTS22HighsObjectiveFunction", !6, i64 0, !48, i64 8, !49, i64 16, !49, i64 20, !18, i64 24, !42, i64 48, !18, i64 72, !18, i64 96}
!361 = !{!"_ZTS15HighsSymmetries", !18, i64 0, !18, i64 24, !18, i64 48, !18, i64 72, !18, i64 96, !18, i64 120, !362, i64 144, !89, i64 168, !49, i64 208, !49, i64 212}
!362 = !{!"_ZTSSt6vectorI19HighsOrbitopeMatrixSaIS0_EE", !363, i64 0}
!363 = !{!"_ZTSSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE", !364, i64 0}
!364 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE12_Vector_implE", !365, i64 0}
!365 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!366 = !{!"_ZTSSt10shared_ptrIK16StabilizerOrbitsE", !367, i64 0}
!367 = !{!"_ZTSSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !305, i64 8}
!368 = !{!"_ZTS14HighsNodeQueue", !369, i64 0, !375, i64 8, !379, i64 32, !385, i64 64, !385, i64 72, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !48, i64 136, !49, i64 144}
!369 = !{!"_ZTSSt10unique_ptrIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !370, i64 0}
!370 = !{!"_ZTSSt15__uniq_ptr_dataIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_ELb1ELb1EE", !371, i64 0}
!371 = !{!"_ZTSSt15__uniq_ptr_implIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !372, i64 0}
!372 = !{!"_ZTSSt5tupleIJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !373, i64 0}
!373 = !{!"_ZTSSt11_Tuple_implILm0EJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !374, i64 0}
!374 = !{!"_ZTSSt10_Head_baseILm0EPN14HighsNodeQueue14AllocatorStateELb0EE", !6, i64 0}
!375 = !{!"_ZTSSt6vectorIN14HighsNodeQueue8OpenNodeESaIS1_EE", !376, i64 0}
!376 = !{!"_ZTSSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE", !377, i64 0}
!377 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE12_Vector_implE", !378, i64 0}
!378 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!379 = !{!"_ZTSSt14priority_queueIlSt6vectorIlSaIlEESt7greaterIlEE", !380, i64 0, !384, i64 24}
!380 = !{!"_ZTSSt6vectorIlSaIlEE", !381, i64 0}
!381 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !382, i64 0}
!382 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !383, i64 0}
!383 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!384 = !{!"_ZTSSt7greaterIlE"}
!385 = !{!"_ZTSSt10unique_ptrISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !386, i64 0}
!386 = !{!"_ZTSSt15__uniq_ptr_dataISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteELb1ELb1EE", !387, i64 0}
!387 = !{!"_ZTSSt15__uniq_ptr_implISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !388, i64 0}
!388 = !{!"_ZTSSt5tupleIJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !389, i64 0}
!389 = !{!"_ZTSSt11_Tuple_implILm0EJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !390, i64 0}
!390 = !{!"_ZTSSt10_Head_baseILm0EPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEELb0EE", !6, i64 0}
!391 = !{!"_ZTS22HighsPrimaDualIntegral", !48, i64 0, !48, i64 8, !48, i64 16, !48, i64 24, !48, i64 32}
!392 = !{!"_ZTS13HighsDebugSol"}
!393 = !{!50, !50, i64 0}
!394 = !{i8 0, i8 2}
!395 = !{}
!396 = !{!397, !6, i64 8}
!397 = !{!"_ZTS14HighsMipSolver", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !217, i64 32, !42, i64 40, !48, i64 64, !48, i64 72, !48, i64 80, !48, i64 88, !48, i64 96, !48, i64 104, !48, i64 112, !10, i64 120, !10, i64 128, !48, i64 136, !6, i64 144, !212, i64 152, !50, i64 176, !49, i64 180, !49, i64 184, !6, i64 192, !6, i64 200, !6, i64 208, !6, i64 216, !398, i64 224, !404, i64 232, !180, i64 360}
!398 = !{!"_ZTSSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EE", !399, i64 0}
!399 = !{!"_ZTSSt15__uniq_ptr_dataI18HighsMipSolverDataSt14default_deleteIS0_ELb1ELb1EE", !400, i64 0}
!400 = !{!"_ZTSSt15__uniq_ptr_implI18HighsMipSolverDataSt14default_deleteIS0_EE", !401, i64 0}
!401 = !{!"_ZTSSt5tupleIJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !402, i64 0}
!402 = !{!"_ZTSSt11_Tuple_implILm0EJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !403, i64 0}
!403 = !{!"_ZTSSt10_Head_baseILm0EP18HighsMipSolverDataLb0EE", !6, i64 0}
!404 = !{!"_ZTS16HighsMipAnalysis", !6, i64 0, !145, i64 8, !405, i64 40, !50, i64 72, !42, i64 80, !42, i64 104}
!405 = !{!"_ZTS15HighsTimerClock", !6, i64 0, !18, i64 8}
!406 = !{!12, !6, i64 840}
!407 = distinct !{!407, !408}
!408 = !{!"llvm.loop.mustprogress"}
!409 = !{!410, !6, i64 0}
!410 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_0", !6, i64 0, !6, i64 8}
!411 = !{!412, !6, i64 0}
!412 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_1", !6, i64 0, !6, i64 8}
!413 = !{!414, !6, i64 48}
!414 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_2", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !6, i64 48, !6, i64 56, !6, i64 64, !6, i64 72}
!415 = !{!104, !48, i64 26568}
!416 = !{!417, !6, i64 0}
!417 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_3", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40}
!418 = !{!419, !48, i64 0}
!419 = !{!"_ZTS17HighsDomainChange", !48, i64 0, !49, i64 8, !420, i64 12}
!420 = !{!"_ZTS14HighsBoundType", !7, i64 0}
!421 = !{!419, !49, i64 8}
!422 = !{!419, !420, i64 12}
!423 = !{i64 0, i64 8, !97, i64 8, i64 4, !96, i64 12, i64 4, !424}
!424 = !{!420, !420, i64 0}
!425 = !{!426, !7, i64 93}
!426 = !{!"_ZTSN11HighsSearch8NodeDataE", !48, i64 0, !48, i64 8, !48, i64 16, !48, i64 24, !48, i64 32, !303, i64 40, !366, i64 56, !419, i64 72, !49, i64 88, !7, i64 92, !7, i64 93}
!427 = !{!426, !7, i64 92}
!428 = !{!12, !49, i64 960}
!429 = !{!306, !306, i64 0}
!430 = !{!12, !10, i64 864}
!431 = !{!12, !10, i64 880}
!432 = !{!104, !48, i64 26152}
!433 = !{!12, !50, i64 965}
!434 = !{!104, !48, i64 26576}
!435 = !{!426, !48, i64 32}
!436 = distinct !{!436, !408}


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

%"class.std::vector.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.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 }
%"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.anon = type { ptr, ptr }
%class.anon.352 = type { ptr, ptr }
%class.anon.353 = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }
%"class.HighsLpRelaxation::Playground" = type <{ ptr, i8, [7 x i8] }>
%class.anon.354 = type { ptr, ptr, ptr, ptr, ptr, ptr }
%"struct.std::pair.355" = type { double, double }
%struct.HighsDomainChange = type { double, i32, i32 }

@.str.52 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [37 x i8], align 1
@__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_ = external hidden unnamed_addr constant [76 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.57 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [51 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #1 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #3 align 2

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

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

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

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.floor.f64(double) #4

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.ceil.f64(double) #4

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064), i32 noundef, double noundef, double noundef) local_unnamed_addr #3 align 2

declare void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824), double, i64, i64) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local i64 @_ZN11HighsDomain6Reason9branchingEv() local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064), i32 noundef, double noundef, double noundef) local_unnamed_addr #3 align 2

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

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

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

declare void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425), i1 noundef zeroext) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN11HighsSearch24selectBranchingCandidateElRdS0_(ptr noundef nonnull align 8 dereferenceable(1064) %0, i64 noundef %1, ptr nocapture noundef nonnull writeonly align 8 dereferenceable(8) %2, ptr nocapture noundef nonnull writeonly align 8 dereferenceable(8) %3) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %"class.std::vector.33", align 8
  %6 = alloca %"class.std::vector.33", align 8
  %7 = alloca %"class.std::vector", align 8
  %8 = alloca %"class.std::vector", align 8
  %9 = alloca %"class.std::vector.33", align 8
  %10 = alloca %"class.std::vector.33", align 8
  %11 = alloca i32, align 4
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca i8, align 1
  %15 = alloca i8, align 1
  %16 = alloca %"class.std::vector.3", align 8
  %17 = alloca %class.anon, align 8
  %18 = alloca %class.anon.352, align 8
  %19 = alloca double, align 8
  %20 = alloca %class.anon.353, align 8
  %21 = alloca %"class.HighsLpRelaxation::Playground", align 8
  %22 = alloca i32, align 4
  %23 = alloca %class.anon.354, align 8
  %24 = alloca %"struct.std::pair.355", align 8
  %25 = alloca double, align 8
  %26 = alloca %"struct.std::pair.355", align 8
  %27 = alloca double, align 8
  %28 = alloca %struct.HighsDomainChange, align 8
  %29 = alloca i8, align 1
  %30 = alloca double, align 8
  %31 = alloca double, align 8
  %32 = alloca %struct.HighsDomainChange, align 8
  %33 = alloca i8, align 1
  %34 = alloca double, align 8
  %35 = alloca double, align 8
  %36 = getelementptr inbounds i8, ptr %0, i64 8
  %37 = load ptr, ptr %36, align 8, !tbaa !5
  %38 = tail call noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %37)
  %39 = tail call noundef zeroext i1 @_ZNKSt6vectorISt4pairIidESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %38) #8
  br i1 %39, label %40, label %41

40:                                               ; preds = %4
  tail call void @__assert_fail(ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.52, i32 noundef 247, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_) #9
  unreachable

41:                                               ; preds = %4
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %5) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #8
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #8
  %42 = load ptr, ptr %36, align 8, !tbaa !5
  %43 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %42)
  %44 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %43) #8
  %45 = trunc i64 %44 to i32
  store i32 %45, ptr %11, align 4, !tbaa !94
  %46 = load ptr, ptr %36, align 8, !tbaa !5
  %47 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %46)
  %48 = load i32, ptr %11, align 4, !tbaa !94
  %49 = sext i32 %48 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %49, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %50 unwind label %74

50:                                               ; preds = %41
  %51 = load i32, ptr %11, align 4, !tbaa !94
  %52 = sext i32 %51 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %52, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %53 unwind label %74

53:                                               ; preds = %50
  %54 = load i32, ptr %11, align 4, !tbaa !94
  %55 = sext i32 %54 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #8
  %56 = call noundef double @_ZNK11HighsSearch20getCurrentLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
  store double %56, ptr %12, align 8, !tbaa !95
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %55, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %57 unwind label %76

57:                                               ; preds = %53
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  %58 = load i32, ptr %11, align 4, !tbaa !94
  %59 = sext i32 %58 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #8
  %60 = call noundef double @_ZNK11HighsSearch20getCurrentLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
  store double %60, ptr %13, align 8, !tbaa !95
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %59, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %61 unwind label %78

61:                                               ; preds = %57
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  %62 = load i32, ptr %11, align 4, !tbaa !94
  %63 = sext i32 %62 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #8
  store i8 0, ptr %14, align 1, !tbaa !96
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %63, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %64 unwind label %80

64:                                               ; preds = %61
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  %65 = load i32, ptr %11, align 4, !tbaa !94
  %66 = sext i32 %65 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #8
  store i8 0, ptr %15, align 1, !tbaa !96
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %66, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %67 unwind label %82

67:                                               ; preds = %64
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #8
  %68 = load i32, ptr %11, align 4, !tbaa !94
  %.not519 = icmp eq i32 %68, 0
  br i1 %.not519, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %67
  %69 = getelementptr inbounds i8, ptr %0, i64 792
  %70 = getelementptr inbounds i8, ptr %0, i64 816
  %71 = getelementptr inbounds i8, ptr %0, i64 840
  br label %84

._crit_edge:                                      ; preds = %191, %67
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %72 = load i32, ptr %11, align 4, !tbaa !94
  %73 = sext i32 %72 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %73)
          to label %194 unwind label %253

74:                                               ; preds = %50, %41
  %75 = landingpad { ptr, i32 }
          cleanup
  br label %817

76:                                               ; preds = %53
  %77 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #8
  br label %817

78:                                               ; preds = %57
  %79 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #8
  br label %817

80:                                               ; preds = %61
  %81 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #8
  br label %817

82:                                               ; preds = %64
  %83 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #8
  br label %817

84:                                               ; preds = %.lr.ph, %191
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %191 ]
  %85 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %indvars.iv) #8
  %86 = load i32, ptr %85, align 8, !tbaa !97
  %87 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %indvars.iv) #8
  %88 = getelementptr inbounds i8, ptr %87, i64 8
  %89 = load double, ptr %88, align 8, !tbaa !99
  %90 = sext i32 %86 to i64
  %91 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %90) #8
  %92 = load double, ptr %91, align 8, !tbaa !95
  %93 = fsub double %89, %92
  %94 = load ptr, ptr %0, align 8, !tbaa !100
  %95 = getelementptr inbounds i8, ptr %94, i64 224
  %96 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %95) #8
  %97 = getelementptr inbounds i8, ptr %96, i64 26144
  %98 = load double, ptr %97, align 8, !tbaa !101
  %99 = fsub double %93, %98
  %100 = fcmp ogt double %99, 0.000000e+00
  br i1 %100, label %123, label %101

101:                                              ; preds = %84
  %102 = load ptr, ptr %0, align 8, !tbaa !100
  %103 = getelementptr inbounds i8, ptr %102, i64 8
  %104 = load ptr, ptr %103, align 8, !tbaa !391
  %105 = getelementptr inbounds i8, ptr %104, i64 896
  %106 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %90) #8
  %107 = load double, ptr %106, align 8, !tbaa !95
  %108 = load ptr, ptr %0, align 8, !tbaa !100
  %109 = getelementptr inbounds i8, ptr %108, i64 224
  %110 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %109) #8
  %111 = getelementptr inbounds i8, ptr %110, i64 26144
  %112 = load double, ptr %111, align 8, !tbaa !101
  %113 = fadd double %107, %112
  %114 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %90) #8
  %115 = load double, ptr %114, align 8, !tbaa !95
  %116 = load ptr, ptr %0, align 8, !tbaa !100
  %117 = getelementptr inbounds i8, ptr %116, i64 224
  %118 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %117) #8
  %119 = getelementptr inbounds i8, ptr %118, i64 26144
  %120 = load double, ptr %119, align 8, !tbaa !101
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %105, i32 noundef 5, ptr noundef nonnull @.str.57, double noundef %89, double noundef %113, double noundef %115, double noundef %120, double noundef %99)
          to label %123 unwind label %121

121:                                              ; preds = %101
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %817

123:                                              ; preds = %101, %84
  %124 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %90) #8
  %125 = load double, ptr %124, align 8, !tbaa !95
  %126 = fsub double %125, %89
  %127 = load ptr, ptr %0, align 8, !tbaa !100
  %128 = getelementptr inbounds i8, ptr %127, i64 224
  %129 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %128) #8
  %130 = getelementptr inbounds i8, ptr %129, i64 26144
  %131 = load double, ptr %130, align 8, !tbaa !101
  %132 = fsub double %126, %131
  %133 = fcmp ogt double %132, 0.000000e+00
  br i1 %133, label %156, label %134

134:                                              ; preds = %123
  %135 = load ptr, ptr %0, align 8, !tbaa !100
  %136 = getelementptr inbounds i8, ptr %135, i64 8
  %137 = load ptr, ptr %136, align 8, !tbaa !391
  %138 = getelementptr inbounds i8, ptr %137, i64 896
  %139 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %90) #8
  %140 = load double, ptr %139, align 8, !tbaa !95
  %141 = load ptr, ptr %0, align 8, !tbaa !100
  %142 = getelementptr inbounds i8, ptr %141, i64 224
  %143 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %142) #8
  %144 = getelementptr inbounds i8, ptr %143, i64 26144
  %145 = load double, ptr %144, align 8, !tbaa !101
  %146 = fsub double %140, %145
  %147 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %90) #8
  %148 = load double, ptr %147, align 8, !tbaa !95
  %149 = load ptr, ptr %0, align 8, !tbaa !100
  %150 = getelementptr inbounds i8, ptr %149, i64 224
  %151 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %150) #8
  %152 = getelementptr inbounds i8, ptr %151, i64 26144
  %153 = load double, ptr %152, align 8, !tbaa !101
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %138, i32 noundef 5, ptr noundef nonnull @.str.58, double noundef %89, double noundef %146, double noundef %148, double noundef %153, double noundef %132)
          to label %156 unwind label %154

154:                                              ; preds = %161, %134
  %155 = landingpad { ptr, i32 }
          cleanup
  br label %817

156:                                              ; preds = %134, %123
  %157 = fcmp ogt double %99, 0xBD719799812DEA11
  %158 = fcmp ogt double %132, 0xBD719799812DEA11
  %159 = and i1 %157, %158
  br i1 %159, label %161, label %160

160:                                              ; preds = %156
  call void @__assert_fail(ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.52, i32 noundef 301, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN11HighsSearch24selectBranchingCandidateElRdS0_) #9
  unreachable

161:                                              ; preds = %156
  %162 = load ptr, ptr %71, align 8, !tbaa !401
  %163 = invoke noundef zeroext i1 @_ZNK15HighsPseudocost10isReliableEi(ptr noundef nonnull align 8 dereferenceable(360) %162, i32 noundef %86)
          to label %164 unwind label %154

164:                                              ; preds = %161
  br i1 %163, label %165, label %173

165:                                              ; preds = %164
  %166 = load ptr, ptr %71, align 8, !tbaa !401
  %167 = call noundef double @_ZNK15HighsPseudocost15getPseudocostUpEid(ptr noundef nonnull align 8 dereferenceable(360) %166, i32 noundef %86, double noundef %89)
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %indvars.iv) #8
  store double %167, ptr %168, align 8, !tbaa !95
  %169 = load ptr, ptr %71, align 8, !tbaa !401
  %170 = call noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360) %169, i32 noundef %86, double noundef %89)
  %171 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #8
  store double %170, ptr %171, align 8, !tbaa !95
  %172 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %indvars.iv) #8
  store i8 1, ptr %172, align 1, !tbaa !96
  br label %.sink.split

173:                                              ; preds = %164
  %174 = invoke noundef i32 @_ZNK11HighsSearch31branchingVarReliableAtNodeFlagsEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %86)
          to label %175 unwind label %182

175:                                              ; preds = %173
  %176 = and i32 %174, 1
  %.not286 = icmp eq i32 %176, 0
  br i1 %.not286, label %184, label %177

177:                                              ; preds = %175
  %178 = load ptr, ptr %71, align 8, !tbaa !401
  %179 = call noundef double @_ZNK15HighsPseudocost15getPseudocostUpEid(ptr noundef nonnull align 8 dereferenceable(360) %178, i32 noundef %86, double noundef %89)
  %180 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %indvars.iv) #8
  store double %179, ptr %180, align 8, !tbaa !95
  %181 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %indvars.iv) #8
  store i8 1, ptr %181, align 1, !tbaa !96
  br label %184

182:                                              ; preds = %173
  %183 = landingpad { ptr, i32 }
          cleanup
  br label %817

184:                                              ; preds = %177, %175
  %185 = and i32 %174, 2
  %.not287 = icmp eq i32 %185, 0
  br i1 %.not287, label %191, label %186

186:                                              ; preds = %184
  %187 = load ptr, ptr %71, align 8, !tbaa !401
  %188 = call noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360) %187, i32 noundef %86, double noundef %89)
  %189 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #8
  store double %188, ptr %189, align 8, !tbaa !95
  br label %.sink.split

.sink.split:                                      ; preds = %165, %186
  %190 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %indvars.iv) #8
  store i8 1, ptr %190, align 1, !tbaa !96
  br label %191

191:                                              ; preds = %.sink.split, %184
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %192 = load i32, ptr %11, align 4, !tbaa !94
  %193 = zext i32 %192 to i64
  %.not = icmp eq i64 %indvars.iv.next, %193
  br i1 %.not, label %._crit_edge, label %84, !llvm.loop !402

194:                                              ; preds = %._crit_edge
  %195 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %196 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_T0_(ptr %195, ptr %196, i32 noundef 0)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #8
  store ptr %0, ptr %17, align 8, !tbaa !404
  %197 = getelementptr inbounds i8, ptr %17, i64 8
  store ptr %47, ptr %197, align 8, !tbaa !406
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #8
  store ptr %0, ptr %18, align 8, !tbaa !407
  %198 = getelementptr inbounds i8, ptr %18, i64 8
  store ptr %47, ptr %198, align 8, !tbaa !406
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #8
  %199 = load ptr, ptr %0, align 8, !tbaa !100
  %200 = getelementptr inbounds i8, ptr %199, i64 224
  %201 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %200) #8
  %202 = getelementptr inbounds i8, ptr %201, i64 26144
  %203 = load double, ptr %202, align 8, !tbaa !101
  store double %203, ptr %19, align 8, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %20) #8
  store ptr %19, ptr %20, align 8, !tbaa !406
  %204 = getelementptr inbounds i8, ptr %20, i64 8
  store ptr %16, ptr %204, align 8, !tbaa !406
  %205 = getelementptr inbounds i8, ptr %20, i64 16
  store ptr %5, ptr %205, align 8, !tbaa !406
  %206 = getelementptr inbounds i8, ptr %20, i64 24
  store ptr %7, ptr %206, align 8, !tbaa !406
  %207 = getelementptr inbounds i8, ptr %20, i64 32
  store ptr %6, ptr %207, align 8, !tbaa !406
  %208 = getelementptr inbounds i8, ptr %20, i64 40
  store ptr %8, ptr %208, align 8, !tbaa !406
  %209 = getelementptr inbounds i8, ptr %20, i64 48
  store ptr %0, ptr %209, align 8, !tbaa !409
  %210 = getelementptr inbounds i8, ptr %20, i64 56
  store ptr %47, ptr %210, align 8, !tbaa !406
  %211 = getelementptr inbounds i8, ptr %20, i64 64
  store ptr %17, ptr %211, align 8, !tbaa !406
  %212 = getelementptr inbounds i8, ptr %20, i64 72
  store ptr %18, ptr %212, align 8, !tbaa !406
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #8
  %213 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation10playgroundEv(ptr dead_on_unwind nonnull writable sret(%"class.HighsLpRelaxation::Playground") align 8 %21, ptr noundef nonnull align 8 dereferenceable(21425) %213)
          to label %.preheader unwind label %255

.preheader:                                       ; preds = %194
  %214 = getelementptr inbounds i8, ptr %23, i64 8
  %215 = getelementptr inbounds i8, ptr %23, i64 16
  %216 = getelementptr inbounds i8, ptr %23, i64 24
  %217 = getelementptr inbounds i8, ptr %23, i64 32
  %218 = getelementptr inbounds i8, ptr %23, i64 40
  %219 = getelementptr inbounds i8, ptr %0, i64 840
  %220 = getelementptr inbounds i8, ptr %24, i64 8
  %221 = getelementptr inbounds i8, ptr %26, i64 8
  %222 = getelementptr inbounds i8, ptr %0, i64 16
  %223 = getelementptr inbounds i8, ptr %32, i64 8
  %224 = getelementptr inbounds i8, ptr %32, i64 12
  %225 = getelementptr inbounds i8, ptr %0, i64 1000
  %226 = getelementptr inbounds i8, ptr %0, i64 864
  %227 = getelementptr inbounds i8, ptr %0, i64 880
  %228 = getelementptr inbounds i8, ptr %0, i64 965
  %229 = getelementptr inbounds i8, ptr %28, i64 8
  %230 = getelementptr inbounds i8, ptr %28, i64 12
  br label %231

231:                                              ; preds = %.preheader, %811
  %232 = call noundef i64 @_ZNK11HighsSearch30getStrongBranchingLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
  %.not256 = icmp slt i64 %232, %1
  br i1 %.not256, label %233, label %238

233:                                              ; preds = %231
  %234 = load ptr, ptr %0, align 8, !tbaa !100
  %235 = getelementptr inbounds i8, ptr %234, i64 224
  %236 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %235) #8
  %237 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %236, i64 noundef 0)
          to label %238 unwind label %257

238:                                              ; preds = %233, %231
  %239 = phi i1 [ true, %231 ], [ %237, %233 ]
  %240 = invoke noundef i32 @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_2clEb"(ptr noundef nonnull align 8 dereferenceable(80) %20, i1 noundef zeroext %239)
          to label %241 unwind label %259

241:                                              ; preds = %238
  %242 = sext i32 %240 to i64
  %243 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %242) #8
  %244 = load i8, ptr %243, align 1, !tbaa !96
  %.not257 = icmp eq i8 %244, 0
  br i1 %.not257, label %248, label %245

245:                                              ; preds = %241
  %246 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %242) #8
  %247 = load i8, ptr %246, align 1, !tbaa !96
  %.not258 = icmp ne i8 %247, 0
  %brmerge = or i1 %239, %.not258
  br i1 %brmerge, label %.thread317, label %261

248:                                              ; preds = %241
  br i1 %239, label %.thread317, label %261

.thread317:                                       ; preds = %248, %245
  %249 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %242) #8
  %250 = load double, ptr %249, align 8, !tbaa !95
  store double %250, ptr %2, align 8, !tbaa !95
  %251 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %242) #8
  %252 = load double, ptr %251, align 8, !tbaa !95
  store double %252, ptr %3, align 8, !tbaa !95
  br label %814

253:                                              ; preds = %._crit_edge
  %254 = landingpad { ptr, i32 }
          cleanup
  br label %816

255:                                              ; preds = %194
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %815

257:                                              ; preds = %233
  %258 = landingpad { ptr, i32 }
          cleanup
  br label %813

259:                                              ; preds = %261, %238
  %260 = landingpad { ptr, i32 }
          cleanup
  br label %813

261:                                              ; preds = %245, %248
  %262 = load ptr, ptr %36, align 8, !tbaa !5
  %263 = load ptr, ptr %0, align 8, !tbaa !100
  %264 = getelementptr inbounds i8, ptr %263, i64 224
  %265 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %264) #8
  %266 = getelementptr inbounds i8, ptr %265, i64 26568
  %267 = load double, ptr %266, align 8, !tbaa !411
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %262, double noundef %267)
          to label %268 unwind label %259

268:                                              ; preds = %261
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #8
  %269 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %242) #8
  %270 = load i32, ptr %269, align 8, !tbaa !97
  store i32 %270, ptr %22, align 4, !tbaa !94
  %271 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNKSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %47, i64 noundef %242) #8
  %272 = getelementptr inbounds i8, ptr %271, i64 8
  %273 = load double, ptr %272, align 8, !tbaa !99
  %274 = call double @llvm.ceil.f64(double %273)
  %275 = call double @llvm.floor.f64(double %273)
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %23) #8
  store ptr %0, ptr %23, align 8, !tbaa !412
  store ptr %11, ptr %214, align 8, !tbaa !406
  store ptr %47, ptr %215, align 8, !tbaa !406
  store ptr %22, ptr %216, align 8, !tbaa !406
  store ptr %6, ptr %217, align 8, !tbaa !406
  store ptr %5, ptr %218, align 8, !tbaa !406
  %276 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %242) #8
  %277 = load i8, ptr %276, align 1, !tbaa !96
  %.not259 = icmp eq i8 %277, 0
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #8
  br i1 %.not259, label %278, label %.critedge

278:                                              ; preds = %268
  %279 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %242) #8
  %280 = load i8, ptr %279, align 1, !tbaa !96
  %.not260 = icmp eq i8 %280, 0
  br i1 %.not260, label %281, label %.critedge8

281:                                              ; preds = %278
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %242) #8
  %283 = load ptr, ptr %219, align 8, !tbaa !401
  %284 = load i32, ptr %22, align 4, !tbaa !94
  %285 = call noundef double @_ZNK15HighsPseudocost20getAvgInferencesDownEi(ptr noundef nonnull align 8 dereferenceable(360) %283, i32 noundef %284)
  store double %285, ptr %25, align 8, !tbaa !95
  %286 = invoke { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8) %282, ptr noundef nonnull align 8 dereferenceable(8) %25)
          to label %287 unwind label %323

287:                                              ; preds = %281
  %288 = extractvalue { double, double } %286, 0
  store double %288, ptr %24, align 8
  %289 = extractvalue { double, double } %286, 1
  store double %289, ptr %220, align 8
  %290 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %242) #8
  %291 = load ptr, ptr %219, align 8, !tbaa !401
  %292 = load i32, ptr %22, align 4, !tbaa !94
  %293 = call noundef double @_ZNK15HighsPseudocost18getAvgInferencesUpEi(ptr noundef nonnull align 8 dereferenceable(360) %291, i32 noundef %292)
  store double %293, ptr %27, align 8, !tbaa !95
  %294 = invoke { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8) %290, ptr noundef nonnull align 8 dereferenceable(8) %27)
          to label %295 unwind label %325

295:                                              ; preds = %287
  %296 = extractvalue { double, double } %294, 0
  store double %296, ptr %26, align 8
  %297 = extractvalue { double, double } %294, 1
  store double %297, ptr %221, align 8
  %298 = invoke noundef zeroext i1 @_ZStgeIddEbRKSt4pairIT_T0_ES5_(ptr noundef nonnull align 8 dereferenceable(16) %24, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %299 unwind label %325

299:                                              ; preds = %295
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br i1 %298, label %300, label %559

.critedge8:                                       ; preds = %278
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %300

300:                                              ; preds = %.critedge8, %299
  %301 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %302 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %301) #8
  %303 = xor i64 %302, -1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #8
  store double %275, ptr %28, align 8, !tbaa !414
  %304 = load i32, ptr %22, align 4, !tbaa !94
  store i32 %304, ptr %229, align 8, !tbaa !417
  store i32 1, ptr %230, align 4, !tbaa !418
  %305 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %306 = getelementptr inbounds i8, ptr %305, i64 56
  %307 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %306) #8
  br i1 %307, label %308, label %310

308:                                              ; preds = %300
  %309 = invoke noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064) %0, ptr noundef nonnull align 8 dereferenceable(16) %28)
          to label %310 unwind label %.loopexit337

310:                                              ; preds = %308, %300
  %311 = phi i1 [ false, %300 ], [ %309, %308 ]
  %.sroa.081.0.copyload = load double, ptr %28, align 8, !tbaa !95
  %.sroa.282.0.copyload = load i64, ptr %229, align 8
  %312 = call i64 @_ZN11HighsDomain6Reason9branchingEv()
  invoke void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824) %222, double %.sroa.081.0.copyload, i64 %.sroa.282.0.copyload, i64 %312)
          to label %313 unwind label %.loopexit337

313:                                              ; preds = %310
  %314 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %315 unwind label %.loopexit337

315:                                              ; preds = %313
  %316 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %316, label %334, label %317

317:                                              ; preds = %315
  br i1 %311, label %318, label %328

318:                                              ; preds = %317
  %319 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %320 = getelementptr inbounds i8, ptr %319, i64 56
  %321 = call noundef ptr @_ZNKSt19__shared_ptr_accessIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %320) #8
  %322 = invoke noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80) %321, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %334 unwind label %.loopexit337

323:                                              ; preds = %281
  %324 = landingpad { ptr, i32 }
          cleanup
  br label %327

325:                                              ; preds = %295, %287
  %326 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  br label %327

327:                                              ; preds = %325, %323
  %.pn = phi { ptr, i32 } [ %326, %325 ], [ %324, %323 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %812

.loopexit337:                                     ; preds = %308, %310, %313, %318, %328
  %lpad.loopexit339 = landingpad { ptr, i32 }
          cleanup
  br label %558

.loopexit.split-lp338:                            ; preds = %338, %343, %347
  %lpad.loopexit.split-lp340 = landingpad { ptr, i32 }
          cleanup
  br label %558

328:                                              ; preds = %317
  %329 = load ptr, ptr %0, align 8, !tbaa !100
  %330 = getelementptr inbounds i8, ptr %329, i64 224
  %331 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %330) #8
  %332 = getelementptr inbounds i8, ptr %331, i64 25912
  %333 = invoke noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216) %332, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %334 unwind label %.loopexit337

334:                                              ; preds = %318, %328, %315
  %335 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %336 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %335) #8
  %337 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %337, label %338, label %361

338:                                              ; preds = %334
  %339 = load ptr, ptr %0, align 8, !tbaa !100
  %340 = getelementptr inbounds i8, ptr %339, i64 224
  %341 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %340) #8
  %342 = getelementptr inbounds i8, ptr %341, i64 688
  invoke void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824) %222, ptr noundef nonnull align 8 dereferenceable(224) %342)
          to label %343 unwind label %.loopexit.split-lp338

343:                                              ; preds = %338
  %344 = load ptr, ptr %219, align 8, !tbaa !401
  %345 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %344, i32 noundef %345, i1 noundef zeroext false)
  %346 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %347 unwind label %.loopexit.split-lp338

347:                                              ; preds = %343
  call void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %348 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %348, double noundef %274, double noundef %273)
          to label %349 unwind label %.loopexit.split-lp338

349:                                              ; preds = %347
  %350 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %351 = add i64 %350, -2
  %352 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %351) #8
  %353 = getelementptr inbounds i8, ptr %352, i64 93
  store i8 0, ptr %353, align 1, !tbaa !419
  %354 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %355 = add i64 %354, -2
  %356 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %355) #8
  %357 = getelementptr inbounds i8, ptr %356, i64 92
  store i8 1, ptr %357, align 4, !tbaa !421
  %358 = getelementptr inbounds i8, ptr %0, i64 960
  %359 = load i32, ptr %358, align 8, !tbaa !422
  %360 = add nsw i32 %359, -1
  store i32 %360, ptr %358, align 8, !tbaa !422
  br label %.thread298

361:                                              ; preds = %334
  %362 = add i64 %336, %303
  %363 = load ptr, ptr %219, align 8, !tbaa !401
  %364 = load i32, ptr %22, align 4, !tbaa !94
  %365 = trunc i64 %362 to i32
  call void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360) %363, i32 noundef %364, i32 noundef %365, i1 noundef zeroext false)
  %366 = load ptr, ptr %36, align 8, !tbaa !5
  %367 = call noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %366)
  %368 = invoke noundef i32 @_ZN17HighsLpRelaxation10Playground7solveLpER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(9) %21, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %369 unwind label %.loopexit342

369:                                              ; preds = %361
  %370 = load ptr, ptr %36, align 8, !tbaa !5
  %371 = call noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %370)
  %372 = sub nsw i64 %371, %367
  %373 = load i64, ptr %226, align 8, !tbaa !423
  %374 = add nsw i64 %373, %372
  store i64 %374, ptr %226, align 8, !tbaa !423
  %375 = load i64, ptr %227, align 8, !tbaa !424
  %376 = add nsw i64 %375, %372
  store i64 %376, ptr %227, align 8, !tbaa !424
  %377 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %368)
  br i1 %377, label %378, label %518

378:                                              ; preds = %369
  %379 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425) %379, i1 noundef zeroext false)
          to label %380 unwind label %.loopexit342

380:                                              ; preds = %378
  %381 = fsub double %275, %273
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %29) #8
  %382 = load ptr, ptr %36, align 8, !tbaa !5
  %383 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %382)
          to label %384 unwind label %402

384:                                              ; preds = %380
  %385 = getelementptr inbounds i8, ptr %383, i64 8
  %386 = invoke noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064) %0, ptr noundef nonnull align 8 dereferenceable(24) %385, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %387 unwind label %404

387:                                              ; preds = %384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #8
  %388 = load ptr, ptr %36, align 8, !tbaa !5
  %389 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %388)
  %390 = fsub double %386, %389
  store double %390, ptr %30, align 8, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #8
  store double 0.000000e+00, ptr %31, align 8, !tbaa !95
  %391 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31)
  %392 = load double, ptr %391, align 8, !tbaa !95
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #8
  %393 = load ptr, ptr %0, align 8, !tbaa !100
  %394 = getelementptr inbounds i8, ptr %393, i64 224
  %395 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %394) #8
  %396 = getelementptr inbounds i8, ptr %395, i64 26152
  %397 = load double, ptr %396, align 8, !tbaa !425
  %398 = fcmp ugt double %392, %397
  %.0248 = select i1 %398, double %392, double 0.000000e+00
  %399 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %242) #8
  store double %.0248, ptr %399, align 8, !tbaa !95
  %400 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %242) #8
  store i8 1, ptr %400, align 1, !tbaa !96
  %401 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %401)
          to label %406 unwind label %.loopexit347

.loopexit342:                                     ; preds = %361, %378, %545, %551, %553, %555
  %lpad.loopexit344 = landingpad { ptr, i32 }
          cleanup
  br label %558

.loopexit.split-lp343:                            ; preds = %520, %525, %529, %531
  %lpad.loopexit.split-lp345 = landingpad { ptr, i32 }
          cleanup
  br label %558

402:                                              ; preds = %380
  %403 = landingpad { ptr, i32 }
          cleanup
  br label %517

404:                                              ; preds = %384
  %405 = landingpad { ptr, i32 }
          cleanup
  br label %517

406:                                              ; preds = %387
  %407 = load ptr, ptr %219, align 8, !tbaa !401
  %408 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost14addObservationEidd(ptr noundef nonnull align 8 dereferenceable(360) %407, i32 noundef %408, double noundef %381, double noundef %.0248)
  invoke void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48) %23, double noundef %.0248, ptr noundef nonnull align 8 dereferenceable(24) %385)
          to label %409 unwind label %.loopexit347

409:                                              ; preds = %406
  %410 = call noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef %368)
  br i1 %410, label %411, label %444

411:                                              ; preds = %409
  %412 = load i8, ptr %29, align 1, !tbaa !426, !range !427, !noundef !428
  %413 = trunc nuw i8 %412 to i1
  br i1 %413, label %414, label %444

414:                                              ; preds = %411
  %415 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %416 unwind label %442

416:                                              ; preds = %414
  %417 = load ptr, ptr %0, align 8, !tbaa !100
  %418 = getelementptr inbounds i8, ptr %417, i64 224
  %419 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %418) #8
  %420 = load ptr, ptr %36, align 8, !tbaa !5
  %421 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %420)
  %422 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %421)
  %423 = getelementptr inbounds i8, ptr %422, i64 8
  %424 = load i8, ptr %228, align 1, !tbaa !429, !range !427, !noundef !428
  %425 = trunc nuw i8 %424 to i1
  %426 = select i1 %425, i32 3, i32 0
  %427 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801) %419, ptr noundef nonnull align 8 dereferenceable(24) %423, double noundef %386, i32 noundef %426, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %428 unwind label %442

428:                                              ; preds = %416
  %429 = load ptr, ptr %0, align 8, !tbaa !100
  %430 = getelementptr inbounds i8, ptr %429, i64 224
  %431 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %430) #8
  %432 = getelementptr inbounds i8, ptr %431, i64 26568
  %433 = load double, ptr %432, align 8, !tbaa !411
  %434 = fcmp olt double %433, %415
  br i1 %434, label %435, label %444

435:                                              ; preds = %428
  %436 = load ptr, ptr %36, align 8, !tbaa !5
  %437 = load ptr, ptr %0, align 8, !tbaa !100
  %438 = getelementptr inbounds i8, ptr %437, i64 224
  %439 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %438) #8
  %440 = getelementptr inbounds i8, ptr %439, i64 26568
  %441 = load double, ptr %440, align 8, !tbaa !411
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %436, double noundef %441)
          to label %444 unwind label %442

.loopexit347:                                     ; preds = %387, %406, %488, %492, %493
  %lpad.loopexit349 = landingpad { ptr, i32 }
          cleanup
  br label %517

.loopexit.split-lp348:                            ; preds = %454
  %lpad.loopexit.split-lp350 = landingpad { ptr, i32 }
          cleanup
  br label %517

442:                                              ; preds = %435, %416, %414
  %443 = landingpad { ptr, i32 }
          cleanup
  br label %517

444:                                              ; preds = %428, %435, %411, %409
  %445 = call noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef %368)
  br i1 %445, label %446, label %488

446:                                              ; preds = %444
  %447 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %242) #8
  store double %386, ptr %447, align 8, !tbaa !95
  %448 = load ptr, ptr %0, align 8, !tbaa !100
  %449 = getelementptr inbounds i8, ptr %448, i64 224
  %450 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %449) #8
  %451 = getelementptr inbounds i8, ptr %450, i64 26576
  %452 = load double, ptr %451, align 8, !tbaa !430
  %453 = fcmp ogt double %386, %452
  br i1 %453, label %454, label %.thread

454:                                              ; preds = %446
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %455 unwind label %.loopexit.split-lp348

455:                                              ; preds = %454
  %456 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %457 unwind label %464

457:                                              ; preds = %455
  %458 = fcmp ule double %386, %456
  br i1 %458, label %466, label %459

459:                                              ; preds = %457
  %460 = load ptr, ptr %0, align 8, !tbaa !100
  %461 = getelementptr inbounds i8, ptr %460, i64 224
  %462 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %461) #8
  %463 = getelementptr inbounds i8, ptr %462, i64 26800
  call void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %463, ptr noundef nonnull align 8 dereferenceable(824) %222)
  br label %466

464:                                              ; preds = %470, %468, %466, %455
  %465 = landingpad { ptr, i32 }
          cleanup
  br label %517

466:                                              ; preds = %459, %457
  %467 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %468 unwind label %464

468:                                              ; preds = %466
  %469 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %469, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %470 unwind label %464

470:                                              ; preds = %468
  %471 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %471, double noundef %274, double noundef %273)
          to label %.thread291 unwind label %464

.thread291:                                       ; preds = %470
  %472 = zext i1 %458 to i8
  %473 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %474 = add i64 %473, -2
  %475 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %474) #8
  %476 = getelementptr inbounds i8, ptr %475, i64 93
  store i8 %472, ptr %476, align 1, !tbaa !419
  %477 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %478 = add i64 %477, -2
  %479 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %478) #8
  %480 = getelementptr inbounds i8, ptr %479, i64 32
  store double %386, ptr %480, align 8, !tbaa !431
  %481 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %482 = add i64 %481, -2
  %483 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %482) #8
  %484 = getelementptr inbounds i8, ptr %483, i64 92
  store i8 1, ptr %484, align 4, !tbaa !421
  %485 = getelementptr inbounds i8, ptr %0, i64 960
  %486 = load i32, ptr %485, align 8, !tbaa !422
  %487 = add nsw i32 %486, -1
  store i32 %487, ptr %485, align 8, !tbaa !422
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %.thread298

488:                                              ; preds = %444
  %489 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %490 unwind label %.loopexit347

490:                                              ; preds = %488
  %491 = fcmp ogt double %386, %489
  br i1 %491, label %492, label %.thread

492:                                              ; preds = %490
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %493 unwind label %.loopexit347

493:                                              ; preds = %492
  %494 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %495 unwind label %.loopexit347

495:                                              ; preds = %493
  %496 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %496, label %497, label %.thread294

.thread294:                                       ; preds = %495
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %553

497:                                              ; preds = %495
  %498 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %499 unwind label %503

499:                                              ; preds = %497
  %500 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %500, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %501 unwind label %503

501:                                              ; preds = %499
  %502 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %502, double noundef %274, double noundef %273)
          to label %505 unwind label %503

503:                                              ; preds = %501, %499, %497
  %504 = landingpad { ptr, i32 }
          cleanup
  br label %517

.thread:                                          ; preds = %490, %446
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %553

505:                                              ; preds = %501
  %506 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %507 = add i64 %506, -2
  %508 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %507) #8
  %509 = getelementptr inbounds i8, ptr %508, i64 93
  store i8 0, ptr %509, align 1, !tbaa !419
  %510 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %511 = add i64 %510, -2
  %512 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %511) #8
  %513 = getelementptr inbounds i8, ptr %512, i64 92
  store i8 1, ptr %513, align 4, !tbaa !421
  %514 = getelementptr inbounds i8, ptr %0, i64 960
  %515 = load i32, ptr %514, align 8, !tbaa !422
  %516 = add nsw i32 %515, -1
  store i32 %516, ptr %514, align 8, !tbaa !422
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %.thread298

517:                                              ; preds = %.loopexit347, %.loopexit.split-lp348, %404, %503, %464, %442, %402
  %.pn262.pn.pn = phi { ptr, i32 } [ %403, %402 ], [ %405, %404 ], [ %465, %464 ], [ %504, %503 ], [ %443, %442 ], [ %lpad.loopexit349, %.loopexit347 ], [ %lpad.loopexit.split-lp350, %.loopexit.split-lp348 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %29) #8
  br label %558

518:                                              ; preds = %369
  %519 = icmp eq i32 %368, 2
  br i1 %519, label %520, label %545

520:                                              ; preds = %518
  %521 = load ptr, ptr %0, align 8, !tbaa !100
  %522 = getelementptr inbounds i8, ptr %521, i64 224
  %523 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %522) #8
  %524 = getelementptr inbounds i8, ptr %523, i64 26800
  call void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %524, ptr noundef nonnull align 8 dereferenceable(824) %222)
  invoke void @_ZN11HighsSearch21addInfeasibleConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %525 unwind label %.loopexit.split-lp343

525:                                              ; preds = %520
  %526 = load ptr, ptr %219, align 8, !tbaa !401
  %527 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %526, i32 noundef %527, i1 noundef zeroext false)
  %528 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %529 unwind label %.loopexit.split-lp343

529:                                              ; preds = %525
  %530 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %530, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %531 unwind label %.loopexit.split-lp343

531:                                              ; preds = %529
  %532 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch13branchUpwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %532, double noundef %274, double noundef %273)
          to label %533 unwind label %.loopexit.split-lp343

533:                                              ; preds = %531
  %534 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %535 = add i64 %534, -2
  %536 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %535) #8
  %537 = getelementptr inbounds i8, ptr %536, i64 93
  store i8 0, ptr %537, align 1, !tbaa !419
  %538 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %539 = add i64 %538, -2
  %540 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %539) #8
  %541 = getelementptr inbounds i8, ptr %540, i64 92
  store i8 1, ptr %541, align 4, !tbaa !421
  %542 = getelementptr inbounds i8, ptr %0, i64 960
  %543 = load i32, ptr %542, align 8, !tbaa !422
  %544 = add nsw i32 %543, -1
  store i32 %544, ptr %542, align 8, !tbaa !422
  br label %.thread298

545:                                              ; preds = %518
  %546 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %242) #8
  store double 0.000000e+00, ptr %546, align 8, !tbaa !95
  %547 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %242) #8
  store double 0.000000e+00, ptr %547, align 8, !tbaa !95
  %548 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %242) #8
  store i8 1, ptr %548, align 1, !tbaa !96
  %549 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %242) #8
  store i8 1, ptr %549, align 1, !tbaa !96
  %550 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %550)
          to label %551 unwind label %.loopexit342

551:                                              ; preds = %545
  %552 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %552)
          to label %553 unwind label %.loopexit342

553:                                              ; preds = %.thread294, %.thread, %551
  %554 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %555 unwind label %.loopexit342

555:                                              ; preds = %553
  %556 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %556, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %557 unwind label %.loopexit342

.thread298:                                       ; preds = %349, %505, %533, %.thread291
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #8
  br label %.thread323

557:                                              ; preds = %555
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #8
  br label %811

558:                                              ; preds = %.loopexit342, %.loopexit.split-lp343, %.loopexit337, %.loopexit.split-lp338, %517
  %.pn268 = phi { ptr, i32 } [ %.pn262.pn.pn, %517 ], [ %lpad.loopexit339, %.loopexit337 ], [ %lpad.loopexit.split-lp340, %.loopexit.split-lp338 ], [ %lpad.loopexit344, %.loopexit342 ], [ %lpad.loopexit.split-lp345, %.loopexit.split-lp343 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #8
  br label %812

.critedge:                                        ; preds = %268
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #8
  br label %559

559:                                              ; preds = %.critedge, %299
  %560 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %561 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %560) #8
  %562 = xor i64 %561, -1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #8
  store double %274, ptr %32, align 8, !tbaa !414
  %563 = load i32, ptr %22, align 4, !tbaa !94
  store i32 %563, ptr %223, align 8, !tbaa !417
  store i32 0, ptr %224, align 4, !tbaa !418
  %564 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %565 = getelementptr inbounds i8, ptr %564, i64 56
  %566 = call noundef zeroext i1 @_ZNKSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EEcvbEv(ptr noundef nonnull align 8 dereferenceable(16) %565) #8
  br i1 %566, label %567, label %569

567:                                              ; preds = %559
  %568 = invoke noundef zeroext i1 @_ZNK11HighsSearch22orbitsValidInChildNodeERK17HighsDomainChange(ptr noundef nonnull align 8 dereferenceable(1064) %0, ptr noundef nonnull align 8 dereferenceable(16) %32)
          to label %569 unwind label %.loopexit

569:                                              ; preds = %567, %559
  %570 = phi i1 [ false, %559 ], [ %568, %567 ]
  %.sroa.041.0.copyload = load double, ptr %32, align 8, !tbaa !95
  %.sroa.2.0.copyload = load i64, ptr %223, align 8
  %571 = call i64 @_ZN11HighsDomain6Reason9branchingEv()
  invoke void @_ZN11HighsDomain11changeBoundE17HighsDomainChangeNS_6ReasonE(ptr noundef nonnull align 8 dereferenceable(824) %222, double %.sroa.041.0.copyload, i64 %.sroa.2.0.copyload, i64 %571)
          to label %572 unwind label %.loopexit

572:                                              ; preds = %569
  %573 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %574 unwind label %.loopexit

574:                                              ; preds = %572
  %575 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %575, label %588, label %576

576:                                              ; preds = %574
  br i1 %570, label %577, label %582

577:                                              ; preds = %576
  %578 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %579 = getelementptr inbounds i8, ptr %578, i64 56
  %580 = call noundef ptr @_ZNKSt19__shared_ptr_accessIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2ELb0ELb0EEptEv(ptr noundef nonnull align 1 dereferenceable(1) %579) #8
  %581 = invoke noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80) %580, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %588 unwind label %.loopexit

.loopexit:                                        ; preds = %567, %569, %572, %577, %582
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %810

.loopexit.split-lp:                               ; preds = %592, %597, %601
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %810

582:                                              ; preds = %576
  %583 = load ptr, ptr %0, align 8, !tbaa !100
  %584 = getelementptr inbounds i8, ptr %583, i64 224
  %585 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %584) #8
  %586 = getelementptr inbounds i8, ptr %585, i64 25912
  %587 = invoke noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216) %586, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %588 unwind label %.loopexit

588:                                              ; preds = %577, %582, %574
  %589 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain20getDomainChangeStackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %590 = call noundef i64 @_ZNKSt6vectorI17HighsDomainChangeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %589) #8
  %591 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %591, label %592, label %615

592:                                              ; preds = %588
  %593 = load ptr, ptr %0, align 8, !tbaa !100
  %594 = getelementptr inbounds i8, ptr %593, i64 224
  %595 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %594) #8
  %596 = getelementptr inbounds i8, ptr %595, i64 688
  invoke void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824) %222, ptr noundef nonnull align 8 dereferenceable(224) %596)
          to label %597 unwind label %.loopexit.split-lp

597:                                              ; preds = %592
  %598 = load ptr, ptr %219, align 8, !tbaa !401
  %599 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %598, i32 noundef %599, i1 noundef zeroext true)
  %600 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %601 unwind label %.loopexit.split-lp

601:                                              ; preds = %597
  call void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  %602 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %602, double noundef %275, double noundef %273)
          to label %603 unwind label %.loopexit.split-lp

603:                                              ; preds = %601
  %604 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %605 = add i64 %604, -2
  %606 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %605) #8
  %607 = getelementptr inbounds i8, ptr %606, i64 93
  store i8 0, ptr %607, align 1, !tbaa !419
  %608 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %609 = add i64 %608, -2
  %610 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %609) #8
  %611 = getelementptr inbounds i8, ptr %610, i64 92
  store i8 1, ptr %611, align 4, !tbaa !421
  %612 = getelementptr inbounds i8, ptr %0, i64 960
  %613 = load i32, ptr %612, align 8, !tbaa !422
  %614 = add nsw i32 %613, -1
  store i32 %614, ptr %612, align 8, !tbaa !422
  br label %.thread313

615:                                              ; preds = %588
  %616 = add i64 %590, %562
  %617 = load ptr, ptr %219, align 8, !tbaa !401
  %618 = load i32, ptr %22, align 4, !tbaa !94
  %619 = trunc i64 %616 to i32
  call void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360) %617, i32 noundef %618, i32 noundef %619, i1 noundef zeroext true)
  %620 = load ptr, ptr %36, align 8, !tbaa !5
  %621 = call noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %620)
  %622 = invoke noundef i32 @_ZN17HighsLpRelaxation10Playground7solveLpER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(9) %21, ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %623 unwind label %.loopexit327

623:                                              ; preds = %615
  %624 = load ptr, ptr %36, align 8, !tbaa !5
  %625 = call noundef i64 @_ZNK17HighsLpRelaxation18getNumLpIterationsEv(ptr noundef nonnull align 8 dereferenceable(21425) %624)
  %626 = sub nsw i64 %625, %621
  %627 = load i64, ptr %226, align 8, !tbaa !423
  %628 = add nsw i64 %627, %626
  store i64 %628, ptr %226, align 8, !tbaa !423
  %629 = load i64, ptr %227, align 8, !tbaa !424
  %630 = add nsw i64 %629, %626
  store i64 %630, ptr %227, align 8, !tbaa !424
  %631 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %622)
  br i1 %631, label %632, label %770

632:                                              ; preds = %623
  %633 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation12performAgingEb(ptr noundef nonnull align 8 dereferenceable(21425) %633, i1 noundef zeroext false)
          to label %634 unwind label %.loopexit327

634:                                              ; preds = %632
  %635 = fsub double %274, %273
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #8
  %636 = load ptr, ptr %36, align 8, !tbaa !5
  %637 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %636)
  %638 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %637)
  %639 = getelementptr inbounds i8, ptr %638, i64 8
  %640 = invoke noundef double @_ZNK11HighsSearch8checkSolERKSt6vectorIdSaIdEERb(ptr noundef nonnull align 8 dereferenceable(1064) %0, ptr noundef nonnull align 8 dereferenceable(24) %639, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %641 unwind label %656

641:                                              ; preds = %634
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #8
  %642 = load ptr, ptr %36, align 8, !tbaa !5
  %643 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %642)
  %644 = fsub double %640, %643
  store double %644, ptr %34, align 8, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #8
  store double 0.000000e+00, ptr %35, align 8, !tbaa !95
  %645 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35)
  %646 = load double, ptr %645, align 8, !tbaa !95
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #8
  %647 = load ptr, ptr %0, align 8, !tbaa !100
  %648 = getelementptr inbounds i8, ptr %647, i64 224
  %649 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %648) #8
  %650 = getelementptr inbounds i8, ptr %649, i64 26152
  %651 = load double, ptr %650, align 8, !tbaa !425
  %652 = fcmp ugt double %646, %651
  %.0249 = select i1 %652, double %646, double 0.000000e+00
  %653 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %242) #8
  store double %.0249, ptr %653, align 8, !tbaa !95
  %654 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %242) #8
  store i8 1, ptr %654, align 1, !tbaa !96
  %655 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %655)
          to label %658 unwind label %.loopexit332

.loopexit327:                                     ; preds = %615, %632, %797, %803, %805, %807
  %lpad.loopexit329 = landingpad { ptr, i32 }
          cleanup
  br label %810

.loopexit.split-lp328:                            ; preds = %772, %777, %781, %783
  %lpad.loopexit.split-lp330 = landingpad { ptr, i32 }
          cleanup
  br label %810

656:                                              ; preds = %634
  %657 = landingpad { ptr, i32 }
          cleanup
  br label %769

658:                                              ; preds = %641
  %659 = load ptr, ptr %219, align 8, !tbaa !401
  %660 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost14addObservationEidd(ptr noundef nonnull align 8 dereferenceable(360) %659, i32 noundef %660, double noundef %635, double noundef %.0249)
  invoke void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48) %23, double noundef %.0249, ptr noundef nonnull align 8 dereferenceable(24) %639)
          to label %661 unwind label %.loopexit332

661:                                              ; preds = %658
  %662 = call noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef %622)
  br i1 %662, label %663, label %696

663:                                              ; preds = %661
  %664 = load i8, ptr %33, align 1, !tbaa !426, !range !427, !noundef !428
  %665 = trunc nuw i8 %664 to i1
  br i1 %665, label %666, label %696

666:                                              ; preds = %663
  %667 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %668 unwind label %694

668:                                              ; preds = %666
  %669 = load ptr, ptr %0, align 8, !tbaa !100
  %670 = getelementptr inbounds i8, ptr %669, i64 224
  %671 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %670) #8
  %672 = load ptr, ptr %36, align 8, !tbaa !5
  %673 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %672)
  %674 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %673)
  %675 = getelementptr inbounds i8, ptr %674, i64 8
  %676 = load i8, ptr %228, align 1, !tbaa !429, !range !427, !noundef !428
  %677 = trunc nuw i8 %676 to i1
  %678 = select i1 %677, i32 3, i32 0
  %679 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801) %671, ptr noundef nonnull align 8 dereferenceable(24) %675, double noundef %640, i32 noundef %678, i1 noundef zeroext true, i1 noundef zeroext false)
          to label %680 unwind label %694

680:                                              ; preds = %668
  %681 = load ptr, ptr %0, align 8, !tbaa !100
  %682 = getelementptr inbounds i8, ptr %681, i64 224
  %683 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %682) #8
  %684 = getelementptr inbounds i8, ptr %683, i64 26568
  %685 = load double, ptr %684, align 8, !tbaa !411
  %686 = fcmp olt double %685, %667
  br i1 %686, label %687, label %696

687:                                              ; preds = %680
  %688 = load ptr, ptr %36, align 8, !tbaa !5
  %689 = load ptr, ptr %0, align 8, !tbaa !100
  %690 = getelementptr inbounds i8, ptr %689, i64 224
  %691 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %690) #8
  %692 = getelementptr inbounds i8, ptr %691, i64 26568
  %693 = load double, ptr %692, align 8, !tbaa !411
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %688, double noundef %693)
          to label %696 unwind label %694

.loopexit332:                                     ; preds = %641, %658, %740, %744, %745
  %lpad.loopexit334 = landingpad { ptr, i32 }
          cleanup
  br label %769

.loopexit.split-lp333:                            ; preds = %706
  %lpad.loopexit.split-lp335 = landingpad { ptr, i32 }
          cleanup
  br label %769

694:                                              ; preds = %687, %668, %666
  %695 = landingpad { ptr, i32 }
          cleanup
  br label %769

696:                                              ; preds = %680, %687, %663, %661
  %697 = call noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef %622)
  br i1 %697, label %698, label %740

698:                                              ; preds = %696
  %699 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %9, i64 noundef %242) #8
  store double %640, ptr %699, align 8, !tbaa !95
  %700 = load ptr, ptr %0, align 8, !tbaa !100
  %701 = getelementptr inbounds i8, ptr %700, i64 224
  %702 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %701) #8
  %703 = getelementptr inbounds i8, ptr %702, i64 26576
  %704 = load double, ptr %703, align 8, !tbaa !430
  %705 = fcmp ogt double %640, %704
  br i1 %705, label %706, label %.thread303

706:                                              ; preds = %698
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %707 unwind label %.loopexit.split-lp333

707:                                              ; preds = %706
  %708 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %709 unwind label %716

709:                                              ; preds = %707
  %710 = fcmp ule double %640, %708
  br i1 %710, label %718, label %711

711:                                              ; preds = %709
  %712 = load ptr, ptr %0, align 8, !tbaa !100
  %713 = getelementptr inbounds i8, ptr %712, i64 224
  %714 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %713) #8
  %715 = getelementptr inbounds i8, ptr %714, i64 26800
  call void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %715, ptr noundef nonnull align 8 dereferenceable(824) %222)
  br label %718

716:                                              ; preds = %722, %720, %718, %707
  %717 = landingpad { ptr, i32 }
          cleanup
  br label %769

718:                                              ; preds = %711, %709
  %719 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %720 unwind label %716

720:                                              ; preds = %718
  %721 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %721, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %722 unwind label %716

722:                                              ; preds = %720
  %723 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %723, double noundef %275, double noundef %273)
          to label %.thread306 unwind label %716

.thread306:                                       ; preds = %722
  %724 = zext i1 %710 to i8
  %725 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %726 = add i64 %725, -2
  %727 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %726) #8
  %728 = getelementptr inbounds i8, ptr %727, i64 93
  store i8 %724, ptr %728, align 1, !tbaa !419
  %729 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %730 = add i64 %729, -2
  %731 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %730) #8
  %732 = getelementptr inbounds i8, ptr %731, i64 32
  store double %640, ptr %732, align 8, !tbaa !431
  %733 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %734 = add i64 %733, -2
  %735 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %734) #8
  %736 = getelementptr inbounds i8, ptr %735, i64 92
  store i8 1, ptr %736, align 4, !tbaa !421
  %737 = getelementptr inbounds i8, ptr %0, i64 960
  %738 = load i32, ptr %737, align 8, !tbaa !422
  %739 = add nsw i32 %738, -1
  store i32 %739, ptr %737, align 8, !tbaa !422
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %.thread313

740:                                              ; preds = %696
  %741 = invoke noundef double @_ZNK11HighsSearch14getCutoffBoundEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %742 unwind label %.loopexit332

742:                                              ; preds = %740
  %743 = fcmp ogt double %640, %741
  br i1 %743, label %744, label %.thread303

744:                                              ; preds = %742
  invoke void @_ZN11HighsSearch25addBoundExceedingConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %745 unwind label %.loopexit332

745:                                              ; preds = %744
  %746 = invoke noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %747 unwind label %.loopexit332

747:                                              ; preds = %745
  %748 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
  br i1 %748, label %749, label %.thread309

.thread309:                                       ; preds = %747
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %805

749:                                              ; preds = %747
  %750 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %751 unwind label %755

751:                                              ; preds = %749
  %752 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %752, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %753 unwind label %755

753:                                              ; preds = %751
  %754 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %754, double noundef %275, double noundef %273)
          to label %757 unwind label %755

755:                                              ; preds = %753, %751, %749
  %756 = landingpad { ptr, i32 }
          cleanup
  br label %769

.thread303:                                       ; preds = %742, %698
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %805

757:                                              ; preds = %753
  %758 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %759 = add i64 %758, -2
  %760 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %759) #8
  %761 = getelementptr inbounds i8, ptr %760, i64 93
  store i8 0, ptr %761, align 1, !tbaa !419
  %762 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %763 = add i64 %762, -2
  %764 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %763) #8
  %765 = getelementptr inbounds i8, ptr %764, i64 92
  store i8 1, ptr %765, align 4, !tbaa !421
  %766 = getelementptr inbounds i8, ptr %0, i64 960
  %767 = load i32, ptr %766, align 8, !tbaa !422
  %768 = add nsw i32 %767, -1
  store i32 %768, ptr %766, align 8, !tbaa !422
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %.thread313

769:                                              ; preds = %.loopexit332, %.loopexit.split-lp333, %694, %716, %755, %656
  %.pn270.pn = phi { ptr, i32 } [ %657, %656 ], [ %717, %716 ], [ %756, %755 ], [ %695, %694 ], [ %lpad.loopexit334, %.loopexit332 ], [ %lpad.loopexit.split-lp335, %.loopexit.split-lp333 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %810

770:                                              ; preds = %623
  %771 = icmp eq i32 %622, 2
  br i1 %771, label %772, label %797

772:                                              ; preds = %770
  %773 = load ptr, ptr %0, align 8, !tbaa !100
  %774 = getelementptr inbounds i8, ptr %773, i64 224
  %775 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %774) #8
  %776 = getelementptr inbounds i8, ptr %775, i64 26800
  call void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1) %776, ptr noundef nonnull align 8 dereferenceable(824) %222)
  invoke void @_ZN11HighsSearch21addInfeasibleConflictEv(ptr noundef nonnull align 8 dereferenceable(1064) %0)
          to label %777 unwind label %.loopexit.split-lp328

777:                                              ; preds = %772
  %778 = load ptr, ptr %219, align 8, !tbaa !401
  %779 = load i32, ptr %22, align 4, !tbaa !94
  call void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360) %778, i32 noundef %779, i1 noundef zeroext true)
  %780 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %781 unwind label %.loopexit.split-lp328

781:                                              ; preds = %777
  %782 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %782, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %783 unwind label %.loopexit.split-lp328

783:                                              ; preds = %781
  %784 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch15branchDownwardsEidd(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %784, double noundef %275, double noundef %273)
          to label %785 unwind label %.loopexit.split-lp328

785:                                              ; preds = %783
  %786 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %787 = add i64 %786, -2
  %788 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %787) #8
  %789 = getelementptr inbounds i8, ptr %788, i64 93
  store i8 0, ptr %789, align 1, !tbaa !419
  %790 = call noundef i64 @_ZNKSt6vectorIN11HighsSearch8NodeDataESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %225) #8
  %791 = add i64 %790, -2
  %792 = call noundef nonnull align 8 dereferenceable(94) ptr @_ZNSt6vectorIN11HighsSearch8NodeDataESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %225, i64 noundef %791) #8
  %793 = getelementptr inbounds i8, ptr %792, i64 92
  store i8 1, ptr %793, align 4, !tbaa !421
  %794 = getelementptr inbounds i8, ptr %0, i64 960
  %795 = load i32, ptr %794, align 8, !tbaa !422
  %796 = add nsw i32 %795, -1
  store i32 %796, ptr %794, align 8, !tbaa !422
  br label %.thread313

797:                                              ; preds = %770
  %798 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %242) #8
  store double 0.000000e+00, ptr %798, align 8, !tbaa !95
  %799 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %5, i64 noundef %242) #8
  store double 0.000000e+00, ptr %799, align 8, !tbaa !95
  %800 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %8, i64 noundef %242) #8
  store i8 1, ptr %800, align 1, !tbaa !96
  %801 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %242) #8
  store i8 1, ptr %801, align 1, !tbaa !96
  %802 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %802)
          to label %803 unwind label %.loopexit327

803:                                              ; preds = %797
  %804 = load i32, ptr %22, align 4, !tbaa !94
  invoke void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064) %0, i32 noundef %804)
          to label %805 unwind label %.loopexit327

805:                                              ; preds = %.thread309, %.thread303, %803
  %806 = invoke { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824) %222)
          to label %807 unwind label %.loopexit327

807:                                              ; preds = %805
  %808 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425) %808, ptr noundef nonnull align 8 dereferenceable(824) %222, i1 noundef zeroext false)
          to label %809 unwind label %.loopexit327

.thread313:                                       ; preds = %603, %757, %785, %.thread306
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br label %.thread323

809:                                              ; preds = %807
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br label %811

810:                                              ; preds = %.loopexit327, %.loopexit.split-lp328, %.loopexit, %.loopexit.split-lp, %769
  %.pn275 = phi { ptr, i32 } [ %.pn270.pn, %769 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ], [ %lpad.loopexit329, %.loopexit327 ], [ %lpad.loopexit.split-lp330, %.loopexit.split-lp328 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #8
  br label %812

.thread323:                                       ; preds = %.thread298, %.thread313
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  br label %814

811:                                              ; preds = %809, %557
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  br label %231, !llvm.loop !432

812:                                              ; preds = %810, %558, %327
  %.pn275.pn = phi { ptr, i32 } [ %.pn275, %810 ], [ %.pn268, %558 ], [ %.pn, %327 ]
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %23) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #8
  br label %813

813:                                              ; preds = %259, %812, %257
  %.pn275.pn.pn.pn = phi { ptr, i32 } [ %258, %257 ], [ %.pn275.pn, %812 ], [ %260, %259 ]
  call void @_ZN17HighsLpRelaxation10PlaygroundD2Ev(ptr noundef nonnull align 8 dereferenceable(9) %21) #8
  br label %815

814:                                              ; preds = %.thread323, %.thread317
  %.15321 = phi i32 [ %240, %.thread317 ], [ -1, %.thread323 ]
  call void @_ZN17HighsLpRelaxation10PlaygroundD2Ev(ptr noundef nonnull align 8 dereferenceable(9) %21) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #8
  ret i32 %.15321

815:                                              ; preds = %813, %255
  %.pn275.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn.pn, %813 ], [ %256, %255 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #8
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %20) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #8
  br label %816

816:                                              ; preds = %815, %253
  %.pn275.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn.pn.pn, %815 ], [ %254, %253 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  br label %817

817:                                              ; preds = %121, %182, %154, %816, %82, %80, %78, %76, %74
  %.pn282.pn.pn = phi { ptr, i32 } [ %.pn275.pn.pn.pn.pn.pn, %816 ], [ %83, %82 ], [ %81, %80 ], [ %79, %78 ], [ %77, %76 ], [ %75, %74 ], [ %122, %121 ], [ %183, %182 ], [ %155, %154 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %9) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #8
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #8
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %5) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %5) #8
  resume { ptr, i32 } %.pn282.pn.pn
}

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

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

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

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

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

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

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

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

declare void @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89), i32 noundef, ptr noundef, ...) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK15HighsPseudocost10isReliableEi(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef) local_unnamed_addr #3 align 2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef double @_ZNK15HighsPseudocost17getPseudocostDownEid(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, double noundef) local_unnamed_addr #1 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 #1 align 2

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt4iotaIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiEvT_S7_T0_(ptr, ptr, i32 noundef) local_unnamed_addr #1

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17HighsLpRelaxation10playgroundEv(ptr dead_on_unwind noalias writable sret(%"class.HighsLpRelaxation::Playground") align 8, ptr noundef nonnull align 8 dereferenceable(21425)) local_unnamed_addr #3 align 2

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

declare noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801), i64 noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i32 @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_2clEb"(ptr noundef nonnull align 8 dereferenceable(80), i1 noundef zeroext) local_unnamed_addr #7 align 2

declare void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425), double noundef) local_unnamed_addr #6

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStgeIddEbRKSt4pairIT_T0_ES5_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #7

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZSt9make_pairIRddESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #3

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

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

declare noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #6

declare noundef i32 @_ZNK16StabilizerOrbits13orbitalFixingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(80), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #6

declare noundef i32 @_ZNK15HighsSymmetries18propagateOrbitopesER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(216), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #6

declare void @_ZN11HighsDomain16conflictAnalysisER17HighsConflictPool(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(224)) local_unnamed_addr #6

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15HighsPseudocost20addCutoffObservationEib(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, i1 noundef zeroext) local_unnamed_addr #1 align 2

declare { double, i64 } @_ZN11HighsDomain9backtrackEv(ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #6

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN15HighsPseudocost23addInferenceObservationEiib(ptr noundef nonnull align 8 dereferenceable(360), i32 noundef, i32 noundef, i1 noundef zeroext) local_unnamed_addr #1 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN17HighsLpRelaxation10Playground7solveLpER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(9), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsSearch34markBranchingVarDownReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064), i32 noundef) local_unnamed_addr #3 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN11HighsSearch24selectBranchingCandidateElRdS0_ENK3$_3clEdRKSt6vectorIdSaIdEE"(ptr noundef nonnull align 8 dereferenceable(48), double noundef, ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #7 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation22unscaledPrimalFeasibleENS_6StatusE(i32 noundef) local_unnamed_addr #1 align 2

declare noundef zeroext i1 @_ZN18HighsMipSolverData12addIncumbentERKSt6vectorIdSaIdEEdibb(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(24), double noundef, i32 noundef, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #6

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN17HighsLpRelaxation20unscaledDualFeasibleENS_6StatusE(i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNK13HighsDebugSol10nodePrunedERK11HighsDomain(ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #1 align 2

declare void @_ZN17HighsLpRelaxation11flushDomainER11HighsDomainb(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(824), i1 noundef zeroext) local_unnamed_addr #6

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN11HighsSearch32markBranchingVarUpReliableAtNodeEi(ptr noundef nonnull align 8 dereferenceable(1064), i32 noundef) local_unnamed_addr #3 align 2

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

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

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { 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 #2 = { 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 #3 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #5 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }
attributes #9 = { 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 8}
!6 = !{!"_ZTS11HighsSearch", !7, i64 0, !7, i64 8, !10, i64 16, !7, i64 840, !81, i64 848, !60, i64 856, !60, i64 864, !60, i64 872, !60, i64 880, !45, i64 888, !44, i64 896, !15, i64 912, !39, i64 936, !46, i64 960, !47, i64 964, !47, i64 965, !47, i64 966, !82, i64 968, !39, i64 976, !83, i64 1000, !87, i64 1024}
!7 = !{!"any pointer", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTS11HighsDomain", !11, i64 0, !15, i64 24, !19, i64 48, !23, i64 72, !27, i64 96, !31, i64 120, !35, i64 144, !35, i64 168, !15, i64 192, !15, i64 216, !39, i64 240, !11, i64 264, !15, i64 288, !43, i64 312, !7, i64 472, !56, i64 480, !62, i64 560, !47, i64 640, !67, i64 644, !46, i64 652, !15, i64 656, !15, i64 680, !15, i64 704, !68, i64 728, !47, i64 768, !39, i64 776, !39, i64 800}
!11 = !{!"_ZTSSt6vectorIhSaIhEE", !12, i64 0}
!12 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !14, i64 0}
!14 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!15 = !{!"_ZTSSt6vectorIiSaIiEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!19 = !{!"_ZTSSt6vectorISt4pairIiiESaIS1_EE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseISt4pairIiiESaIS1_EE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseISt4pairIiiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!23 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!27 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!31 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!35 = !{!"_ZTSSt6vectorI12HighsCDoubleSaIS0_EE", !36, i64 0}
!36 = !{!"_ZTSSt12_Vector_baseI12HighsCDoubleSaIS0_EE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE12_Vector_implE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseI12HighsCDoubleSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!39 = !{!"_ZTSSt6vectorIdSaIdEE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!43 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !7, i64 0, !7, i64 8, !7, i64 16, !44, i64 24, !46, i64 40, !45, i64 48, !47, i64 56, !48, i64 64, !19, i64 88, !39, i64 112, !52, i64 136}
!44 = !{!"_ZTS12HighsCDouble", !45, i64 0, !45, i64 8}
!45 = !{!"double", !8, i64 0}
!46 = !{!"int", !8, i64 0}
!47 = !{!"bool", !8, i64 0}
!48 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !49, i64 0}
!49 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!52 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !53, i64 0}
!53 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!56 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !57, i64 0}
!57 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !58, i64 0}
!58 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !59, i64 0}
!59 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !60, i64 8, !61, i64 16, !61, i64 48}
!60 = !{!"long", !8, i64 0}
!61 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!62 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !63, i64 0}
!63 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !64, i64 0}
!64 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !65, i64 0}
!65 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !60, i64 8, !66, i64 16, !66, i64 48}
!66 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!67 = !{!"_ZTSN11HighsDomain6ReasonE", !46, i64 0, !46, i64 4}
!68 = !{!"_ZTS14HighsHashTableIivE", !69, i64 0, !75, i64 8, !60, i64 16, !60, i64 24, !60, i64 32}
!69 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !70, i64 0}
!70 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !71, i64 0}
!71 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !72, i64 0}
!72 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !73, i64 0}
!73 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !74, i64 0}
!74 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !7, i64 0}
!75 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !76, i64 0}
!76 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !77, i64 0}
!77 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !78, i64 0}
!78 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !79, i64 0}
!79 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !80, i64 0}
!80 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !7, i64 0}
!81 = !{!"_ZTS11HighsRandom", !60, i64 0}
!82 = !{!"_ZTSN11HighsSearch18ChildSelectionRuleE", !8, i64 0}
!83 = !{!"_ZTSSt6vectorIN11HighsSearch8NodeDataESaIS1_EE", !84, i64 0}
!84 = !{!"_ZTSSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE", !85, i64 0}
!85 = !{!"_ZTSNSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE12_Vector_implE", !86, i64 0}
!86 = !{!"_ZTSNSt12_Vector_baseIN11HighsSearch8NodeDataESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!87 = !{!"_ZTS14HighsHashTableIiiE", !88, i64 0, !75, i64 8, !60, i64 16, !60, i64 24, !60, i64 32}
!88 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !89, i64 0}
!89 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterELb1ELb1EE", !90, i64 0}
!90 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !91, i64 0}
!91 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !92, i64 0}
!92 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !93, i64 0}
!93 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIiiELb0EE", !7, i64 0}
!94 = !{!46, !46, i64 0}
!95 = !{!45, !45, i64 0}
!96 = !{!8, !8, i64 0}
!97 = !{!98, !46, i64 0}
!98 = !{!"_ZTSSt4pairIidE", !46, i64 0, !45, i64 8}
!99 = !{!98, !45, i64 8}
!100 = !{!6, !7, i64 0}
!101 = !{!102, !45, i64 26144}
!102 = !{!"_ZTS18HighsMipSolverData", !7, i64 0, !103, i64 8, !130, i64 688, !10, i64 912, !139, i64 1736, !305, i64 23168, !306, i64 23528, !338, i64 24016, !352, i64 24192, !353, i64 24296, !358, i64 24344, !285, i64 24464, !214, i64 24688, !155, i64 24696, !47, i64 25616, !47, i64 25617, !47, i64 25618, !215, i64 25620, !47, i64 25624, !46, i64 25628, !46, i64 25632, !46, i64 25636, !46, i64 25640, !15, i64 25648, !15, i64 25672, !39, i64 25696, !39, i64 25720, !11, i64 25744, !15, i64 25768, !15, i64 25792, !15, i64 25816, !15, i64 25840, !15, i64 25864, !15, i64 25888, !359, i64 25912, !364, i64 26128, !45, i64 26144, !45, i64 26152, !45, i64 26160, !60, i64 26168, !39, i64 26176, !39, i64 26200, !39, i64 26224, !45, i64 26248, !142, i64 26256, !45, i64 26352, !46, i64 26360, !46, i64 26364, !44, i64 26368, !45, i64 26384, !45, i64 26392, !45, i64 26400, !60, i64 26408, !60, i64 26416, !60, i64 26424, !60, i64 26432, !60, i64 26440, !60, i64 26448, !60, i64 26456, !60, i64 26464, !60, i64 26472, !60, i64 26480, !60, i64 26488, !60, i64 26496, !60, i64 26504, !60, i64 26512, !60, i64 26520, !60, i64 26528, !60, i64 26536, !46, i64 26544, !45, i64 26552, !45, i64 26560, !45, i64 26568, !45, i64 26576, !39, i64 26584, !366, i64 26608, !389, i64 26760, !390, i64 26800}
!103 = !{!"_ZTS12HighsCutPool", !104, i64 0, !39, i64 336, !113, i64 360, !39, i64 384, !39, i64 408, !11, i64 432, !117, i64 456, !122, i64 512, !105, i64 536, !45, i64 584, !45, i64 592, !45, i64 600, !46, i64 608, !46, i64 612, !46, i64 616, !46, i64 620, !46, i64 624, !15, i64 632, !126, i64 656}
!104 = !{!"_ZTS21HighsDynamicRowMatrix", !19, i64 0, !15, i64 24, !39, i64 48, !15, i64 72, !15, i64 96, !15, i64 120, !15, i64 144, !15, i64 168, !15, i64 192, !15, i64 216, !11, i64 240, !105, i64 264, !15, i64 312}
!105 = !{!"_ZTSSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE", !106, i64 0}
!106 = !{!"_ZTSSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE", !107, i64 0}
!107 = !{!"_ZTSNSt8_Rb_treeISt4pairIiiES1_St9_IdentityIS1_ESt4lessIS1_ESaIS1_EE13_Rb_tree_implIS5_Lb1EEE", !108, i64 0, !110, i64 8}
!108 = !{!"_ZTSSt20_Rb_tree_key_compareISt4lessISt4pairIiiEEE", !109, i64 0}
!109 = !{!"_ZTSSt4lessISt4pairIiiEE"}
!110 = !{!"_ZTSSt15_Rb_tree_header", !111, i64 0, !60, i64 32}
!111 = !{!"_ZTSSt18_Rb_tree_node_base", !112, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!112 = !{!"_ZTSSt14_Rb_tree_color", !8, i64 0}
!113 = !{!"_ZTSSt6vectorIsSaIsEE", !114, i64 0}
!114 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !115, i64 0}
!115 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !116, i64 0}
!116 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!117 = !{!"_ZTSSt18unordered_multimapImiSt4hashImESt8equal_toImESaISt4pairIKmiEEE", !118, i64 0}
!118 = !{!"_ZTSSt10_HashtableImSt4pairIKmiESaIS2_ENSt8__detail10_Select1stESt8equal_toImESt4hashImENS4_18_Mod_range_hashingENS4_20_Default_ranged_hashENS4_20_Prime_rehash_policyENS4_17_Hashtable_traitsILb0ELb0ELb0EEEE", !7, i64 0, !60, i64 8, !119, i64 16, !60, i64 24, !120, i64 32, !7, i64 48}
!119 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !7, i64 0}
!120 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !121, i64 0, !60, i64 8}
!121 = !{!"float", !8, i64 0}
!122 = !{!"_ZTSSt6vectorIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !123, i64 0}
!123 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE12_Vector_implE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!126 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !127, i64 0}
!127 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !128, i64 0}
!128 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !129, i64 0}
!129 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!130 = !{!"_ZTS17HighsConflictPool", !46, i64 0, !46, i64 4, !15, i64 8, !113, i64 32, !131, i64 56, !23, i64 80, !19, i64 104, !105, i64 128, !15, i64 176, !135, i64 200}
!131 = !{!"_ZTSSt6vectorIjSaIjEE", !132, i64 0}
!132 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !133, i64 0}
!133 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !134, i64 0}
!134 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!135 = !{!"_ZTSSt6vectorIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !136, i64 0}
!136 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !137, i64 0}
!137 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE12_Vector_implE", !138, i64 0}
!138 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!139 = !{!"_ZTS17HighsLpRelaxation", !7, i64 0, !140, i64 8, !296, i64 20936, !126, i64 20960, !39, i64 20984, !15, i64 21008, !39, i64 21032, !39, i64 21056, !39, i64 21080, !261, i64 21104, !300, i64 21280, !45, i64 21328, !47, i64 21336, !45, i64 21344, !301, i64 21352, !47, i64 21368, !60, i64 21376, !60, i64 21384, !45, i64 21392, !60, i64 21400, !60, i64 21408, !46, i64 21416, !304, i64 21420, !47, i64 21424}
!140 = !{!"_ZTS5Highs", !141, i64 8, !142, i64 112, !149, i64 208, !154, i64 312, !174, i64 1312, !154, i64 1336, !178, i64 2336, !179, i64 2472, !190, i64 2728, !197, i64 3752, !203, i64 3936, !205, i64 4520, !210, i64 4648, !214, i64 4672, !215, i64 4676, !47, i64 4680, !45, i64 4688, !39, i64 4696, !39, i64 4720, !156, i64 4744, !216, i64 4856, !273, i64 19424, !46, i64 19448, !47, i64 19452, !46, i64 19456, !47, i64 19460, !278, i64 19464}
!141 = !{!"_ZTS13HighsSolution", !47, i64 0, !47, i64 1, !39, i64 8, !39, i64 32, !39, i64 56, !39, i64 80}
!142 = !{!"_ZTS10HighsBasis", !47, i64 0, !47, i64 1, !47, i64 2, !47, i64 3, !46, i64 4, !46, i64 8, !143, i64 16, !145, i64 48, !145, i64 72}
!143 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !144, i64 0, !60, i64 8, !8, i64 16}
!144 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!145 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !146, i64 0}
!146 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !147, i64 0}
!147 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !148, i64 0}
!148 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!149 = !{!"_ZTS10ICrashInfo", !46, i64 0, !45, i64 8, !45, i64 16, !45, i64 24, !45, i64 32, !45, i64 40, !150, i64 48, !39, i64 72, !45, i64 96}
!150 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !151, i64 0}
!151 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !152, i64 0}
!152 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !153, i64 0}
!153 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!154 = !{!"_ZTS10HighsModel", !155, i64 0, !172, i64 920}
!155 = !{!"_ZTS7HighsLp", !46, i64 0, !46, i64 4, !39, i64 8, !39, i64 32, !39, i64 56, !39, i64 80, !39, i64 104, !156, i64 128, !158, i64 240, !45, i64 248, !143, i64 256, !143, i64 288, !46, i64 320, !46, i64 324, !159, i64 328, !159, i64 352, !163, i64 376, !167, i64 400, !167, i64 456, !46, i64 512, !46, i64 516, !170, i64 520, !47, i64 592, !47, i64 593, !46, i64 596, !47, i64 600, !171, i64 608}
!156 = !{!"_ZTS17HighsSparseMatrix", !157, i64 0, !46, i64 4, !46, i64 8, !15, i64 16, !15, i64 40, !15, i64 64, !39, i64 88}
!157 = !{!"_ZTS12MatrixFormat", !8, i64 0}
!158 = !{!"_ZTS8ObjSense", !8, i64 0}
!159 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !160, i64 0}
!160 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !161, i64 0}
!161 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !162, i64 0}
!162 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!163 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !164, i64 0}
!164 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !165, i64 0}
!165 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !166, i64 0}
!166 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!167 = !{!"_ZTS13HighsNameHash", !168, i64 0}
!168 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !169, i64 0}
!169 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE", !7, i64 0, !60, i64 8, !119, i64 16, !60, i64 24, !120, i64 32, !7, i64 48}
!170 = !{!"_ZTS10HighsScale", !46, i64 0, !47, i64 4, !46, i64 8, !46, i64 12, !45, i64 16, !39, i64 24, !39, i64 48}
!171 = !{!"_ZTS11HighsLpMods", !15, i64 0, !15, i64 24, !39, i64 48, !39, i64 72, !163, i64 96, !15, i64 120, !39, i64 144, !15, i64 168, !39, i64 192, !15, i64 216, !39, i64 240, !39, i64 264, !39, i64 288}
!172 = !{!"_ZTS12HighsHessian", !46, i64 0, !173, i64 4, !15, i64 8, !15, i64 32, !39, i64 56}
!173 = !{!"_ZTS13HessianFormat", !8, i64 0}
!174 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !175, i64 0}
!175 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !176, i64 0}
!176 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !177, i64 0}
!177 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!178 = !{!"_ZTS10HighsTimer", !45, i64 8, !46, i64 16, !15, i64 24, !39, i64 48, !39, i64 72, !159, i64 96, !46, i64 120, !46, i64 124, !46, i64 128}
!179 = !{!"_ZTS13HighsCallback", !180, i64 0, !7, i64 32, !7, i64 40, !182, i64 48, !188, i64 88, !189, i64 240}
!180 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !181, i64 0, !7, i64 24}
!181 = !{!"_ZTSSt14_Function_base", !8, i64 0, !7, i64 16}
!182 = !{!"_ZTSSt6vectorIbSaIbEE", !183, i64 0}
!183 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !184, i64 0}
!184 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !185, i64 0}
!185 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !186, i64 0, !186, i64 16, !7, i64 32}
!186 = !{!"_ZTSSt13_Bit_iterator", !187, i64 0}
!187 = !{!"_ZTSSt18_Bit_iterator_base", !7, i64 0, !46, i64 8}
!188 = !{!"_ZTS20HighsCallbackDataOut", !46, i64 0, !45, i64 8, !46, i64 16, !46, i64 20, !46, i64 24, !45, i64 32, !60, i64 40, !60, i64 48, !45, i64 56, !45, i64 64, !45, i64 72, !7, i64 80, !46, i64 88, !46, i64 92, !46, i64 96, !7, i64 104, !7, i64 112, !7, i64 120, !7, i64 128, !7, i64 136, !46, i64 144}
!189 = !{!"_ZTS19HighsCallbackDataIn", !46, i64 0, !7, i64 8}
!190 = !{!"_ZTS12HighsOptions", !191, i64 0, !193, i64 992, !46, i64 1016}
!191 = !{!"_ZTS18HighsOptionsStruct", !143, i64 8, !143, i64 40, !143, i64 72, !143, i64 104, !45, i64 136, !143, i64 144, !143, i64 176, !46, i64 208, !143, i64 216, !45, i64 248, !45, i64 256, !45, i64 264, !45, i64 272, !45, i64 280, !45, i64 288, !45, i64 296, !45, i64 304, !45, i64 312, !45, i64 320, !45, i64 328, !46, i64 336, !46, i64 340, !46, i64 344, !46, i64 348, !46, i64 352, !46, i64 356, !46, i64 360, !46, i64 364, !46, i64 368, !46, i64 372, !46, i64 376, !46, i64 380, !46, i64 384, !46, i64 388, !143, i64 392, !47, i64 424, !47, i64 425, !47, i64 426, !46, i64 428, !46, i64 432, !143, i64 440, !47, i64 472, !47, i64 473, !47, i64 474, !46, i64 476, !47, i64 480, !47, i64 481, !46, i64 484, !46, i64 488, !45, i64 496, !46, i64 504, !46, i64 508, !46, i64 512, !47, i64 516, !46, i64 520, !47, i64 524, !47, i64 525, !47, i64 526, !47, i64 527, !47, i64 528, !47, i64 529, !47, i64 530, !46, i64 532, !46, i64 536, !46, i64 540, !46, i64 544, !46, i64 548, !46, i64 552, !46, i64 556, !46, i64 560, !46, i64 564, !46, i64 568, !46, i64 572, !46, i64 576, !46, i64 580, !46, i64 584, !46, i64 588, !47, i64 592, !47, i64 593, !47, i64 594, !47, i64 595, !45, i64 600, !45, i64 608, !45, i64 616, !45, i64 624, !45, i64 632, !45, i64 640, !45, i64 648, !45, i64 656, !45, i64 664, !45, i64 672, !45, i64 680, !47, i64 688, !47, i64 689, !47, i64 690, !47, i64 691, !46, i64 692, !45, i64 696, !47, i64 704, !47, i64 705, !143, i64 712, !45, i64 744, !46, i64 752, !46, i64 756, !47, i64 760, !47, i64 761, !47, i64 762, !47, i64 763, !46, i64 764, !46, i64 768, !46, i64 772, !46, i64 776, !46, i64 780, !46, i64 784, !46, i64 788, !46, i64 792, !46, i64 796, !46, i64 800, !46, i64 804, !45, i64 808, !45, i64 816, !45, i64 824, !45, i64 832, !45, i64 840, !47, i64 848, !47, i64 849, !143, i64 856, !47, i64 888, !46, i64 892, !192, i64 896}
!192 = !{!"_ZTS15HighsLogOptions", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !180, i64 48, !7, i64 80, !47, i64 88}
!193 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !194, i64 0}
!194 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !195, i64 0}
!195 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !196, i64 0}
!196 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!197 = !{!"_ZTS9HighsInfo", !198, i64 8, !199, i64 160}
!198 = !{!"_ZTS15HighsInfoStruct", !47, i64 0, !60, i64 8, !46, i64 16, !46, i64 20, !46, i64 24, !46, i64 28, !46, i64 32, !46, i64 36, !46, i64 40, !46, i64 44, !45, i64 48, !45, i64 56, !45, i64 64, !45, i64 72, !46, i64 80, !45, i64 88, !45, i64 96, !46, i64 104, !45, i64 112, !45, i64 120, !45, i64 128, !45, i64 136, !45, i64 144}
!199 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !200, i64 0}
!200 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !201, i64 0}
!201 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !202, i64 0}
!202 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!203 = !{!"_ZTS12HighsRanging", !47, i64 0, !204, i64 8, !204, i64 104, !204, i64 200, !204, i64 296, !204, i64 392, !204, i64 488}
!204 = !{!"_ZTS18HighsRangingRecord", !39, i64 0, !39, i64 24, !15, i64 48, !15, i64 72}
!205 = !{!"_ZTS8HighsIis", !47, i64 0, !46, i64 4, !15, i64 8, !15, i64 32, !15, i64 56, !15, i64 80, !206, i64 104}
!206 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !207, i64 0}
!207 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !208, i64 0}
!208 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !209, i64 0}
!209 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!210 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !211, i64 0}
!211 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !212, i64 0}
!212 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !213, i64 0}
!213 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!214 = !{!"_ZTS19HighsPresolveStatus", !8, i64 0}
!215 = !{!"_ZTS16HighsModelStatus", !8, i64 0}
!216 = !{!"_ZTS4HEkk", !7, i64 0, !7, i64 8, !7, i64 16, !217, i64 24, !155, i64 8600, !143, i64 9520, !234, i64 9552, !235, i64 9568, !215, i64 10608, !236, i64 10616, !241, i64 10736, !81, i64 10776, !39, i64 10784, !39, i64 10808, !47, i64 10832, !156, i64 10840, !156, i64 10952, !248, i64 11064, !265, i64 13928, !45, i64 14048, !45, i64 14056, !45, i64 14064, !46, i64 14072, !46, i64 14076, !46, i64 14080, !46, i64 14084, !47, i64 14088, !47, i64 14089, !266, i64 14092, !46, i64 14096, !46, i64 14100, !15, i64 14104, !39, i64 14128, !267, i64 14152, !267, i64 14184, !46, i64 14216, !46, i64 14220, !46, i64 14224, !45, i64 14232, !39, i64 14240, !39, i64 14264, !39, i64 14288, !39, i64 14312, !39, i64 14336, !15, i64 14360, !15, i64 14384, !45, i64 14408, !45, i64 14416, !45, i64 14424, !46, i64 14432, !46, i64 14436, !47, i64 14440, !46, i64 14444, !47, i64 14448, !47, i64 14449, !47, i64 14450, !47, i64 14451, !45, i64 14456, !268, i64 14464, !39, i64 14488, !272, i64 14512}
!217 = !{!"_ZTS20HighsSimplexAnalysis", !7, i64 0, !218, i64 8, !218, i64 32, !7, i64 56, !46, i64 64, !46, i64 68, !46, i64 72, !143, i64 80, !143, i64 112, !192, i64 144, !47, i64 240, !47, i64 241, !47, i64 242, !47, i64 243, !47, i64 244, !47, i64 245, !47, i64 246, !46, i64 248, !222, i64 252, !46, i64 256, !46, i64 260, !46, i64 264, !46, i64 268, !46, i64 272, !46, i64 276, !46, i64 280, !143, i64 288, !45, i64 320, !45, i64 328, !45, i64 336, !45, i64 344, !45, i64 352, !45, i64 360, !45, i64 368, !45, i64 376, !45, i64 384, !45, i64 392, !45, i64 400, !45, i64 408, !46, i64 416, !46, i64 420, !45, i64 424, !45, i64 432, !46, i64 440, !45, i64 448, !45, i64 456, !46, i64 464, !45, i64 472, !45, i64 480, !45, i64 488, !45, i64 496, !45, i64 504, !45, i64 512, !45, i64 520, !45, i64 528, !45, i64 536, !45, i64 544, !46, i64 552, !45, i64 560, !46, i64 568, !46, i64 572, !46, i64 576, !46, i64 580, !46, i64 584, !46, i64 588, !46, i64 592, !46, i64 596, !46, i64 600, !223, i64 608, !223, i64 760, !223, i64 912, !223, i64 1064, !223, i64 1216, !223, i64 1368, !223, i64 1520, !223, i64 1672, !223, i64 1824, !223, i64 1976, !46, i64 2128, !46, i64 2132, !46, i64 2136, !46, i64 2140, !45, i64 2144, !45, i64 2152, !46, i64 2160, !46, i64 2164, !46, i64 2168, !46, i64 2172, !46, i64 2176, !45, i64 2184, !45, i64 2192, !46, i64 2200, !45, i64 2208, !45, i64 2216, !46, i64 2224, !46, i64 2228, !45, i64 2232, !45, i64 2240, !39, i64 2248, !39, i64 2272, !39, i64 2296, !39, i64 2320, !224, i64 2344, !228, i64 2368, !46, i64 2376, !46, i64 2380, !46, i64 2384, !46, i64 2388, !45, i64 2392, !45, i64 2400, !45, i64 2408, !45, i64 2416, !45, i64 2424, !45, i64 2432, !45, i64 2440, !45, i64 2448, !45, i64 2456, !45, i64 2464, !46, i64 2472, !46, i64 2476, !45, i64 2480, !45, i64 2488, !45, i64 2496, !47, i64 2504, !45, i64 2512, !45, i64 2520, !46, i64 2528, !46, i64 2532, !46, i64 2536, !46, i64 2540, !46, i64 2544, !45, i64 2552, !45, i64 2560, !45, i64 2568, !45, i64 2576, !45, i64 2584, !45, i64 2592, !45, i64 2600, !45, i64 2608, !45, i64 2616, !46, i64 2624, !46, i64 2628, !8, i64 2632, !46, i64 4952, !46, i64 4956, !8, i64 4960, !8, i64 7600, !8, i64 7648, !223, i64 7664, !223, i64 7816, !223, i64 7968, !223, i64 8120, !223, i64 8272, !223, i64 8424}
!218 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !219, i64 0}
!219 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !220, i64 0}
!220 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !221, i64 0}
!221 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!222 = !{!"_ZTS14EdgeWeightMode", !8, i64 0}
!223 = !{!"_ZTS22HighsValueDistribution", !143, i64 0, !143, i64 32, !46, i64 64, !46, i64 68, !46, i64 72, !45, i64 80, !45, i64 88, !39, i64 96, !15, i64 120, !46, i64 144}
!224 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !225, i64 0}
!225 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !226, i64 0}
!226 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !227, i64 0}
!227 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!228 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !229, i64 0}
!229 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !230, i64 0}
!230 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !231, i64 0}
!231 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !232, i64 0}
!232 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !233, i64 0}
!233 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !7, i64 0}
!234 = !{!"_ZTS18HighsSimplexStatus", !47, i64 0, !47, i64 1, !47, i64 2, !47, i64 3, !47, i64 4, !47, i64 5, !47, i64 6, !47, i64 7, !47, i64 8, !47, i64 9, !47, i64 10, !47, i64 11, !47, i64 12}
!235 = !{!"_ZTS16HighsSimplexInfo", !39, i64 0, !39, i64 24, !39, i64 48, !39, i64 72, !39, i64 96, !39, i64 120, !39, i64 144, !39, i64 168, !39, i64 192, !39, i64 216, !39, i64 240, !39, i64 264, !39, i64 288, !15, i64 312, !15, i64 336, !15, i64 360, !15, i64 384, !39, i64 408, !46, i64 432, !46, i64 436, !47, i64 440, !47, i64 441, !236, i64 448, !46, i64 568, !46, i64 572, !46, i64 576, !39, i64 584, !39, i64 608, !39, i64 632, !39, i64 656, !46, i64 680, !46, i64 684, !46, i64 688, !46, i64 692, !45, i64 696, !45, i64 704, !45, i64 712, !45, i64 720, !46, i64 728, !46, i64 732, !45, i64 736, !45, i64 744, !45, i64 752, !45, i64 760, !45, i64 768, !45, i64 776, !45, i64 784, !45, i64 792, !45, i64 800, !45, i64 808, !47, i64 816, !45, i64 824, !45, i64 832, !46, i64 840, !45, i64 848, !45, i64 856, !45, i64 864, !47, i64 872, !47, i64 873, !47, i64 874, !47, i64 875, !47, i64 876, !47, i64 877, !47, i64 878, !47, i64 879, !47, i64 880, !47, i64 881, !47, i64 882, !47, i64 883, !47, i64 884, !47, i64 885, !47, i64 886, !46, i64 888, !45, i64 896, !45, i64 904, !46, i64 912, !45, i64 920, !45, i64 928, !46, i64 936, !46, i64 940, !46, i64 944, !46, i64 948, !46, i64 952, !46, i64 956, !46, i64 960, !46, i64 964, !46, i64 968, !46, i64 972, !46, i64 976, !46, i64 980, !46, i64 984, !46, i64 988, !46, i64 992, !46, i64 996, !45, i64 1000, !45, i64 1008, !45, i64 1016, !45, i64 1024, !46, i64 1032}
!236 = !{!"_ZTS12SimplexBasis", !15, i64 0, !237, i64 24, !237, i64 48, !60, i64 72, !46, i64 80, !46, i64 84, !143, i64 88}
!237 = !{!"_ZTSSt6vectorIaSaIaEE", !238, i64 0}
!238 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !239, i64 0}
!239 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !240, i64 0}
!240 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!241 = !{!"_ZTS14HighsHashTableImvE", !242, i64 0, !75, i64 8, !60, i64 16, !60, i64 24, !60, i64 32}
!242 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !243, i64 0}
!243 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !244, i64 0}
!244 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !245, i64 0}
!245 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !246, i64 0}
!246 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !247, i64 0}
!247 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !7, i64 0}
!248 = !{!"_ZTS11HSimplexNla", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !249, i64 48, !47, i64 1960, !45, i64 1968, !262, i64 1976, !263, i64 2112}
!249 = !{!"_ZTS7HFactor", !45, i64 0, !45, i64 8, !46, i64 16, !15, i64 24, !15, i64 48, !15, i64 72, !250, i64 96, !46, i64 184, !46, i64 188, !46, i64 192, !46, i64 196, !46, i64 200, !46, i64 204, !46, i64 208, !45, i64 216, !47, i64 224, !7, i64 232, !7, i64 240, !7, i64 248, !7, i64 256, !45, i64 264, !45, i64 272, !46, i64 280, !45, i64 288, !251, i64 296, !192, i64 304, !47, i64 400, !47, i64 401, !46, i64 404, !46, i64 408, !7, i64 416, !46, i64 424, !15, i64 432, !39, i64 456, !15, i64 480, !15, i64 504, !15, i64 528, !39, i64 552, !15, i64 576, !15, i64 600, !15, i64 624, !15, i64 648, !15, i64 672, !15, i64 696, !15, i64 720, !39, i64 744, !39, i64 768, !15, i64 792, !15, i64 816, !15, i64 840, !15, i64 864, !15, i64 888, !15, i64 912, !257, i64 936, !39, i64 960, !15, i64 984, !15, i64 1008, !15, i64 1032, !15, i64 1056, !15, i64 1080, !15, i64 1104, !15, i64 1128, !15, i64 1152, !15, i64 1176, !15, i64 1200, !39, i64 1224, !15, i64 1248, !15, i64 1272, !39, i64 1296, !15, i64 1320, !15, i64 1344, !39, i64 1368, !46, i64 1392, !46, i64 1396, !15, i64 1400, !15, i64 1424, !15, i64 1448, !39, i64 1472, !15, i64 1496, !15, i64 1520, !15, i64 1544, !15, i64 1568, !39, i64 1592, !39, i64 1616, !15, i64 1640, !15, i64 1664, !15, i64 1688, !39, i64 1712, !261, i64 1736}
!250 = !{!"_ZTS12RefactorInfo", !47, i64 0, !15, i64 8, !15, i64 32, !237, i64 56, !45, i64 80}
!251 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !252, i64 0}
!252 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !253, i64 0}
!253 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !254, i64 0}
!254 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !255, i64 0}
!255 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !256, i64 0}
!256 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !7, i64 0}
!257 = !{!"_ZTSSt6vectorIcSaIcEE", !258, i64 0}
!258 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !259, i64 0}
!259 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !260, i64 0}
!260 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!261 = !{!"_ZTS11HVectorBaseIdE", !46, i64 0, !46, i64 4, !15, i64 8, !39, i64 32, !45, i64 56, !257, i64 64, !15, i64 88, !7, i64 112, !47, i64 120, !46, i64 124, !15, i64 128, !39, i64 152}
!262 = !{!"_ZTS17ProductFormUpdate", !47, i64 0, !46, i64 4, !46, i64 8, !15, i64 16, !39, i64 40, !15, i64 64, !15, i64 88, !39, i64 112}
!263 = !{!"_ZTS14SimplexIterate", !47, i64 0, !236, i64 8, !264, i64 128, !39, i64 728}
!264 = !{!"_ZTS24InvertibleRepresentation", !15, i64 0, !15, i64 24, !15, i64 48, !15, i64 72, !39, i64 96, !15, i64 120, !15, i64 144, !39, i64 168, !15, i64 192, !15, i64 216, !39, i64 240, !15, i64 264, !15, i64 288, !15, i64 312, !39, i64 336, !15, i64 360, !15, i64 384, !15, i64 408, !15, i64 432, !39, i64 456, !15, i64 480, !15, i64 504, !39, i64 528, !15, i64 552, !39, i64 576}
!265 = !{!"_ZTS8HotStart", !47, i64 0, !250, i64 8, !237, i64 96}
!266 = !{!"_ZTS16SimplexAlgorithm", !8, i64 0}
!267 = !{!"_ZTS14HighsRayRecord", !46, i64 0, !46, i64 4, !39, i64 8}
!268 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !269, i64 0}
!269 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !270, i64 0}
!270 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !271, i64 0}
!271 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!272 = !{!"_ZTS17HighsSimplexStats", !47, i64 0, !46, i64 4, !46, i64 8, !46, i64 12, !46, i64 16, !45, i64 24, !45, i64 32, !45, i64 40, !45, i64 48}
!273 = !{!"_ZTS16HighsPresolveLog", !274, i64 0}
!274 = !{!"_ZTSSt6vectorI20HighsPresolveRuleLogSaIS0_EE", !275, i64 0}
!275 = !{!"_ZTSSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE", !276, i64 0}
!276 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE12_Vector_implE", !277, i64 0}
!277 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!278 = !{!"_ZTS17PresolveComponent", !279, i64 0, !283, i64 16, !284, i64 56, !7, i64 1440, !7, i64 1448, !214, i64 1456, !295, i64 1460}
!279 = !{!"_ZTS14HighsComponent", !280, i64 8, !281, i64 9, !282, i64 10}
!280 = !{!"_ZTS18HighsComponentInfo", !47, i64 0}
!281 = !{!"_ZTS18HighsComponentData", !47, i64 0}
!282 = !{!"_ZTS21HighsComponentOptions", !47, i64 0}
!283 = !{!"_ZTS21PresolveComponentInfo", !280, i64 8, !46, i64 12, !46, i64 16, !46, i64 20, !45, i64 24, !45, i64 32}
!284 = !{!"_ZTS21PresolveComponentData", !281, i64 8, !155, i64 16, !285, i64 936, !141, i64 1160, !142, i64 1264, !273, i64 1360}
!285 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !60, i64 0, !45, i64 8, !45, i64 16, !45, i64 24, !45, i64 32, !286, i64 40, !287, i64 72, !15, i64 96, !15, i64 120, !11, i64 144, !291, i64 168, !291, i64 192, !46, i64 216, !46, i64 220}
!286 = !{!"_ZTS14HighsDataStack", !257, i64 0, !60, i64 24}
!287 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !288, i64 0}
!288 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !289, i64 0}
!289 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !290, i64 0}
!290 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!291 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !292, i64 0}
!292 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !293, i64 0}
!293 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !294, i64 0}
!294 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!295 = !{!"_ZTS20HighsPostsolveStatus", !8, i64 0}
!296 = !{!"_ZTSSt6vectorIN17HighsLpRelaxation5LpRowESaIS1_EE", !297, i64 0}
!297 = !{!"_ZTSSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE", !298, i64 0}
!298 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE12_Vector_implE", !299, i64 0}
!299 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!300 = !{!"_ZTS20HighsSparseVectorSum", !35, i64 0, !15, i64 24}
!301 = !{!"_ZTSSt10shared_ptrIK10HighsBasisE", !302, i64 0}
!302 = !{!"_ZTSSt12__shared_ptrIK10HighsBasisLN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !303, i64 8}
!303 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0}
!304 = !{!"_ZTSN17HighsLpRelaxation6StatusE", !8, i64 0}
!305 = !{!"_ZTS15HighsPseudocost", !39, i64 0, !39, i64 24, !15, i64 48, !15, i64 72, !39, i64 96, !39, i64 120, !15, i64 144, !15, i64 168, !15, i64 192, !15, i64 216, !39, i64 240, !39, i64 264, !45, i64 288, !45, i64 296, !45, i64 304, !45, i64 312, !60, i64 320, !60, i64 328, !60, i64 336, !46, i64 344, !45, i64 352}
!306 = !{!"_ZTS16HighsCliqueTable", !307, i64 0, !311, i64 24, !315, i64 48, !319, i64 72, !105, i64 112, !15, i64 160, !326, i64 184, !15, i64 208, !307, i64 232, !15, i64 256, !330, i64 280, !15, i64 304, !334, i64 328, !11, i64 352, !11, i64 376, !131, i64 400, !15, i64 424, !81, i64 448, !46, i64 456, !46, i64 460, !46, i64 464, !46, i64 468, !47, i64 472, !60, i64 480}
!307 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !308, i64 0}
!308 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !309, i64 0}
!309 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !310, i64 0}
!310 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!311 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !312, i64 0}
!312 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !313, i64 0}
!313 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !314, i64 0}
!314 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!315 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !316, i64 0}
!316 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !317, i64 0}
!317 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !318, i64 0}
!318 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!319 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !320, i64 0, !75, i64 8, !60, i64 16, !60, i64 24, !60, i64 32}
!320 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !321, i64 0}
!321 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !322, i64 0}
!322 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !323, i64 0}
!323 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !324, i64 0}
!324 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !325, i64 0}
!325 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !7, i64 0}
!326 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !327, i64 0}
!327 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !328, i64 0}
!328 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !329, i64 0}
!329 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!330 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !331, i64 0}
!331 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !332, i64 0}
!332 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !333, i64 0}
!333 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!334 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !335, i64 0}
!335 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !336, i64 0}
!336 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !337, i64 0}
!337 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!338 = !{!"_ZTS17HighsImplications", !46, i64 0, !339, i64 8, !60, i64 32, !343, i64 40, !343, i64 64, !7, i64 88, !347, i64 96, !11, i64 120, !351, i64 144}
!339 = !{!"_ZTSSt6vectorIN17HighsImplications7ImplicsESaIS1_EE", !340, i64 0}
!340 = !{!"_ZTSSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE", !341, i64 0}
!341 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE12_Vector_implE", !342, i64 0}
!342 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!343 = !{!"_ZTSSt6vectorI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !344, i64 0}
!344 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !345, i64 0}
!345 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE12_Vector_implE", !346, i64 0}
!346 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!347 = !{!"_ZTSSt6vectorI17HighsSubstitutionSaIS0_EE", !348, i64 0}
!348 = !{!"_ZTSSt12_Vector_baseI17HighsSubstitutionSaIS0_EE", !349, i64 0}
!349 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE12_Vector_implE", !350, i64 0}
!350 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!351 = !{!"_ZTSSt8functionIFviiidEE", !181, i64 0, !7, i64 24}
!352 = !{!"_ZTS21HighsPrimalHeuristics", !7, i64 0, !60, i64 8, !60, i64 16, !60, i64 24, !60, i64 32, !45, i64 40, !46, i64 48, !45, i64 56, !46, i64 64, !81, i64 72, !15, i64 80}
!353 = !{!"_ZTS18HighsRedcostFixing", !354, i64 0, !354, i64 24}
!354 = !{!"_ZTSSt6vectorISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !355, i64 0}
!355 = !{!"_ZTSSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !356, i64 0}
!356 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE12_Vector_implE", !357, i64 0}
!357 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!358 = !{!"_ZTS22HighsObjectiveFunction", !7, i64 0, !45, i64 8, !46, i64 16, !46, i64 20, !15, i64 24, !39, i64 48, !15, i64 72, !15, i64 96}
!359 = !{!"_ZTS15HighsSymmetries", !15, i64 0, !15, i64 24, !15, i64 48, !15, i64 72, !15, i64 96, !15, i64 120, !360, i64 144, !87, i64 168, !46, i64 208, !46, i64 212}
!360 = !{!"_ZTSSt6vectorI19HighsOrbitopeMatrixSaIS0_EE", !361, i64 0}
!361 = !{!"_ZTSSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE", !362, i64 0}
!362 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE12_Vector_implE", !363, i64 0}
!363 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!364 = !{!"_ZTSSt10shared_ptrIK16StabilizerOrbitsE", !365, i64 0}
!365 = !{!"_ZTSSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !303, i64 8}
!366 = !{!"_ZTS14HighsNodeQueue", !367, i64 0, !373, i64 8, !377, i64 32, !383, i64 64, !383, i64 72, !60, i64 80, !60, i64 88, !60, i64 96, !60, i64 104, !60, i64 112, !60, i64 120, !60, i64 128, !45, i64 136, !46, i64 144}
!367 = !{!"_ZTSSt10unique_ptrIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !368, i64 0}
!368 = !{!"_ZTSSt15__uniq_ptr_dataIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_ELb1ELb1EE", !369, i64 0}
!369 = !{!"_ZTSSt15__uniq_ptr_implIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !370, i64 0}
!370 = !{!"_ZTSSt5tupleIJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !371, i64 0}
!371 = !{!"_ZTSSt11_Tuple_implILm0EJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !372, i64 0}
!372 = !{!"_ZTSSt10_Head_baseILm0EPN14HighsNodeQueue14AllocatorStateELb0EE", !7, i64 0}
!373 = !{!"_ZTSSt6vectorIN14HighsNodeQueue8OpenNodeESaIS1_EE", !374, i64 0}
!374 = !{!"_ZTSSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE", !375, i64 0}
!375 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE12_Vector_implE", !376, i64 0}
!376 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!377 = !{!"_ZTSSt14priority_queueIlSt6vectorIlSaIlEESt7greaterIlEE", !378, i64 0, !382, i64 24}
!378 = !{!"_ZTSSt6vectorIlSaIlEE", !379, i64 0}
!379 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !380, i64 0}
!380 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !381, i64 0}
!381 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!382 = !{!"_ZTSSt7greaterIlE"}
!383 = !{!"_ZTSSt10unique_ptrISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !384, i64 0}
!384 = !{!"_ZTSSt15__uniq_ptr_dataISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteELb1ELb1EE", !385, i64 0}
!385 = !{!"_ZTSSt15__uniq_ptr_implISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !386, i64 0}
!386 = !{!"_ZTSSt5tupleIJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !387, i64 0}
!387 = !{!"_ZTSSt11_Tuple_implILm0EJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !388, i64 0}
!388 = !{!"_ZTSSt10_Head_baseILm0EPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEELb0EE", !7, i64 0}
!389 = !{!"_ZTS22HighsPrimaDualIntegral", !45, i64 0, !45, i64 8, !45, i64 16, !45, i64 24, !45, i64 32}
!390 = !{!"_ZTS13HighsDebugSol"}
!391 = !{!392, !7, i64 8}
!392 = !{!"_ZTS14HighsMipSolver", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !215, i64 32, !39, i64 40, !45, i64 64, !45, i64 72, !45, i64 80, !45, i64 88, !45, i64 96, !45, i64 104, !45, i64 112, !60, i64 120, !60, i64 128, !45, i64 136, !7, i64 144, !210, i64 152, !47, i64 176, !46, i64 180, !46, i64 184, !7, i64 192, !7, i64 200, !7, i64 208, !7, i64 216, !393, i64 224, !399, i64 232, !178, i64 360}
!393 = !{!"_ZTSSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EE", !394, i64 0}
!394 = !{!"_ZTSSt15__uniq_ptr_dataI18HighsMipSolverDataSt14default_deleteIS0_ELb1ELb1EE", !395, i64 0}
!395 = !{!"_ZTSSt15__uniq_ptr_implI18HighsMipSolverDataSt14default_deleteIS0_EE", !396, i64 0}
!396 = !{!"_ZTSSt5tupleIJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !397, i64 0}
!397 = !{!"_ZTSSt11_Tuple_implILm0EJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !398, i64 0}
!398 = !{!"_ZTSSt10_Head_baseILm0EP18HighsMipSolverDataLb0EE", !7, i64 0}
!399 = !{!"_ZTS16HighsMipAnalysis", !7, i64 0, !143, i64 8, !400, i64 40, !47, i64 72, !39, i64 80, !39, i64 104}
!400 = !{!"_ZTS15HighsTimerClock", !7, i64 0, !15, i64 8}
!401 = !{!6, !7, i64 840}
!402 = distinct !{!402, !403}
!403 = !{!"llvm.loop.mustprogress"}
!404 = !{!405, !7, i64 0}
!405 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_0", !7, i64 0, !7, i64 8}
!406 = !{!7, !7, i64 0}
!407 = !{!408, !7, i64 0}
!408 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_1", !7, i64 0, !7, i64 8}
!409 = !{!410, !7, i64 48}
!410 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_2", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !7, i64 48, !7, i64 56, !7, i64 64, !7, i64 72}
!411 = !{!102, !45, i64 26568}
!412 = !{!413, !7, i64 0}
!413 = !{!"_ZTSZN11HighsSearch24selectBranchingCandidateElRdS0_E3$_3", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40}
!414 = !{!415, !45, i64 0}
!415 = !{!"_ZTS17HighsDomainChange", !45, i64 0, !46, i64 8, !416, i64 12}
!416 = !{!"_ZTS14HighsBoundType", !8, i64 0}
!417 = !{!415, !46, i64 8}
!418 = !{!415, !416, i64 12}
!419 = !{!420, !8, i64 93}
!420 = !{!"_ZTSN11HighsSearch8NodeDataE", !45, i64 0, !45, i64 8, !45, i64 16, !45, i64 24, !45, i64 32, !301, i64 40, !364, i64 56, !415, i64 72, !46, i64 88, !8, i64 92, !8, i64 93}
!421 = !{!420, !8, i64 92}
!422 = !{!6, !46, i64 960}
!423 = !{!6, !60, i64 864}
!424 = !{!6, !60, i64 880}
!425 = !{!102, !45, i64 26152}
!426 = !{!47, !47, i64 0}
!427 = !{i8 0, i8 2}
!428 = !{}
!429 = !{!6, !47, i64 965}
!430 = !{!102, !45, i64 26576}
!431 = !{!420, !45, i64 32}
!432 = distinct !{!432, !403}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass