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

; 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.153" = type { %"struct.std::_Vector_base.154" }
%"struct.std::_Vector_base.154" = type { %"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl" }
%"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl" = type { %"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_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<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.std::allocator.15" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.135" = type { %"struct.std::_Vector_base.136" }
%"struct.std::_Vector_base.136" = 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 }
%"struct.std::pair" = type { i32, double }
%"class.std::allocator.137" = type { i8 }
%"class.std::vector.158" = type { %"struct.std::_Vector_base.159" }
%"struct.std::_Vector_base.159" = 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::allocator.160" = type { i8 }
%class.HighsCutGeneration = type { ptr, ptr, %class.HighsRandom, %"class.std::vector.13", %class.HighsCDouble, %class.HighsCDouble, %"class.std::vector", %"class.std::vector", %"class.std::vector.120", %"class.std::vector.120", double, double, ptr, ptr, %class.HighsCDouble, i8, i8, i32, double, %"class.std::vector.13", %"class.std::vector" }
%class.HighsRandom = type { i64 }
%"class.std::vector.120" = type { %"struct.std::_Vector_base.121" }
%"struct.std::_Vector_base.121" = 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.HighsCDouble = type { double, double }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.364" = type { %"struct.std::_Vector_base.365" }
%"struct.std::_Vector_base.365" = type { %"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::array" = type { [2 x double] }
%class.anon = type { ptr, ptr }
%class.anon.369 = type { ptr, ptr }
%class.anon.370 = type { ptr, ptr, ptr, ptr }
%class.anon.371 = type { ptr, ptr, ptr }
%class.HighsHashTable.314 = type { %"class.std::unique_ptr.315", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.315" = type { %"struct.std::__uniq_ptr_data.316" }
%"struct.std::__uniq_ptr_data.316" = type { %"class.std::__uniq_ptr_impl.317" }
%"class.std::__uniq_ptr_impl.317" = type { %"class.std::tuple.318" }
%"class.std::tuple.318" = type { %"struct.std::_Tuple_impl.319" }
%"struct.std::_Tuple_impl.319" = type { %"struct.std::_Head_base.322" }
%"struct.std::_Head_base.322" = type { ptr }
%"class.std::unique_ptr.87" = type { %"struct.std::__uniq_ptr_data.88" }
%"struct.std::__uniq_ptr_data.88" = type { %"class.std::__uniq_ptr_impl.89" }
%"class.std::__uniq_ptr_impl.89" = type { %"class.std::tuple.90" }
%"class.std::tuple.90" = type { %"struct.std::_Tuple_impl.91" }
%"struct.std::_Tuple_impl.91" = type { %"struct.std::_Head_base.94" }
%"struct.std::_Head_base.94" = type { ptr }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.140" = type { %"struct.std::_Vector_base.141" }
%"struct.std::_Vector_base.141" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.142" = type { i8 }
%class.HighsLp = type { i32, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.18", %"class.std::vector.18", %"class.std::vector.23", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = 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 }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = 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" }
%"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 }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector", %"class.std::vector" }
%struct.HighsLpMods = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.23", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%struct.HighsSolution = type { i8, i8, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%class.HighsMipSolver = type { ptr, ptr, ptr, ptr, i32, %"class.std::vector", double, double, double, double, double, double, double, i64, i64, double, ptr, %"class.std::vector.57", i8, i32, i32, ptr, ptr, ptr, ptr, %"class.std::unique_ptr.145", %class.HighsMipAnalysis, %class.HighsTimer }
%"class.std::vector.57" = type { %"struct.std::_Vector_base.58" }
%"struct.std::_Vector_base.58" = 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.145" = type { %"struct.std::__uniq_ptr_data.146" }
%"struct.std::__uniq_ptr_data.146" = type { %"class.std::__uniq_ptr_impl.147" }
%"class.std::__uniq_ptr_impl.147" = type { %"class.std::tuple.148" }
%"class.std::tuple.148" = type { %"struct.std::_Tuple_impl.149" }
%"struct.std::_Tuple_impl.149" = type { %"struct.std::_Head_base.152" }
%"struct.std::_Head_base.152" = type { ptr }
%class.HighsMipAnalysis = type { ptr, %"class.std::__cxx11::basic_string", %struct.HighsTimerClock, i8, %"class.std::vector", %"class.std::vector" }
%struct.HighsTimerClock = type { ptr, %"class.std::vector.13" }
%class.HighsTimer = type <{ ptr, double, i32, [4 x i8], %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.18", i32, i32, i32, [4 x i8] }>
%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.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.120", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %struct.HighsSymmetries, %"class.std::shared_ptr.323", double, double, double, i64, %"class.std::vector", %"class.std::vector", %"class.std::vector", 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", %class.HighsNodeQueue, %struct.HighsPrimaDualIntegral, [8 x i8] }>
%class.HighsCutPool = type { %class.HighsDynamicRowMatrix, %"class.std::vector", %"class.std::vector.166", %"class.std::vector", %"class.std::vector", %"class.std::vector.120", %"class.std::unordered_multimap", %"class.std::vector.190", %"class.std::set", double, double, double, i32, i32, i32, i32, i32, %"class.std::vector.13", %"class.std::vector.135" }
%class.HighsDynamicRowMatrix = type { %"class.std::vector.158", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.120", %"class.std::set", %"class.std::vector.13" }
%"class.std::vector.166" = type { %"struct.std::_Vector_base.167" }
%"struct.std::_Vector_base.167" = 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.171" }
%"class.std::_Hashtable.171" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::vector.190" = type { %"struct.std::_Vector_base.191" }
%"struct.std::_Vector_base.191" = 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.HighsConflictPool = type { i32, i32, %"class.std::vector.13", %"class.std::vector.166", %"class.std::vector.195", %"class.std::vector.200", %"class.std::vector.158", %"class.std::set", %"class.std::vector.13", %"class.std::vector.205" }
%"class.std::vector.195" = type { %"struct.std::_Vector_base.196" }
%"struct.std::_Vector_base.196" = 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.200" = type { %"struct.std::_Vector_base.201" }
%"struct.std::_Vector_base.201" = 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.205" = type { %"struct.std::_Vector_base.206" }
%"struct.std::_Vector_base.206" = 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.HighsDomain = type { %"class.std::vector.120", %"class.std::vector.13", %"class.std::vector.158", %"class.std::vector.200", %"class.std::vector.210", %"class.std::vector.215", %"class.std::vector.140", %"class.std::vector.140", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.120", %"class.std::vector.13", %"struct.HighsDomain::ObjectivePropagation", ptr, %"class.std::deque", %"class.std::deque.233", i8, %"struct.HighsDomain::Reason", i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %class.HighsHashTable.239, i8, %"class.std::vector", %"class.std::vector" }
%"class.std::vector.210" = type { %"struct.std::_Vector_base.211" }
%"struct.std::_Vector_base.211" = 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.215" = type { %"struct.std::_Vector_base.216" }
%"struct.std::_Vector_base.216" = 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 }
%"struct.HighsDomain::ObjectivePropagation" = type { ptr, ptr, ptr, %class.HighsCDouble, i32, double, i8, %"class.std::vector.220", %"class.std::vector.158", %"class.std::vector", %"class.std::vector.225" }
%"class.std::vector.220" = type { %"struct.std::_Vector_base.221" }
%"struct.std::_Vector_base.221" = 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.225" = type { %"struct.std::_Vector_base.226" }
%"struct.std::_Vector_base.226" = 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.233" = type { %"class.std::_Deque_base.234" }
%"class.std::_Deque_base.234" = 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.238", %"struct.std::_Deque_iterator.238" }
%"struct.std::_Deque_iterator.238" = type { ptr, ptr, ptr, ptr }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%class.HighsHashTable.239 = type { %"class.std::unique_ptr.240", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.240" = type { %"struct.std::__uniq_ptr_data.241" }
%"struct.std::__uniq_ptr_data.241" = type { %"class.std::__uniq_ptr_impl.242" }
%"class.std::__uniq_ptr_impl.242" = type { %"class.std::tuple.243" }
%"class.std::tuple.243" = type { %"struct.std::_Tuple_impl.244" }
%"struct.std::_Tuple_impl.244" = type { %"struct.std::_Head_base.247" }
%"struct.std::_Head_base.247" = type { ptr }
%class.HighsLpRelaxation = type <{ ptr, %class.Highs, %"class.std::vector.130", %"class.std::vector.135", %"class.std::vector", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector", %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.33", %class.HighsModel, %class.HighsTimer, %struct.HighsCallback, %class.HighsOptions, %class.HighsInfo, %struct.HighsRanging, %class.HighsIis, %"class.std::vector.57", i32, i32, i8, double, %"class.std::vector", %"class.std::vector", %class.HighsSparseMatrix, %class.HEkk, %struct.HighsPresolveLog, i32, i8, i32, i8, %class.PresolveComponent }
%struct.ICrashInfo = type { i32, double, double, double, double, double, %"class.std::vector.8", %"class.std::vector", double }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = 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.33" = type { %"struct.std::_Vector_base.34" }
%"struct.std::_Vector_base.34" = 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.13", %"class.std::vector.13", %"class.std::vector" }
%struct.HighsCallback = type { %"class.std::function", ptr, ptr, %"class.std::vector.38", %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.38" = 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.42", 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.42" = type { %"struct.std::_Vector_base.43" }
%"struct.std::_Vector_base.43" = 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.47" }
%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.47" = type { %"struct.std::_Vector_base.48" }
%"struct.std::_Vector_base.48" = 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", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13" }
%class.HighsIis = type { i8, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.52" }
%"class.std::vector.52" = type { %"struct.std::_Vector_base.53" }
%"struct.std::_Vector_base.53" = 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.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, %class.HighsRandom, %"class.std::vector", %"class.std::vector", i8, %class.HighsSparseMatrix, %class.HighsSparseMatrix, %class.HSimplexNla, %struct.HotStart, double, double, double, i32, i32, i32, i32, i8, i8, i32, i32, i32, %"class.std::vector.13", %"class.std::vector", %struct.HighsRayRecord, %struct.HighsRayRecord, i32, i32, i32, double, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", double, double, double, i32, i32, i8, i32, i8, i8, i8, i8, double, %"class.std::vector.105", %"class.std::vector", %struct.HighsSimplexStats }
%class.HighsSimplexAnalysis = type { ptr, %"class.std::vector.62", %"class.std::vector.62", 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", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.67", %"class.std::unique_ptr", 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.62" = type { %"struct.std::_Vector_base.63" }
%"struct.std::_Vector_base.63" = 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.67" = type { %"struct.std::_Vector_base.68" }
%"struct.std::_Vector_base.68" = 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" = 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.73" }
%"struct.std::_Head_base.73" = 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", %"class.std::vector.13", 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", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", i32, i32, i8, i8, [6 x i8], %struct.SimplexBasis, i32, i32, i32, [4 x i8], %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", 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.13", %"class.std::vector.74", %"class.std::vector.74", i64, i32, i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = 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 = type { %"class.std::unique_ptr.79", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.79" = type { %"struct.std::__uniq_ptr_data.80" }
%"struct.std::__uniq_ptr_data.80" = type { %"class.std::__uniq_ptr_impl.81" }
%"class.std::__uniq_ptr_impl.81" = type { %"class.std::tuple.82" }
%"class.std::tuple.82" = type { %"struct.std::_Tuple_impl.83" }
%"struct.std::_Tuple_impl.83" = type { %"struct.std::_Head_base.86" }
%"struct.std::_Head_base.86" = 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.13", %"class.std::vector.13", %"class.std::vector.13", %struct.RefactorInfo, i32, i32, i32, i32, i32, i32, i32, double, i8, ptr, ptr, ptr, ptr, double, double, i32, double, %"class.std::unique_ptr.95", %struct.HighsLogOptions, i8, i8, i32, i32, ptr, i32, %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.103", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %class.HVectorBase }
%struct.RefactorInfo = type { i8, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.74", double }
%"class.std::unique_ptr.95" = type { %"struct.std::__uniq_ptr_data.96" }
%"struct.std::__uniq_ptr_data.96" = type { %"class.std::__uniq_ptr_impl.97" }
%"class.std::__uniq_ptr_impl.97" = type { %"class.std::tuple.98" }
%"class.std::tuple.98" = type { %"struct.std::_Tuple_impl.99" }
%"struct.std::_Tuple_impl.99" = type { %"struct.std::_Head_base.102" }
%"struct.std::_Head_base.102" = type { ptr }
%"class.std::vector.103" = type { %"struct.std::_Vector_base.104" }
%"struct.std::_Vector_base.104" = 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.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%struct.SimplexIterate = type { i8, %struct.SimplexBasis, %struct.InvertibleRepresentation, %"class.std::vector" }
%struct.InvertibleRepresentation = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector" }
%struct.HotStart = type { i8, %struct.RefactorInfo, %"class.std::vector.74" }
%struct.HighsRayRecord = type { i32, i32, %"class.std::vector" }
%"class.std::vector.105" = type { %"struct.std::_Vector_base.106" }
%"struct.std::_Vector_base.106" = 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.110" }
%"class.std::vector.110" = type { %"struct.std::_Vector_base.111" }
%"struct.std::_Vector_base.111" = 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.130" = type { %"struct.std::_Vector_base.131" }
%"struct.std::_Vector_base.131" = 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.13", %"class.std::vector", double, %"class.std::vector.103", %"class.std::vector.13", ptr, i8, i32, %"class.std::vector.13", %"class.std::vector" }
%class.HighsSparseVectorSum = type { %"class.std::vector.140", %"class.std::vector.13" }
%"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", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", double, double, double, double, i64, i64, i64, i32, double }
%class.HighsCliqueTable = type { %"class.std::vector.248", %"class.std::vector.253", %"class.std::vector.258", %class.HighsHashTable.263, %"class.std::set", %"class.std::vector.13", %"class.std::vector.272", %"class.std::vector.13", %"class.std::vector.248", %"class.std::vector.13", %"class.std::vector.277", %"class.std::vector.13", %"class.std::vector.282", %"class.std::vector.120", %"class.std::vector.120", %"class.std::vector.195", %"class.std::vector.13", %class.HighsRandom, i32, i32, i32, i32, i8, i64 }
%"class.std::vector.253" = type { %"struct.std::_Vector_base.254" }
%"struct.std::_Vector_base.254" = 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.258" = type { %"struct.std::_Vector_base.259" }
%"struct.std::_Vector_base.259" = 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.263 = type { %"class.std::unique_ptr.264", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.264" = type { %"struct.std::__uniq_ptr_data.265" }
%"struct.std::__uniq_ptr_data.265" = type { %"class.std::__uniq_ptr_impl.266" }
%"class.std::__uniq_ptr_impl.266" = type { %"class.std::tuple.267" }
%"class.std::tuple.267" = type { %"struct.std::_Tuple_impl.268" }
%"struct.std::_Tuple_impl.268" = type { %"struct.std::_Head_base.271" }
%"struct.std::_Head_base.271" = type { ptr }
%"class.std::vector.272" = type { %"struct.std::_Vector_base.273" }
%"struct.std::_Vector_base.273" = 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.248" = type { %"struct.std::_Vector_base.249" }
%"struct.std::_Vector_base.249" = 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.277" = type { %"struct.std::_Vector_base.278" }
%"struct.std::_Vector_base.278" = 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.282" = type { %"struct.std::_Vector_base.283" }
%"struct.std::_Vector_base.283" = 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.287", i64, %"class.std::vector.292", %"class.std::vector.292", ptr, %"class.std::vector.297", %"class.std::vector.120", %"class.std::function.302" }
%"class.std::vector.287" = type { %"struct.std::_Vector_base.288" }
%"struct.std::_Vector_base.288" = 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.292" = type { %"struct.std::_Vector_base.293" }
%"struct.std::_Vector_base.293" = 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.297" = type { %"struct.std::_Vector_base.298" }
%"struct.std::_Vector_base.298" = 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.302" = type { %"class.std::_Function_base", ptr }
%class.HighsPrimalHeuristics = type { ptr, i64, i64, i64, i64, double, i32, double, i32, %class.HighsRandom, %"class.std::vector.13" }
%class.HighsRedcostFixing = type { %"class.std::vector.304", %"class.std::vector.304" }
%"class.std::vector.304" = type { %"struct.std::_Vector_base.305" }
%"struct.std::_Vector_base.305" = 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.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13" }
%"class.presolve::HighsPostsolveStack" = type { i64, double, double, double, double, %class.HighsDataStack, %"class.std::vector.115", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.120", %"class.std::vector.125", %"class.std::vector.125", i32, i32 }
%class.HighsDataStack = type { %"class.std::vector.103", i64 }
%"class.std::vector.115" = type { %"struct.std::_Vector_base.116" }
%"struct.std::_Vector_base.116" = 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.125" = type { %"struct.std::_Vector_base.126" }
%"struct.std::_Vector_base.126" = 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 }
%struct.HighsSymmetries = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.309", %class.HighsHashTable.314, i32, i32 }
%"class.std::vector.309" = type { %"struct.std::_Vector_base.310" }
%"struct.std::_Vector_base.310" = 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.3", %"class.std::vector.3" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = 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.std::pair.362" = type { i32, i32 }
%"struct.std::pair.372" = type { %"class.std::vector.13", %"class.std::vector" }

@.str.51 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [80 x i8], align 1
@__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool = external hidden unnamed_addr constant [132 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [7 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 uwtable
define dso_local void @_ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(21425) %1, ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(680) %4) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca %"class.std::vector.153", align 8
  %15 = alloca ptr, align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca double, align 8
  %19 = alloca double, align 8
  %20 = alloca %"class.std::vector.13", align 8
  %21 = alloca %"class.std::allocator.15", align 1
  %22 = alloca i64, align 8
  %23 = alloca ptr, align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca %"class.std::vector.135", align 8
  %30 = alloca %"struct.std::pair", align 8
  %31 = alloca i32, align 4
  %32 = alloca double, align 8
  %33 = alloca %"class.std::allocator.137", align 1
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca i32, align 4
  %39 = alloca double, align 8
  %40 = alloca i32, align 4
  %41 = alloca %"class.std::vector.135", align 8
  %42 = alloca %"class.std::vector.158", align 8
  %43 = alloca %"class.std::allocator.160", align 1
  %44 = alloca %"class.std::vector.135", align 8
  %45 = alloca %"class.std::vector.158", align 8
  %46 = alloca %"class.std::allocator.160", align 1
  %47 = alloca ptr, align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca %class.HighsCutGeneration, align 8
  %53 = alloca %"class.std::vector.13", align 8
  %54 = alloca %"class.std::vector", align 8
  %55 = alloca i32, align 4
  %56 = alloca [6 x i32], align 16
  %57 = alloca %"class.std::vector.364", align 8
  %58 = alloca %"struct.std::array", align 8
  %59 = alloca i32, align 4
  %60 = alloca i8, align 1
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca %class.anon, align 8
  %64 = alloca i8, align 1
  %65 = alloca double, align 8
  %66 = alloca double, align 8
  %67 = alloca %class.anon.369, align 8
  %68 = alloca %class.anon.370, align 8
  %69 = alloca %class.anon.371, align 8
  %70 = alloca i32, align 4
  %71 = alloca i8, align 1
  %72 = alloca i32, align 4
  %73 = alloca double, align 8
  %74 = alloca double, align 8
  %75 = alloca i32, align 4
  %76 = alloca double, align 8
  %77 = alloca double, align 8
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca double, align 8
  %81 = alloca i32, align 4
  %82 = alloca double, align 8
  %83 = alloca i32, align 4
  %84 = alloca %class.HighsHashTable.314, align 8
  %85 = alloca %"class.std::vector.13", align 8
  %86 = alloca %"class.std::vector", align 8
  %87 = alloca %"class.std::vector", align 8
  %88 = alloca %"class.std::vector.120", align 8
  %89 = alloca %"class.std::vector", align 8
  %90 = alloca %"class.std::allocator.0", align 1
  %91 = alloca %"class.std::vector", align 8
  %92 = alloca %"class.std::vector", align 8
  %93 = alloca double, align 8
  %94 = alloca i32, align 4
  %95 = alloca i8, align 1
  %96 = alloca double, align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca ptr, align 8
  %101 = alloca i8, align 1
  %102 = alloca double, align 8
  %103 = alloca double, align 8
  %104 = alloca i32, align 4
  %105 = alloca %class.HighsCDouble, align 8
  %106 = alloca %"class.std::vector", align 8
  %107 = alloca %"class.std::allocator.0", align 1
  %108 = alloca %"class.std::vector", align 8
  %109 = alloca %"class.std::allocator.0", align 1
  %110 = alloca %"class.std::vector.140", align 8
  %111 = alloca %"class.std::allocator.142", align 1
  %112 = alloca %"class.std::vector.140", align 8
  %113 = alloca %"class.std::allocator.142", align 1
  %114 = alloca double, align 8
  %115 = alloca double, align 8
  %116 = alloca i32, align 4
  %117 = alloca double, align 8
  %118 = alloca %class.HighsCDouble, align 8
  %119 = alloca %class.HighsCDouble, align 8
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca double, align 8
  %124 = alloca double, align 8
  %125 = alloca double, align 8
  %126 = alloca %class.HighsCDouble, align 8
  %127 = alloca %class.HighsCDouble, align 8
  %128 = alloca %class.HighsCDouble, align 8
  %129 = alloca double, align 8
  %130 = alloca i32, align 4
  %131 = alloca double, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  store ptr %4, ptr %10, align 8, !tbaa !5
  %134 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #9
  %135 = load ptr, ptr %7, align 8, !tbaa !5
  %136 = call noundef nonnull align 8 dereferenceable(496) ptr @_ZNK17HighsLpRelaxation12getMipSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %135)
  store ptr %136, ptr %11, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  %137 = load ptr, ptr %7, align 8, !tbaa !5
  %138 = call noundef nonnull align 8 dereferenceable(920) ptr @_ZNK17HighsLpRelaxation5getLpEv(ptr noundef nonnull align 8 dereferenceable(21425) %137)
  store ptr %138, ptr %12, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %139 = load ptr, ptr %7, align 8, !tbaa !5
  %140 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %139)
  store ptr %140, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #9
  call void @_ZNSt6vectorI7RowTypeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  %141 = load ptr, ptr %12, align 8, !tbaa !5
  %142 = getelementptr inbounds %class.HighsLp, ptr %141, i32 0, i32 1
  %143 = load i32, ptr %142, align 4, !tbaa !9
  %144 = sext i32 %143 to i64
  invoke void @_ZNSt6vectorI7RowTypeSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %144)
          to label %145 unwind label %153

145:                                              ; preds = %5
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  store i32 0, ptr %17, align 4, !tbaa !44
  br label %146

146:                                              ; preds = %253, %145
  %147 = load i32, ptr %17, align 4, !tbaa !44
  %148 = load ptr, ptr %12, align 8, !tbaa !5
  %149 = getelementptr inbounds %class.HighsLp, ptr %148, i32 0, i32 1
  %150 = load i32, ptr %149, align 4, !tbaa !9
  %151 = icmp ne i32 %147, %150
  br i1 %151, label %157, label %152

152:                                              ; preds = %146
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %256

153:                                              ; preds = %5
  %154 = landingpad { ptr, i32 }
          cleanup
  %155 = extractvalue { ptr, i32 } %154, 0
  store ptr %155, ptr %15, align 8
  %156 = extractvalue { ptr, i32 } %154, 1
  store i32 %156, ptr %16, align 4
  br label %1824

157:                                              ; preds = %146
  %158 = load ptr, ptr %12, align 8, !tbaa !5
  %159 = getelementptr inbounds %class.HighsLp, ptr %158, i32 0, i32 5
  %160 = load i32, ptr %17, align 4, !tbaa !44
  %161 = sext i32 %160 to i64
  %162 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %159, i64 noundef %161) #9
  %163 = load double, ptr %162, align 8, !tbaa !45
  %164 = load ptr, ptr %12, align 8, !tbaa !5
  %165 = getelementptr inbounds %class.HighsLp, ptr %164, i32 0, i32 6
  %166 = load i32, ptr %17, align 4, !tbaa !44
  %167 = sext i32 %166 to i64
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %165, i64 noundef %167) #9
  %169 = load double, ptr %168, align 8, !tbaa !45
  %170 = fcmp oeq double %163, %169
  br i1 %170, label %171, label %175

171:                                              ; preds = %157
  %172 = load i32, ptr %17, align 4, !tbaa !44
  %173 = sext i32 %172 to i64
  %174 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %173) #9
  store i8 0, ptr %174, align 1, !tbaa !46
  br label %253

175:                                              ; preds = %157
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #9
  store double 0x7FF0000000000000, ptr %18, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #9
  store double 0x7FF0000000000000, ptr %19, align 8, !tbaa !45
  %176 = load ptr, ptr %12, align 8, !tbaa !5
  %177 = getelementptr inbounds %class.HighsLp, ptr %176, i32 0, i32 5
  %178 = load i32, ptr %17, align 4, !tbaa !44
  %179 = sext i32 %178 to i64
  %180 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %177, i64 noundef %179) #9
  %181 = load double, ptr %180, align 8, !tbaa !45
  %182 = fcmp une double %181, 0xFFF0000000000000
  br i1 %182, label %183, label %197

183:                                              ; preds = %175
  %184 = load ptr, ptr %13, align 8, !tbaa !5
  %185 = getelementptr inbounds %struct.HighsSolution, ptr %184, i32 0, i32 4
  %186 = load i32, ptr %17, align 4, !tbaa !44
  %187 = sext i32 %186 to i64
  %188 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %185, i64 noundef %187) #9
  %189 = load double, ptr %188, align 8, !tbaa !45
  %190 = load ptr, ptr %12, align 8, !tbaa !5
  %191 = getelementptr inbounds %class.HighsLp, ptr %190, i32 0, i32 5
  %192 = load i32, ptr %17, align 4, !tbaa !44
  %193 = sext i32 %192 to i64
  %194 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %191, i64 noundef %193) #9
  %195 = load double, ptr %194, align 8, !tbaa !45
  %196 = fsub double %189, %195
  store double %196, ptr %18, align 8, !tbaa !45
  br label %197

197:                                              ; preds = %183, %175
  %198 = load ptr, ptr %12, align 8, !tbaa !5
  %199 = getelementptr inbounds %class.HighsLp, ptr %198, i32 0, i32 6
  %200 = load i32, ptr %17, align 4, !tbaa !44
  %201 = sext i32 %200 to i64
  %202 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %199, i64 noundef %201) #9
  %203 = load double, ptr %202, align 8, !tbaa !45
  %204 = fcmp une double %203, 0x7FF0000000000000
  br i1 %204, label %205, label %219

205:                                              ; preds = %197
  %206 = load ptr, ptr %12, align 8, !tbaa !5
  %207 = getelementptr inbounds %class.HighsLp, ptr %206, i32 0, i32 6
  %208 = load i32, ptr %17, align 4, !tbaa !44
  %209 = sext i32 %208 to i64
  %210 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %207, i64 noundef %209) #9
  %211 = load double, ptr %210, align 8, !tbaa !45
  %212 = load ptr, ptr %13, align 8, !tbaa !5
  %213 = getelementptr inbounds %struct.HighsSolution, ptr %212, i32 0, i32 4
  %214 = load i32, ptr %17, align 4, !tbaa !44
  %215 = sext i32 %214 to i64
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %215) #9
  %217 = load double, ptr %216, align 8, !tbaa !45
  %218 = fsub double %211, %217
  store double %218, ptr %19, align 8, !tbaa !45
  br label %219

219:                                              ; preds = %205, %197
  %220 = load double, ptr %18, align 8, !tbaa !45
  %221 = load ptr, ptr %11, align 8, !tbaa !5
  %222 = getelementptr inbounds %class.HighsMipSolver, ptr %221, i32 0, i32 25
  %223 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %222) #9
  %224 = getelementptr inbounds %struct.HighsMipSolverData, ptr %223, i32 0, i32 40
  %225 = load double, ptr %224, align 8, !tbaa !48
  %226 = fcmp ogt double %220, %225
  br i1 %226, label %227, label %239

227:                                              ; preds = %219
  %228 = load double, ptr %19, align 8, !tbaa !45
  %229 = load ptr, ptr %11, align 8, !tbaa !5
  %230 = getelementptr inbounds %class.HighsMipSolver, ptr %229, i32 0, i32 25
  %231 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %230) #9
  %232 = getelementptr inbounds %struct.HighsMipSolverData, ptr %231, i32 0, i32 40
  %233 = load double, ptr %232, align 8, !tbaa !48
  %234 = fcmp ogt double %228, %233
  br i1 %234, label %235, label %239

235:                                              ; preds = %227
  %236 = load i32, ptr %17, align 4, !tbaa !44
  %237 = sext i32 %236 to i64
  %238 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %237) #9
  store i8 -2, ptr %238, align 1, !tbaa !46
  br label %252

239:                                              ; preds = %227, %219
  %240 = load double, ptr %18, align 8, !tbaa !45
  %241 = load double, ptr %19, align 8, !tbaa !45
  %242 = fcmp olt double %240, %241
  br i1 %242, label %243, label %247

243:                                              ; preds = %239
  %244 = load i32, ptr %17, align 4, !tbaa !44
  %245 = sext i32 %244 to i64
  %246 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %245) #9
  store i8 -1, ptr %246, align 1, !tbaa !46
  br label %251

247:                                              ; preds = %239
  %248 = load i32, ptr %17, align 4, !tbaa !44
  %249 = sext i32 %248 to i64
  %250 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %249) #9
  store i8 1, ptr %250, align 1, !tbaa !46
  br label %251

251:                                              ; preds = %247, %243
  br label %252

252:                                              ; preds = %251, %235
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #9
  br label %253

253:                                              ; preds = %252, %171
  %254 = load i32, ptr %17, align 4, !tbaa !44
  %255 = add nsw i32 %254, 1
  store i32 %255, ptr %17, align 4, !tbaa !44
  br label %146, !llvm.loop !383

256:                                              ; preds = %152
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #9
  %257 = load ptr, ptr %12, align 8, !tbaa !5
  %258 = getelementptr inbounds %class.HighsLp, ptr %257, i32 0, i32 1
  %259 = load i32, ptr %258, align 4, !tbaa !9
  %260 = sext i32 %259 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %21) #9
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %260, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %261 unwind label %275

261:                                              ; preds = %256
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  store i64 0, ptr %22, align 8, !tbaa !385
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  %262 = load ptr, ptr %11, align 8, !tbaa !5
  %263 = getelementptr inbounds %class.HighsMipSolver, ptr %262, i32 0, i32 25
  %264 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %263) #9
  %265 = getelementptr inbounds %struct.HighsMipSolverData, ptr %264, i32 0, i32 37
  store ptr %265, ptr %23, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  %266 = load ptr, ptr %23, align 8, !tbaa !5
  %267 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %266) #9
  %268 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %24, i32 0, i32 0
  store ptr %267, ptr %268, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #9
  %269 = load ptr, ptr %23, align 8, !tbaa !5
  %270 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %269) #9
  %271 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %25, i32 0, i32 0
  store ptr %270, ptr %271, align 8
  br label %272

272:                                              ; preds = %350, %261
  %273 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #9
  br i1 %273, label %279, label %274

274:                                              ; preds = %272
  store i32 5, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  br label %352

275:                                              ; preds = %256
  %276 = landingpad { ptr, i32 }
          cleanup
  %277 = extractvalue { ptr, i32 } %276, 0
  store ptr %277, ptr %15, align 8
  %278 = extractvalue { ptr, i32 } %276, 1
  store i32 %278, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %21) #9
  br label %1823

279:                                              ; preds = %272
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %280 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #9
  %281 = load i32, ptr %280, align 4, !tbaa !44
  store i32 %281, ptr %27, align 4, !tbaa !44
  %282 = load ptr, ptr %9, align 8, !tbaa !5
  %283 = load i32, ptr %27, align 4, !tbaa !44
  %284 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %282, i32 noundef %283)
          to label %285 unwind label %288

285:                                              ; preds = %279
  %286 = fcmp oeq double %284, 0.000000e+00
  br i1 %286, label %287, label %292

287:                                              ; preds = %285
  store i32 6, ptr %26, align 4
  br label %347

288:                                              ; preds = %279
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %15, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  br label %1822

292:                                              ; preds = %285
  %293 = load ptr, ptr %12, align 8, !tbaa !5
  %294 = getelementptr inbounds %class.HighsLp, ptr %293, i32 0, i32 7
  %295 = getelementptr inbounds %class.HighsSparseMatrix, ptr %294, i32 0, i32 3
  %296 = load i32, ptr %27, align 4, !tbaa !44
  %297 = add nsw i32 %296, 1
  %298 = sext i32 %297 to i64
  %299 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %295, i64 noundef %298) #9
  %300 = load i32, ptr %299, align 4, !tbaa !44
  %301 = load ptr, ptr %12, align 8, !tbaa !5
  %302 = getelementptr inbounds %class.HighsLp, ptr %301, i32 0, i32 7
  %303 = getelementptr inbounds %class.HighsSparseMatrix, ptr %302, i32 0, i32 3
  %304 = load i32, ptr %27, align 4, !tbaa !44
  %305 = sext i32 %304 to i64
  %306 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %303, i64 noundef %305) #9
  %307 = load i32, ptr %306, align 4, !tbaa !44
  %308 = sub nsw i32 %300, %307
  %309 = sext i32 %308 to i64
  %310 = load i64, ptr %22, align 8, !tbaa !385
  %311 = add i64 %310, %309
  store i64 %311, ptr %22, align 8, !tbaa !385
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  %312 = load ptr, ptr %12, align 8, !tbaa !5
  %313 = getelementptr inbounds %class.HighsLp, ptr %312, i32 0, i32 7
  %314 = getelementptr inbounds %class.HighsSparseMatrix, ptr %313, i32 0, i32 3
  %315 = load i32, ptr %27, align 4, !tbaa !44
  %316 = sext i32 %315 to i64
  %317 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %316) #9
  %318 = load i32, ptr %317, align 4, !tbaa !44
  store i32 %318, ptr %28, align 4, !tbaa !44
  br label %319

319:                                              ; preds = %343, %292
  %320 = load i32, ptr %28, align 4, !tbaa !44
  %321 = load ptr, ptr %12, align 8, !tbaa !5
  %322 = getelementptr inbounds %class.HighsLp, ptr %321, i32 0, i32 7
  %323 = getelementptr inbounds %class.HighsSparseMatrix, ptr %322, i32 0, i32 3
  %324 = load i32, ptr %27, align 4, !tbaa !44
  %325 = add nsw i32 %324, 1
  %326 = sext i32 %325 to i64
  %327 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %323, i64 noundef %326) #9
  %328 = load i32, ptr %327, align 4, !tbaa !44
  %329 = icmp ne i32 %320, %328
  br i1 %329, label %331, label %330

330:                                              ; preds = %319
  store i32 7, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %346

331:                                              ; preds = %319
  %332 = load ptr, ptr %12, align 8, !tbaa !5
  %333 = getelementptr inbounds %class.HighsLp, ptr %332, i32 0, i32 7
  %334 = getelementptr inbounds %class.HighsSparseMatrix, ptr %333, i32 0, i32 5
  %335 = load i32, ptr %28, align 4, !tbaa !44
  %336 = sext i32 %335 to i64
  %337 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %334, i64 noundef %336) #9
  %338 = load i32, ptr %337, align 4, !tbaa !44
  %339 = sext i32 %338 to i64
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %339) #9
  %341 = load i32, ptr %340, align 4, !tbaa !44
  %342 = add nsw i32 %341, 1
  store i32 %342, ptr %340, align 4, !tbaa !44
  br label %343

343:                                              ; preds = %331
  %344 = load i32, ptr %28, align 4, !tbaa !44
  %345 = add nsw i32 %344, 1
  store i32 %345, ptr %28, align 4, !tbaa !44
  br label %319, !llvm.loop !386

346:                                              ; preds = %330
  store i32 0, ptr %26, align 4
  br label %347

347:                                              ; preds = %346, %287
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  %348 = load i32, ptr %26, align 4
  switch i32 %348, label %1830 [
    i32 0, label %349
    i32 6, label %350
  ]

349:                                              ; preds = %347
  br label %350

350:                                              ; preds = %349, %347
  %351 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %24) #9
  br label %272

352:                                              ; preds = %274
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #9
  %353 = load ptr, ptr %12, align 8, !tbaa !5
  %354 = getelementptr inbounds %class.HighsLp, ptr %353, i32 0, i32 0
  %355 = load i32, ptr %354, align 8, !tbaa !387
  %356 = sext i32 %355 to i64
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  store i32 -1, ptr %31, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  store double 0.000000e+00, ptr %32, align 8, !tbaa !45
  %357 = invoke { i32, double } @_ZSt9make_pairIidESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS1_INS2_IT0_E4typeEE6__typeEEOS3_OS8_(ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 8 dereferenceable(8) %32)
          to label %358 unwind label %371

358:                                              ; preds = %352
  %359 = getelementptr inbounds { i32, double }, ptr %30, i32 0, i32 0
  %360 = extractvalue { i32, double } %357, 0
  store i32 %360, ptr %359, align 8
  %361 = getelementptr inbounds { i32, double }, ptr %30, i32 0, i32 1
  %362 = extractvalue { i32, double } %357, 1
  store double %362, ptr %361, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #9
  call void @_ZNSaISt4pairIidEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %356, ptr noundef nonnull align 8 dereferenceable(16) %30, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %363 unwind label %375

363:                                              ; preds = %358
  call void @_ZNSt15__new_allocatorISt4pairIidEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  store i32 0, ptr %34, align 4, !tbaa !44
  br label %364

364:                                              ; preds = %500, %363
  %365 = load i32, ptr %34, align 4, !tbaa !44
  %366 = load ptr, ptr %12, align 8, !tbaa !5
  %367 = getelementptr inbounds %class.HighsLp, ptr %366, i32 0, i32 1
  %368 = load i32, ptr %367, align 4, !tbaa !9
  %369 = icmp ne i32 %365, %368
  br i1 %369, label %380, label %370

370:                                              ; preds = %364
  store i32 10, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %505

371:                                              ; preds = %352
  %372 = landingpad { ptr, i32 }
          cleanup
  %373 = extractvalue { ptr, i32 } %372, 0
  store ptr %373, ptr %15, align 8
  %374 = extractvalue { ptr, i32 } %372, 1
  store i32 %374, ptr %16, align 4
  br label %379

375:                                              ; preds = %358
  %376 = landingpad { ptr, i32 }
          cleanup
  %377 = extractvalue { ptr, i32 } %376, 0
  store ptr %377, ptr %15, align 8
  %378 = extractvalue { ptr, i32 } %376, 1
  store i32 %378, ptr %16, align 4
  call void @_ZNSt15__new_allocatorISt4pairIidEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %33) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #9
  br label %379

379:                                              ; preds = %375, %371
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #9
  br label %1821

380:                                              ; preds = %364
  %381 = load i32, ptr %34, align 4, !tbaa !44
  %382 = sext i32 %381 to i64
  %383 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %382) #9
  %384 = load i8, ptr %383, align 1, !tbaa !46
  %385 = icmp ne i8 %384, 0
  br i1 %385, label %392, label %386

386:                                              ; preds = %380
  %387 = load i32, ptr %34, align 4, !tbaa !44
  %388 = sext i32 %387 to i64
  %389 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %388) #9
  %390 = load i32, ptr %389, align 4, !tbaa !44
  %391 = icmp ne i32 %390, 1
  br i1 %391, label %392, label %393

392:                                              ; preds = %386, %380
  br label %500

393:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #9
  %394 = load ptr, ptr %7, align 8, !tbaa !5
  %395 = load i32, ptr %34, align 4, !tbaa !44
  invoke void @_ZNK17HighsLpRelaxation6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(21425) %394, i32 noundef %395, ptr noundef nonnull align 4 dereferenceable(4) %35, ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37)
          to label %396 unwind label %402

396:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  store i32 -1, ptr %38, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %39) #9
  store double 0.000000e+00, ptr %39, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  store i32 0, ptr %40, align 4, !tbaa !44
  br label %397

397:                                              ; preds = %443, %396
  %398 = load i32, ptr %40, align 4, !tbaa !44
  %399 = load i32, ptr %35, align 4, !tbaa !44
  %400 = icmp ne i32 %398, %399
  br i1 %400, label %406, label %401

401:                                              ; preds = %397
  store i32 13, ptr %26, align 4
  br label %446

402:                                              ; preds = %393
  %403 = landingpad { ptr, i32 }
          cleanup
  %404 = extractvalue { ptr, i32 } %403, 0
  store ptr %404, ptr %15, align 8
  %405 = extractvalue { ptr, i32 } %403, 1
  store i32 %405, ptr %16, align 4
  br label %504

406:                                              ; preds = %397
  %407 = load ptr, ptr %11, align 8, !tbaa !5
  %408 = load ptr, ptr %36, align 8, !tbaa !5
  %409 = load i32, ptr %40, align 4, !tbaa !44
  %410 = sext i32 %409 to i64
  %411 = getelementptr inbounds i32, ptr %408, i64 %410
  %412 = load i32, ptr %411, align 4, !tbaa !44
  %413 = invoke noundef zeroext i8 @_ZNK14HighsMipSolver12variableTypeEi(ptr noundef nonnull align 8 dereferenceable(496) %407, i32 noundef %412)
          to label %414 unwind label %417

414:                                              ; preds = %406
  %415 = icmp ne i8 %413, 0
  br i1 %415, label %416, label %421

416:                                              ; preds = %414
  br label %443

417:                                              ; preds = %421, %406
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %15, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %503

421:                                              ; preds = %414
  %422 = load ptr, ptr %9, align 8, !tbaa !5
  %423 = load ptr, ptr %36, align 8, !tbaa !5
  %424 = load i32, ptr %40, align 4, !tbaa !44
  %425 = sext i32 %424 to i64
  %426 = getelementptr inbounds i32, ptr %423, i64 %425
  %427 = load i32, ptr %426, align 4, !tbaa !44
  %428 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %422, i32 noundef %427)
          to label %429 unwind label %417

429:                                              ; preds = %421
  %430 = fcmp oeq double %428, 0.000000e+00
  br i1 %430, label %431, label %432

431:                                              ; preds = %429
  br label %443

432:                                              ; preds = %429
  %433 = load ptr, ptr %36, align 8, !tbaa !5
  %434 = load i32, ptr %40, align 4, !tbaa !44
  %435 = sext i32 %434 to i64
  %436 = getelementptr inbounds i32, ptr %433, i64 %435
  %437 = load i32, ptr %436, align 4, !tbaa !44
  store i32 %437, ptr %38, align 4, !tbaa !44
  %438 = load ptr, ptr %37, align 8, !tbaa !5
  %439 = load i32, ptr %40, align 4, !tbaa !44
  %440 = sext i32 %439 to i64
  %441 = getelementptr inbounds double, ptr %438, i64 %440
  %442 = load double, ptr %441, align 8, !tbaa !45
  store double %442, ptr %39, align 8, !tbaa !45
  store i32 13, ptr %26, align 4
  br label %446

443:                                              ; preds = %431, %416
  %444 = load i32, ptr %40, align 4, !tbaa !44
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr %40, align 4, !tbaa !44
  br label %397, !llvm.loop !388

446:                                              ; preds = %432, %401
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %447

447:                                              ; preds = %446
  %448 = load i32, ptr %38, align 4, !tbaa !44
  %449 = icmp ne i32 %448, -1
  br i1 %449, label %450, label %451

450:                                              ; preds = %447
  br label %453

451:                                              ; preds = %447
  call void @__assert_fail(ptr noundef @.str.51, ptr noundef @.str.52, i32 noundef 98, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

452:                                              ; No predecessors!
  br label %453

453:                                              ; preds = %452, %450
  %454 = load ptr, ptr %11, align 8, !tbaa !5
  %455 = load i32, ptr %38, align 4, !tbaa !44
  %456 = invoke noundef zeroext i8 @_ZNK14HighsMipSolver12variableTypeEi(ptr noundef nonnull align 8 dereferenceable(496) %454, i32 noundef %455)
          to label %457 unwind label %461

457:                                              ; preds = %453
  %458 = icmp eq i8 %456, 0
  br i1 %458, label %459, label %460

459:                                              ; preds = %457
  br label %466

460:                                              ; preds = %457
  call void @__assert_fail(ptr noundef @.str.53, ptr noundef @.str.52, i32 noundef 99, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

461:                                              ; preds = %466, %453
  %462 = landingpad { ptr, i32 }
          cleanup
  %463 = extractvalue { ptr, i32 } %462, 0
  store ptr %463, ptr %15, align 8
  %464 = extractvalue { ptr, i32 } %462, 1
  store i32 %464, ptr %16, align 4
  br label %503

465:                                              ; No predecessors!
  br label %466

466:                                              ; preds = %465, %459
  %467 = load ptr, ptr %9, align 8, !tbaa !5
  %468 = load i32, ptr %38, align 4, !tbaa !44
  %469 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %467, i32 noundef %468)
          to label %470 unwind label %461

470:                                              ; preds = %466
  %471 = fcmp ogt double %469, 0.000000e+00
  br i1 %471, label %472, label %473

472:                                              ; preds = %470
  br label %475

473:                                              ; preds = %470
  call void @__assert_fail(ptr noundef @.str.54, ptr noundef @.str.52, i32 noundef 100, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

474:                                              ; No predecessors!
  br label %475

475:                                              ; preds = %474, %472
  %476 = load i32, ptr %38, align 4, !tbaa !44
  %477 = sext i32 %476 to i64
  %478 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %477) #9
  %479 = getelementptr inbounds %"struct.std::pair", ptr %478, i32 0, i32 0
  %480 = load i32, ptr %479, align 8, !tbaa !389
  %481 = icmp ne i32 %480, -1
  br i1 %481, label %482, label %483

482:                                              ; preds = %475
  store i32 12, ptr %26, align 4
  br label %497

483:                                              ; preds = %475
  %484 = load i32, ptr %34, align 4, !tbaa !44
  %485 = load i32, ptr %38, align 4, !tbaa !44
  %486 = sext i32 %485 to i64
  %487 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %486) #9
  %488 = getelementptr inbounds %"struct.std::pair", ptr %487, i32 0, i32 0
  store i32 %484, ptr %488, align 8, !tbaa !389
  %489 = load double, ptr %39, align 8, !tbaa !45
  %490 = load i32, ptr %38, align 4, !tbaa !44
  %491 = sext i32 %490 to i64
  %492 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %491) #9
  %493 = getelementptr inbounds %"struct.std::pair", ptr %492, i32 0, i32 1
  store double %489, ptr %493, align 8, !tbaa !391
  %494 = load i32, ptr %34, align 4, !tbaa !44
  %495 = sext i32 %494 to i64
  %496 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %495) #9
  store i8 -2, ptr %496, align 1, !tbaa !46
  store i32 0, ptr %26, align 4
  br label %497

497:                                              ; preds = %483, %482
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  %498 = load i32, ptr %26, align 4
  switch i32 %498, label %1830 [
    i32 0, label %499
    i32 12, label %500
  ]

499:                                              ; preds = %497
  br label %500

500:                                              ; preds = %499, %497, %392
  %501 = load i32, ptr %34, align 4, !tbaa !44
  %502 = add nsw i32 %501, 1
  store i32 %502, ptr %34, align 4, !tbaa !44
  br label %364, !llvm.loop !392

503:                                              ; preds = %461, %417
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %504

504:                                              ; preds = %503, %402
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1820

505:                                              ; preds = %370
  call void @llvm.lifetime.start.p0(i64 24, ptr %41) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  %506 = load i64, ptr %22, align 8, !tbaa !385
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %506)
          to label %507 unwind label %533

507:                                              ; preds = %505
  call void @llvm.lifetime.start.p0(i64 24, ptr %42) #9
  %508 = load ptr, ptr %12, align 8, !tbaa !5
  %509 = getelementptr inbounds %class.HighsLp, ptr %508, i32 0, i32 0
  %510 = load i32, ptr %509, align 8, !tbaa !387
  %511 = sext i32 %510 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #9
  call void @_ZNSaISt4pairIiiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %511, ptr noundef nonnull align 1 dereferenceable(1) %43)
          to label %512 unwind label %537

512:                                              ; preds = %507
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  %513 = load i64, ptr %22, align 8, !tbaa !385
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef %513)
          to label %514 unwind label %541

514:                                              ; preds = %512
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #9
  %515 = load ptr, ptr %12, align 8, !tbaa !5
  %516 = getelementptr inbounds %class.HighsLp, ptr %515, i32 0, i32 0
  %517 = load i32, ptr %516, align 8, !tbaa !387
  %518 = sext i32 %517 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #9
  call void @_ZNSaISt4pairIiiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #9
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef %518, ptr noundef nonnull align 1 dereferenceable(1) %46)
          to label %519 unwind label %545

519:                                              ; preds = %514
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #9
  %520 = load ptr, ptr %11, align 8, !tbaa !5
  %521 = getelementptr inbounds %class.HighsMipSolver, ptr %520, i32 0, i32 25
  %522 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %521) #9
  %523 = getelementptr inbounds %struct.HighsMipSolverData, ptr %522, i32 0, i32 37
  store ptr %523, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #9
  %524 = load ptr, ptr %47, align 8, !tbaa !5
  %525 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %524) #9
  %526 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %48, i32 0, i32 0
  store ptr %525, ptr %526, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #9
  %527 = load ptr, ptr %47, align 8, !tbaa !5
  %528 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %527) #9
  %529 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %49, i32 0, i32 0
  store ptr %528, ptr %529, align 8
  br label %530

530:                                              ; preds = %747, %519
  %531 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %49) #9
  br i1 %531, label %549, label %532

532:                                              ; preds = %530
  store i32 16, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %750

533:                                              ; preds = %505
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %15, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %16, align 4
  br label %1819

537:                                              ; preds = %507
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %15, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %16, align 4
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %43) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #9
  br label %1818

541:                                              ; preds = %512
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %15, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %16, align 4
  br label %1817

545:                                              ; preds = %514
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %15, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %16, align 4
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %46) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #9
  br label %1816

549:                                              ; preds = %530
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %550 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  %551 = load i32, ptr %550, align 4, !tbaa !44
  store i32 %551, ptr %50, align 4, !tbaa !44
  %552 = load ptr, ptr %9, align 8, !tbaa !5
  %553 = load i32, ptr %50, align 4, !tbaa !44
  %554 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %552, i32 noundef %553)
          to label %555 unwind label %558

555:                                              ; preds = %549
  %556 = fcmp oeq double %554, 0.000000e+00
  br i1 %556, label %557, label %562

557:                                              ; preds = %555
  store i32 17, ptr %26, align 4
  br label %744

558:                                              ; preds = %549
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %15, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %16, align 4
  br label %749

562:                                              ; preds = %555
  %563 = load i32, ptr %50, align 4, !tbaa !44
  %564 = sext i32 %563 to i64
  %565 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %564) #9
  %566 = getelementptr inbounds %"struct.std::pair", ptr %565, i32 0, i32 0
  %567 = load i32, ptr %566, align 8, !tbaa !389
  %568 = icmp ne i32 %567, -1
  br i1 %568, label %569, label %570

569:                                              ; preds = %562
  store i32 17, ptr %26, align 4
  br label %744

570:                                              ; preds = %562
  %571 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  %572 = trunc i64 %571 to i32
  %573 = load i32, ptr %50, align 4, !tbaa !44
  %574 = sext i32 %573 to i64
  %575 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %574) #9
  %576 = getelementptr inbounds %"struct.std::pair.362", ptr %575, i32 0, i32 0
  store i32 %572, ptr %576, align 4, !tbaa !393
  %577 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  %578 = trunc i64 %577 to i32
  %579 = load i32, ptr %50, align 4, !tbaa !44
  %580 = sext i32 %579 to i64
  %581 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef %580) #9
  %582 = getelementptr inbounds %"struct.std::pair.362", ptr %581, i32 0, i32 0
  store i32 %578, ptr %582, align 4, !tbaa !393
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %583 = load ptr, ptr %12, align 8, !tbaa !5
  %584 = getelementptr inbounds %class.HighsLp, ptr %583, i32 0, i32 7
  %585 = getelementptr inbounds %class.HighsSparseMatrix, ptr %584, i32 0, i32 3
  %586 = load i32, ptr %50, align 4, !tbaa !44
  %587 = sext i32 %586 to i64
  %588 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %585, i64 noundef %587) #9
  %589 = load i32, ptr %588, align 4, !tbaa !44
  store i32 %589, ptr %51, align 4, !tbaa !44
  br label %590

590:                                              ; preds = %728, %570
  %591 = load i32, ptr %51, align 4, !tbaa !44
  %592 = load ptr, ptr %12, align 8, !tbaa !5
  %593 = getelementptr inbounds %class.HighsLp, ptr %592, i32 0, i32 7
  %594 = getelementptr inbounds %class.HighsSparseMatrix, ptr %593, i32 0, i32 3
  %595 = load i32, ptr %50, align 4, !tbaa !44
  %596 = add nsw i32 %595, 1
  %597 = sext i32 %596 to i64
  %598 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %594, i64 noundef %597) #9
  %599 = load i32, ptr %598, align 4, !tbaa !44
  %600 = icmp ne i32 %591, %599
  br i1 %600, label %602, label %601

601:                                              ; preds = %590
  store i32 18, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %731

602:                                              ; preds = %590
  %603 = load ptr, ptr %12, align 8, !tbaa !5
  %604 = getelementptr inbounds %class.HighsLp, ptr %603, i32 0, i32 7
  %605 = getelementptr inbounds %class.HighsSparseMatrix, ptr %604, i32 0, i32 5
  %606 = load i32, ptr %51, align 4, !tbaa !44
  %607 = sext i32 %606 to i64
  %608 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %605, i64 noundef %607) #9
  %609 = load i32, ptr %608, align 4, !tbaa !44
  %610 = sext i32 %609 to i64
  %611 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %610) #9
  %612 = load i8, ptr %611, align 1, !tbaa !46
  switch i8 %612, label %727 [
    i8 -2, label %613
    i8 1, label %614
    i8 -1, label %658
    i8 0, label %698
  ]

613:                                              ; preds = %602
  br label %728

614:                                              ; preds = %602
  %615 = load ptr, ptr %12, align 8, !tbaa !5
  %616 = getelementptr inbounds %class.HighsLp, ptr %615, i32 0, i32 7
  %617 = getelementptr inbounds %class.HighsSparseMatrix, ptr %616, i32 0, i32 6
  %618 = load i32, ptr %51, align 4, !tbaa !44
  %619 = sext i32 %618 to i64
  %620 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %617, i64 noundef %619) #9
  %621 = load double, ptr %620, align 8, !tbaa !45
  %622 = fcmp olt double %621, 0.000000e+00
  br i1 %622, label %623, label %642

623:                                              ; preds = %614
  %624 = load ptr, ptr %12, align 8, !tbaa !5
  %625 = getelementptr inbounds %class.HighsLp, ptr %624, i32 0, i32 7
  %626 = getelementptr inbounds %class.HighsSparseMatrix, ptr %625, i32 0, i32 5
  %627 = load i32, ptr %51, align 4, !tbaa !44
  %628 = sext i32 %627 to i64
  %629 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %626, i64 noundef %628) #9
  %630 = load ptr, ptr %12, align 8, !tbaa !5
  %631 = getelementptr inbounds %class.HighsLp, ptr %630, i32 0, i32 7
  %632 = getelementptr inbounds %class.HighsSparseMatrix, ptr %631, i32 0, i32 6
  %633 = load i32, ptr %51, align 4, !tbaa !44
  %634 = sext i32 %633 to i64
  %635 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %632, i64 noundef %634) #9
  %636 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %629, ptr noundef nonnull align 8 dereferenceable(8) %635)
          to label %637 unwind label %638

637:                                              ; preds = %623
  br label %657

638:                                              ; preds = %712, %698, %682, %667, %642, %623
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %15, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %749

642:                                              ; preds = %614
  %643 = load ptr, ptr %12, align 8, !tbaa !5
  %644 = getelementptr inbounds %class.HighsLp, ptr %643, i32 0, i32 7
  %645 = getelementptr inbounds %class.HighsSparseMatrix, ptr %644, i32 0, i32 5
  %646 = load i32, ptr %51, align 4, !tbaa !44
  %647 = sext i32 %646 to i64
  %648 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %645, i64 noundef %647) #9
  %649 = load ptr, ptr %12, align 8, !tbaa !5
  %650 = getelementptr inbounds %class.HighsLp, ptr %649, i32 0, i32 7
  %651 = getelementptr inbounds %class.HighsSparseMatrix, ptr %650, i32 0, i32 6
  %652 = load i32, ptr %51, align 4, !tbaa !44
  %653 = sext i32 %652 to i64
  %654 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %651, i64 noundef %653) #9
  %655 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 4 dereferenceable(4) %648, ptr noundef nonnull align 8 dereferenceable(8) %654)
          to label %656 unwind label %638

656:                                              ; preds = %642
  br label %657

657:                                              ; preds = %656, %637
  br label %727

658:                                              ; preds = %602
  %659 = load ptr, ptr %12, align 8, !tbaa !5
  %660 = getelementptr inbounds %class.HighsLp, ptr %659, i32 0, i32 7
  %661 = getelementptr inbounds %class.HighsSparseMatrix, ptr %660, i32 0, i32 6
  %662 = load i32, ptr %51, align 4, !tbaa !44
  %663 = sext i32 %662 to i64
  %664 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %661, i64 noundef %663) #9
  %665 = load double, ptr %664, align 8, !tbaa !45
  %666 = fcmp ogt double %665, 0.000000e+00
  br i1 %666, label %667, label %682

667:                                              ; preds = %658
  %668 = load ptr, ptr %12, align 8, !tbaa !5
  %669 = getelementptr inbounds %class.HighsLp, ptr %668, i32 0, i32 7
  %670 = getelementptr inbounds %class.HighsSparseMatrix, ptr %669, i32 0, i32 5
  %671 = load i32, ptr %51, align 4, !tbaa !44
  %672 = sext i32 %671 to i64
  %673 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %670, i64 noundef %672) #9
  %674 = load ptr, ptr %12, align 8, !tbaa !5
  %675 = getelementptr inbounds %class.HighsLp, ptr %674, i32 0, i32 7
  %676 = getelementptr inbounds %class.HighsSparseMatrix, ptr %675, i32 0, i32 6
  %677 = load i32, ptr %51, align 4, !tbaa !44
  %678 = sext i32 %677 to i64
  %679 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %676, i64 noundef %678) #9
  %680 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %673, ptr noundef nonnull align 8 dereferenceable(8) %679)
          to label %681 unwind label %638

681:                                              ; preds = %667
  br label %697

682:                                              ; preds = %658
  %683 = load ptr, ptr %12, align 8, !tbaa !5
  %684 = getelementptr inbounds %class.HighsLp, ptr %683, i32 0, i32 7
  %685 = getelementptr inbounds %class.HighsSparseMatrix, ptr %684, i32 0, i32 5
  %686 = load i32, ptr %51, align 4, !tbaa !44
  %687 = sext i32 %686 to i64
  %688 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %685, i64 noundef %687) #9
  %689 = load ptr, ptr %12, align 8, !tbaa !5
  %690 = getelementptr inbounds %class.HighsLp, ptr %689, i32 0, i32 7
  %691 = getelementptr inbounds %class.HighsSparseMatrix, ptr %690, i32 0, i32 6
  %692 = load i32, ptr %51, align 4, !tbaa !44
  %693 = sext i32 %692 to i64
  %694 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %691, i64 noundef %693) #9
  %695 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 4 dereferenceable(4) %688, ptr noundef nonnull align 8 dereferenceable(8) %694)
          to label %696 unwind label %638

696:                                              ; preds = %682
  br label %697

697:                                              ; preds = %696, %681
  br label %727

698:                                              ; preds = %602
  %699 = load ptr, ptr %12, align 8, !tbaa !5
  %700 = getelementptr inbounds %class.HighsLp, ptr %699, i32 0, i32 7
  %701 = getelementptr inbounds %class.HighsSparseMatrix, ptr %700, i32 0, i32 5
  %702 = load i32, ptr %51, align 4, !tbaa !44
  %703 = sext i32 %702 to i64
  %704 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %701, i64 noundef %703) #9
  %705 = load ptr, ptr %12, align 8, !tbaa !5
  %706 = getelementptr inbounds %class.HighsLp, ptr %705, i32 0, i32 7
  %707 = getelementptr inbounds %class.HighsSparseMatrix, ptr %706, i32 0, i32 6
  %708 = load i32, ptr %51, align 4, !tbaa !44
  %709 = sext i32 %708 to i64
  %710 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %707, i64 noundef %709) #9
  %711 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %704, ptr noundef nonnull align 8 dereferenceable(8) %710)
          to label %712 unwind label %638

712:                                              ; preds = %698
  %713 = load ptr, ptr %12, align 8, !tbaa !5
  %714 = getelementptr inbounds %class.HighsLp, ptr %713, i32 0, i32 7
  %715 = getelementptr inbounds %class.HighsSparseMatrix, ptr %714, i32 0, i32 5
  %716 = load i32, ptr %51, align 4, !tbaa !44
  %717 = sext i32 %716 to i64
  %718 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %715, i64 noundef %717) #9
  %719 = load ptr, ptr %12, align 8, !tbaa !5
  %720 = getelementptr inbounds %class.HighsLp, ptr %719, i32 0, i32 7
  %721 = getelementptr inbounds %class.HighsSparseMatrix, ptr %720, i32 0, i32 6
  %722 = load i32, ptr %51, align 4, !tbaa !44
  %723 = sext i32 %722 to i64
  %724 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %721, i64 noundef %723) #9
  %725 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 4 dereferenceable(4) %718, ptr noundef nonnull align 8 dereferenceable(8) %724)
          to label %726 unwind label %638

726:                                              ; preds = %712
  br label %727

727:                                              ; preds = %726, %697, %657, %602
  br label %728

728:                                              ; preds = %727, %613
  %729 = load i32, ptr %51, align 4, !tbaa !44
  %730 = add nsw i32 %729, 1
  store i32 %730, ptr %51, align 4, !tbaa !44
  br label %590, !llvm.loop !395

731:                                              ; preds = %601
  %732 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  %733 = trunc i64 %732 to i32
  %734 = load i32, ptr %50, align 4, !tbaa !44
  %735 = sext i32 %734 to i64
  %736 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %735) #9
  %737 = getelementptr inbounds %"struct.std::pair.362", ptr %736, i32 0, i32 1
  store i32 %733, ptr %737, align 4, !tbaa !396
  %738 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  %739 = trunc i64 %738 to i32
  %740 = load i32, ptr %50, align 4, !tbaa !44
  %741 = sext i32 %740 to i64
  %742 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %45, i64 noundef %741) #9
  %743 = getelementptr inbounds %"struct.std::pair.362", ptr %742, i32 0, i32 1
  store i32 %739, ptr %743, align 4, !tbaa !396
  store i32 0, ptr %26, align 4
  br label %744

744:                                              ; preds = %731, %569, %557
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  %745 = load i32, ptr %26, align 4
  switch i32 %745, label %1830 [
    i32 0, label %746
    i32 17, label %747
  ]

746:                                              ; preds = %744
  br label %747

747:                                              ; preds = %746, %744
  %748 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #9
  br label %530

749:                                              ; preds = %638, %558
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #9
  br label %1815

750:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 288, ptr %52) #9
  %751 = load ptr, ptr %7, align 8, !tbaa !5
  %752 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZN18HighsCutGenerationC1ERK17HighsLpRelaxationR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(288) %52, ptr noundef nonnull align 8 dereferenceable(21425) %751, ptr noundef nonnull align 8 dereferenceable(680) %752)
          to label %753 unwind label %761

753:                                              ; preds = %750
  call void @llvm.lifetime.start.p0(i64 24, ptr %53) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  store i32 6, ptr %55, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 24, ptr %56) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %57) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  store i32 0, ptr %59, align 4, !tbaa !44
  br label %754

754:                                              ; preds = %1810, %753
  %755 = load i32, ptr %59, align 4, !tbaa !44
  %756 = load ptr, ptr %12, align 8, !tbaa !5
  %757 = getelementptr inbounds %class.HighsLp, ptr %756, i32 0, i32 1
  %758 = load i32, ptr %757, align 4, !tbaa !9
  %759 = icmp ne i32 %755, %758
  br i1 %759, label %765, label %760

760:                                              ; preds = %754
  store i32 22, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %1813

761:                                              ; preds = %750
  %762 = landingpad { ptr, i32 }
          cleanup
  %763 = extractvalue { ptr, i32 } %762, 0
  store ptr %763, ptr %15, align 8
  %764 = extractvalue { ptr, i32 } %762, 1
  store i32 %764, ptr %16, align 4
  br label %1814

765:                                              ; preds = %754
  %766 = load i32, ptr %59, align 4, !tbaa !44
  %767 = sext i32 %766 to i64
  %768 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %14, i64 noundef %767) #9
  %769 = load i8, ptr %768, align 1, !tbaa !46
  switch i8 %769, label %797 [
    i8 -2, label %770
    i8 0, label %771
    i8 1, label %791
    i8 -1, label %794
  ]

770:                                              ; preds = %765
  br label %1810

771:                                              ; preds = %765
  %772 = load ptr, ptr %13, align 8, !tbaa !5
  %773 = getelementptr inbounds %struct.HighsSolution, ptr %772, i32 0, i32 5
  %774 = load i32, ptr %59, align 4, !tbaa !44
  %775 = sext i32 %774 to i64
  %776 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %773, i64 noundef %775) #9
  %777 = load double, ptr %776, align 8, !tbaa !45
  %778 = load ptr, ptr %11, align 8, !tbaa !5
  %779 = getelementptr inbounds %class.HighsMipSolver, ptr %778, i32 0, i32 25
  %780 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %779) #9
  %781 = getelementptr inbounds %struct.HighsMipSolverData, ptr %780, i32 0, i32 41
  %782 = load double, ptr %781, align 8, !tbaa !397
  %783 = fcmp ole double %777, %782
  br i1 %783, label %784, label %787

784:                                              ; preds = %771
  %785 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 0) #9
  store double 1.000000e+00, ptr %785, align 8, !tbaa !45
  %786 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 1) #9
  store double -1.000000e+00, ptr %786, align 8, !tbaa !45
  br label %790

787:                                              ; preds = %771
  %788 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 0) #9
  store double -1.000000e+00, ptr %788, align 8, !tbaa !45
  %789 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 1) #9
  store double 1.000000e+00, ptr %789, align 8, !tbaa !45
  br label %790

790:                                              ; preds = %787, %784
  br label %798

791:                                              ; preds = %765
  %792 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 0) #9
  store double 1.000000e+00, ptr %792, align 8, !tbaa !45
  %793 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 1) #9
  store double -1.000000e+00, ptr %793, align 8, !tbaa !45
  br label %798

794:                                              ; preds = %765
  %795 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 0) #9
  store double -1.000000e+00, ptr %795, align 8, !tbaa !45
  %796 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef 1) #9
  store double 1.000000e+00, ptr %796, align 8, !tbaa !45
  br label %798

797:                                              ; preds = %765
  call void @__assert_fail(ptr noundef @.str.55, ptr noundef @.str.52, i32 noundef 197, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

798:                                              ; preds = %794, %791, %790
  call void @llvm.lifetime.start.p0(i64 1, ptr %60) #9
  store i8 0, ptr %60, align 1, !tbaa !398
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  store i32 0, ptr %61, align 4, !tbaa !44
  br label %799

799:                                              ; preds = %1802, %798
  %800 = load i32, ptr %61, align 4, !tbaa !44
  %801 = icmp ne i32 %800, 2
  br i1 %801, label %803, label %802

802:                                              ; preds = %799
  store i32 26, ptr %26, align 4
  br label %1807

803:                                              ; preds = %799
  %804 = load ptr, ptr %8, align 8, !tbaa !5
  %805 = invoke noundef zeroext i1 @_ZN17HighsLpAggregator7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(56) %804)
          to label %806 unwind label %809

806:                                              ; preds = %803
  br i1 %805, label %807, label %808

807:                                              ; preds = %806
  br label %814

808:                                              ; preds = %806
  call void @__assert_fail(ptr noundef @.str.56, ptr noundef @.str.52, i32 noundef 203, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

809:                                              ; preds = %814, %803
  %810 = landingpad { ptr, i32 }
          cleanup
  %811 = extractvalue { ptr, i32 } %810, 0
  store ptr %811, ptr %15, align 8
  %812 = extractvalue { ptr, i32 } %810, 1
  store i32 %812, ptr %16, align 4
  br label %1808

813:                                              ; No predecessors!
  br label %814

814:                                              ; preds = %813, %807
  %815 = load ptr, ptr %8, align 8, !tbaa !5
  %816 = load i32, ptr %59, align 4, !tbaa !44
  %817 = load i32, ptr %61, align 4, !tbaa !44
  %818 = sext i32 %817 to i64
  %819 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %58, i64 noundef %818) #9
  %820 = load double, ptr %819, align 8, !tbaa !45
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %815, i32 noundef %816, double noundef %820)
          to label %821 unwind label %809

821:                                              ; preds = %814
  %822 = load i32, ptr %59, align 4, !tbaa !44
  %823 = getelementptr inbounds [6 x i32], ptr %56, i64 0, i64 0
  store i32 %822, ptr %823, align 16, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  store i32 1, ptr %62, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #9
  %824 = getelementptr inbounds %class.anon, ptr %63, i32 0, i32 0
  store ptr %62, ptr %824, align 8, !tbaa !5
  %825 = getelementptr inbounds %class.anon, ptr %63, i32 0, i32 1
  store ptr %56, ptr %825, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #9
  store i8 0, ptr %64, align 1, !tbaa !398
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #9
  %826 = load ptr, ptr %11, align 8, !tbaa !5
  %827 = getelementptr inbounds %class.HighsMipSolver, ptr %826, i32 0, i32 25
  %828 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %827) #9
  %829 = getelementptr inbounds %struct.HighsMipSolverData, ptr %828, i32 0, i32 40
  %830 = load double, ptr %829, align 8, !tbaa !48
  %831 = fdiv double 1.000000e+00, %830
  store double %831, ptr %65, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #9
  %832 = load ptr, ptr %11, align 8, !tbaa !5
  %833 = getelementptr inbounds %class.HighsMipSolver, ptr %832, i32 0, i32 25
  %834 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %833) #9
  %835 = getelementptr inbounds %struct.HighsMipSolverData, ptr %834, i32 0, i32 40
  %836 = load double, ptr %835, align 8, !tbaa !48
  store double %836, ptr %66, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #9
  %837 = getelementptr inbounds %class.anon.369, ptr %67, i32 0, i32 0
  store ptr %65, ptr %837, align 8, !tbaa !5
  %838 = getelementptr inbounds %class.anon.369, ptr %67, i32 0, i32 1
  store ptr %66, ptr %838, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #9
  %839 = getelementptr inbounds %class.anon.370, ptr %68, i32 0, i32 0
  store ptr %62, ptr %839, align 8, !tbaa !5
  %840 = getelementptr inbounds %class.anon.370, ptr %68, i32 0, i32 1
  store ptr %64, ptr %840, align 8, !tbaa !5
  %841 = getelementptr inbounds %class.anon.370, ptr %68, i32 0, i32 2
  store ptr %59, ptr %841, align 8, !tbaa !5
  %842 = getelementptr inbounds %class.anon.370, ptr %68, i32 0, i32 3
  store ptr %63, ptr %842, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr %69) #9
  %843 = getelementptr inbounds %class.anon.371, ptr %69, i32 0, i32 0
  store ptr %134, ptr %843, align 8, !tbaa !399
  %844 = getelementptr inbounds %class.anon.371, ptr %69, i32 0, i32 1
  store ptr %63, ptr %844, align 8, !tbaa !5
  %845 = getelementptr inbounds %class.anon.371, ptr %69, i32 0, i32 2
  store ptr %67, ptr %845, align 8, !tbaa !5
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  br label %846

846:                                              ; preds = %1081, %1079, %821
  %847 = load i32, ptr %62, align 4, !tbaa !44
  %848 = icmp ne i32 %847, 6
  br i1 %848, label %849, label %1084

849:                                              ; preds = %846
  %850 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56) %850, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54, i1 noundef zeroext false)
          to label %851 unwind label %859

851:                                              ; preds = %849
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  %852 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  %853 = trunc i64 %852 to i32
  store i32 %853, ptr %70, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #9
  store i8 0, ptr %71, align 1, !tbaa !398
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  store i32 -1, ptr %72, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #9
  store double 0.000000e+00, ptr %73, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #9
  store double 0.000000e+00, ptr %74, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  store i32 -1, ptr %75, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #9
  store double 0.000000e+00, ptr %76, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #9
  store double 0.000000e+00, ptr %77, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #9
  store i32 0, ptr %78, align 4, !tbaa !44
  br label %854

854:                                              ; preds = %979, %851
  %855 = load i32, ptr %78, align 4, !tbaa !44
  %856 = load i32, ptr %70, align 4, !tbaa !44
  %857 = icmp ne i32 %855, %856
  br i1 %857, label %863, label %858

858:                                              ; preds = %854
  store i32 31, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %982

859:                                              ; preds = %849
  %860 = landingpad { ptr, i32 }
          cleanup
  %861 = extractvalue { ptr, i32 } %860, 0
  store ptr %861, ptr %15, align 8
  %862 = extractvalue { ptr, i32 } %860, 1
  store i32 %862, ptr %16, align 4
  br label %1806

863:                                              ; preds = %854
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #9
  %864 = load i32, ptr %78, align 4, !tbaa !44
  %865 = sext i32 %864 to i64
  %866 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %865) #9
  %867 = load i32, ptr %866, align 4, !tbaa !44
  store i32 %867, ptr %79, align 4, !tbaa !44
  %868 = load i32, ptr %79, align 4, !tbaa !44
  %869 = load ptr, ptr %12, align 8, !tbaa !5
  %870 = getelementptr inbounds %class.HighsLp, ptr %869, i32 0, i32 0
  %871 = load i32, ptr %870, align 8, !tbaa !387
  %872 = icmp sge i32 %868, %871
  br i1 %872, label %884, label %873

873:                                              ; preds = %863
  %874 = load ptr, ptr %9, align 8, !tbaa !5
  %875 = load i32, ptr %79, align 4, !tbaa !44
  %876 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %874, i32 noundef %875)
          to label %877 unwind label %885

877:                                              ; preds = %873
  %878 = fcmp oeq double %876, 0.000000e+00
  br i1 %878, label %884, label %879

879:                                              ; preds = %877
  %880 = load ptr, ptr %7, align 8, !tbaa !5
  %881 = load i32, ptr %79, align 4, !tbaa !44
  %882 = invoke noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425) %880, i32 noundef %881)
          to label %883 unwind label %885

883:                                              ; preds = %879
  br i1 %882, label %884, label %889

884:                                              ; preds = %883, %877, %863
  store i32 33, ptr %26, align 4
  br label %976

885:                                              ; preds = %964, %957, %950, %939, %932, %925, %896, %879, %873
  %886 = landingpad { ptr, i32 }
          cleanup
  %887 = extractvalue { ptr, i32 } %886, 0
  store ptr %887, ptr %15, align 8
  %888 = extractvalue { ptr, i32 } %886, 1
  store i32 %888, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %1083

889:                                              ; preds = %883
  %890 = load i32, ptr %79, align 4, !tbaa !44
  %891 = sext i32 %890 to i64
  %892 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %891) #9
  %893 = getelementptr inbounds %"struct.std::pair", ptr %892, i32 0, i32 0
  %894 = load i32, ptr %893, align 8, !tbaa !389
  %895 = icmp ne i32 %894, -1
  br i1 %895, label %896, label %915

896:                                              ; preds = %889
  store i8 1, ptr %71, align 1, !tbaa !398
  %897 = load ptr, ptr %8, align 8, !tbaa !5
  %898 = load i32, ptr %79, align 4, !tbaa !44
  %899 = sext i32 %898 to i64
  %900 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %899) #9
  %901 = getelementptr inbounds %"struct.std::pair", ptr %900, i32 0, i32 0
  %902 = load i32, ptr %901, align 8, !tbaa !389
  %903 = load i32, ptr %78, align 4, !tbaa !44
  %904 = sext i32 %903 to i64
  %905 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %904) #9
  %906 = load double, ptr %905, align 8, !tbaa !45
  %907 = fneg double %906
  %908 = load i32, ptr %79, align 4, !tbaa !44
  %909 = sext i32 %908 to i64
  %910 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %909) #9
  %911 = getelementptr inbounds %"struct.std::pair", ptr %910, i32 0, i32 1
  %912 = load double, ptr %911, align 8, !tbaa !391
  %913 = fdiv double %907, %912
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %897, i32 noundef %902, double noundef %913)
          to label %914 unwind label %885

914:                                              ; preds = %896
  store i32 33, ptr %26, align 4
  br label %976

915:                                              ; preds = %889
  %916 = load i8, ptr %71, align 1, !tbaa !398, !range !401, !noundef !402
  %917 = trunc i8 %916 to i1
  br i1 %917, label %918, label %919

918:                                              ; preds = %915
  store i32 33, ptr %26, align 4
  br label %976

919:                                              ; preds = %915
  %920 = load i32, ptr %78, align 4, !tbaa !44
  %921 = sext i32 %920 to i64
  %922 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %921) #9
  %923 = load double, ptr %922, align 8, !tbaa !45
  %924 = fcmp olt double %923, 0.000000e+00
  br i1 %924, label %925, label %950

925:                                              ; preds = %919
  %926 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %41)
          to label %927 unwind label %885

927:                                              ; preds = %925
  br i1 %926, label %928, label %929

928:                                              ; preds = %927
  store i32 33, ptr %26, align 4
  br label %976

929:                                              ; preds = %927
  %930 = load i32, ptr %72, align 4, !tbaa !44
  %931 = icmp eq i32 %930, -1
  br i1 %931, label %939, label %932

932:                                              ; preds = %929
  %933 = load ptr, ptr %9, align 8, !tbaa !5
  %934 = load i32, ptr %79, align 4, !tbaa !44
  %935 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %933, i32 noundef %934)
          to label %936 unwind label %885

936:                                              ; preds = %932
  %937 = load double, ptr %74, align 8, !tbaa !45
  %938 = fcmp ogt double %935, %937
  br i1 %938, label %939, label %949

939:                                              ; preds = %936, %929
  %940 = load i32, ptr %79, align 4, !tbaa !44
  store i32 %940, ptr %72, align 4, !tbaa !44
  %941 = load i32, ptr %78, align 4, !tbaa !44
  %942 = sext i32 %941 to i64
  %943 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %942) #9
  %944 = load double, ptr %943, align 8, !tbaa !45
  store double %944, ptr %73, align 8, !tbaa !45
  %945 = load ptr, ptr %9, align 8, !tbaa !5
  %946 = load i32, ptr %79, align 4, !tbaa !44
  %947 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %945, i32 noundef %946)
          to label %948 unwind label %885

948:                                              ; preds = %939
  store double %947, ptr %74, align 8, !tbaa !45
  br label %949

949:                                              ; preds = %948, %936
  br label %975

950:                                              ; preds = %919
  %951 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 4 dereferenceable(4) %79, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %952 unwind label %885

952:                                              ; preds = %950
  br i1 %951, label %953, label %954

953:                                              ; preds = %952
  store i32 33, ptr %26, align 4
  br label %976

954:                                              ; preds = %952
  %955 = load i32, ptr %75, align 4, !tbaa !44
  %956 = icmp eq i32 %955, -1
  br i1 %956, label %964, label %957

957:                                              ; preds = %954
  %958 = load ptr, ptr %9, align 8, !tbaa !5
  %959 = load i32, ptr %79, align 4, !tbaa !44
  %960 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %958, i32 noundef %959)
          to label %961 unwind label %885

961:                                              ; preds = %957
  %962 = load double, ptr %77, align 8, !tbaa !45
  %963 = fcmp ogt double %960, %962
  br i1 %963, label %964, label %974

964:                                              ; preds = %961, %954
  %965 = load i32, ptr %79, align 4, !tbaa !44
  store i32 %965, ptr %75, align 4, !tbaa !44
  %966 = load i32, ptr %78, align 4, !tbaa !44
  %967 = sext i32 %966 to i64
  %968 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %967) #9
  %969 = load double, ptr %968, align 8, !tbaa !45
  store double %969, ptr %76, align 8, !tbaa !45
  %970 = load ptr, ptr %9, align 8, !tbaa !5
  %971 = load i32, ptr %79, align 4, !tbaa !44
  %972 = invoke noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %970, i32 noundef %971)
          to label %973 unwind label %885

973:                                              ; preds = %964
  store double %972, ptr %77, align 8, !tbaa !45
  br label %974

974:                                              ; preds = %973, %961
  br label %975

975:                                              ; preds = %974, %949
  store i32 0, ptr %26, align 4
  br label %976

976:                                              ; preds = %975, %953, %928, %918, %914, %884
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  %977 = load i32, ptr %26, align 4
  switch i32 %977, label %1830 [
    i32 0, label %978
    i32 33, label %979
  ]

978:                                              ; preds = %976
  br label %979

979:                                              ; preds = %978, %976
  %980 = load i32, ptr %78, align 4, !tbaa !44
  %981 = add nsw i32 %980, 1
  store i32 %981, ptr %78, align 4, !tbaa !44
  br label %854, !llvm.loop !403

982:                                              ; preds = %858
  %983 = load i8, ptr %71, align 1, !tbaa !398, !range !401, !noundef !402
  %984 = trunc i8 %983 to i1
  br i1 %984, label %985, label %986

985:                                              ; preds = %982
  store i32 29, ptr %26, align 4
  br label %1079, !llvm.loop !404

986:                                              ; preds = %982
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #9
  store double 0.000000e+00, ptr %80, align 8, !tbaa !45
  %987 = load ptr, ptr %9, align 8, !tbaa !5
  %988 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288) %52, ptr noundef nonnull align 8 dereferenceable(248) %987, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(8) %80, i1 noundef zeroext false)
          to label %989 unwind label %1003

989:                                              ; preds = %986
  %990 = zext i1 %988 to i8
  store i8 %990, ptr %60, align 1, !tbaa !398
  %991 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56) %991, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54, i1 noundef zeroext true)
          to label %992 unwind label %1003

992:                                              ; preds = %989
  %993 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  br i1 %993, label %994, label %1000

994:                                              ; preds = %992
  %995 = load i32, ptr %72, align 4, !tbaa !44
  %996 = icmp ne i32 %995, -1
  br i1 %996, label %1000, label %997

997:                                              ; preds = %994
  %998 = load i32, ptr %75, align 4, !tbaa !44
  %999 = icmp ne i32 %998, -1
  br i1 %999, label %1000, label %1007

1000:                                             ; preds = %997, %994, %992
  %1001 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE12emplace_backIJRS2_RS4_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54)
          to label %1002 unwind label %1003

1002:                                             ; preds = %1000
  br label %1007

1003:                                             ; preds = %1007, %1000, %989, %986
  %1004 = landingpad { ptr, i32 }
          cleanup
  %1005 = extractvalue { ptr, i32 } %1004, 0
  store ptr %1005, ptr %15, align 8
  %1006 = extractvalue { ptr, i32 } %1004, 1
  store i32 %1006, ptr %16, align 4
  br label %1082

1007:                                             ; preds = %1002, %997
  store double 0.000000e+00, ptr %80, align 8, !tbaa !45
  %1008 = load ptr, ptr %9, align 8, !tbaa !5
  %1009 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288) %52, ptr noundef nonnull align 8 dereferenceable(248) %1008, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 8 dereferenceable(8) %80, i1 noundef zeroext false)
          to label %1010 unwind label %1003

1010:                                             ; preds = %1007
  %1011 = zext i1 %1009 to i32
  %1012 = load i8, ptr %60, align 1, !tbaa !398, !range !401, !noundef !402
  %1013 = trunc i8 %1012 to i1
  %1014 = zext i1 %1013 to i32
  %1015 = or i32 %1014, %1011
  %1016 = icmp ne i32 %1015, 0
  %1017 = zext i1 %1016 to i8
  store i8 %1017, ptr %60, align 1, !tbaa !398
  %1018 = load i8, ptr %60, align 1, !tbaa !398, !range !401, !noundef !402
  %1019 = trunc i8 %1018 to i1
  br i1 %1019, label %1026, label %1020

1020:                                             ; preds = %1010
  %1021 = load i32, ptr %72, align 4, !tbaa !44
  %1022 = icmp eq i32 %1021, -1
  br i1 %1022, label %1023, label %1027

1023:                                             ; preds = %1020
  %1024 = load i32, ptr %75, align 4, !tbaa !44
  %1025 = icmp eq i32 %1024, -1
  br i1 %1025, label %1026, label %1027

1026:                                             ; preds = %1023, %1010
  store i32 30, ptr %26, align 4
  br label %1078

1027:                                             ; preds = %1023, %1020
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #9
  store i32 -1, ptr %81, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #9
  store double 0.000000e+00, ptr %82, align 8, !tbaa !45
  %1028 = load i32, ptr %75, align 4, !tbaa !44
  %1029 = icmp eq i32 %1028, -1
  br i1 %1029, label %1043, label %1030

1030:                                             ; preds = %1027
  %1031 = load i32, ptr %72, align 4, !tbaa !44
  %1032 = icmp ne i32 %1031, -1
  br i1 %1032, label %1033, label %1061

1033:                                             ; preds = %1030
  %1034 = load double, ptr %74, align 8, !tbaa !45
  %1035 = load double, ptr %77, align 8, !tbaa !45
  %1036 = load ptr, ptr %11, align 8, !tbaa !5
  %1037 = getelementptr inbounds %class.HighsMipSolver, ptr %1036, i32 0, i32 25
  %1038 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1037) #9
  %1039 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1038, i32 0, i32 40
  %1040 = load double, ptr %1039, align 8, !tbaa !48
  %1041 = fsub double %1035, %1040
  %1042 = fcmp oge double %1034, %1041
  br i1 %1042, label %1043, label %1061

1043:                                             ; preds = %1033, %1027
  %1044 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 8 dereferenceable(8) %73, ptr noundef nonnull align 8 dereferenceable(24) %42, ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %81, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1045 unwind label %1050

1045:                                             ; preds = %1043
  br i1 %1044, label %1060, label %1046

1046:                                             ; preds = %1045
  %1047 = load i32, ptr %75, align 4, !tbaa !44
  %1048 = icmp eq i32 %1047, -1
  br i1 %1048, label %1049, label %1054

1049:                                             ; preds = %1046
  store i32 30, ptr %26, align 4
  br label %1077

1050:                                             ; preds = %1066, %1061, %1054, %1043
  %1051 = landingpad { ptr, i32 }
          cleanup
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %15, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %1082

1054:                                             ; preds = %1046
  %1055 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 4 dereferenceable(4) %81, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1056 unwind label %1050

1056:                                             ; preds = %1054
  br i1 %1055, label %1058, label %1057

1057:                                             ; preds = %1056
  store i32 30, ptr %26, align 4
  br label %1077

1058:                                             ; preds = %1056
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

1060:                                             ; preds = %1059, %1045
  br label %1066

1061:                                             ; preds = %1033, %1030
  %1062 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 4 dereferenceable(4) %75, ptr noundef nonnull align 8 dereferenceable(8) %76, ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 4 dereferenceable(4) %81, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %1063 unwind label %1050

1063:                                             ; preds = %1061
  br i1 %1062, label %1065, label %1064

1064:                                             ; preds = %1063
  store i32 30, ptr %26, align 4
  br label %1077

1065:                                             ; preds = %1063
  br label %1066

1066:                                             ; preds = %1065, %1060
  %1067 = load i32, ptr %81, align 4, !tbaa !44
  %1068 = load i32, ptr %62, align 4, !tbaa !44
  %1069 = sext i32 %1068 to i64
  %1070 = getelementptr inbounds [6 x i32], ptr %56, i64 0, i64 %1069
  store i32 %1067, ptr %1070, align 4, !tbaa !44
  %1071 = load ptr, ptr %8, align 8, !tbaa !5
  %1072 = load i32, ptr %81, align 4, !tbaa !44
  %1073 = load double, ptr %82, align 8, !tbaa !45
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %1071, i32 noundef %1072, double noundef %1073)
          to label %1074 unwind label %1050

1074:                                             ; preds = %1066
  %1075 = load i32, ptr %62, align 4, !tbaa !44
  %1076 = add nsw i32 %1075, 1
  store i32 %1076, ptr %62, align 4, !tbaa !44
  store i32 0, ptr %26, align 4
  br label %1077

1077:                                             ; preds = %1074, %1064, %1057, %1049
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %1078

1078:                                             ; preds = %1077, %1026
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  br label %1079

1079:                                             ; preds = %1078, %985
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  %1080 = load i32, ptr %26, align 4
  switch i32 %1080, label %1830 [
    i32 0, label %1081
    i32 29, label %846
    i32 30, label %1084
  ]

1081:                                             ; preds = %1079
  br label %846, !llvm.loop !404

1082:                                             ; preds = %1050, %1003
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #9
  br label %1083

1083:                                             ; preds = %1082, %885
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %1806

1084:                                             ; preds = %1079, %846
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #9
  %1085 = call noundef i64 @_ZNKSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  %1086 = trunc i64 %1085 to i32
  store i32 %1086, ptr %83, align 4, !tbaa !44
  %1087 = load i32, ptr %83, align 4, !tbaa !44
  %1088 = icmp sgt i32 %1087, 1
  br i1 %1088, label %1089, label %1788

1089:                                             ; preds = %1084
  call void @llvm.lifetime.start.p0(i64 40, ptr %84) #9
  invoke void @_ZN14HighsHashTableIiiEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %84)
          to label %1090 unwind label %1135

1090:                                             ; preds = %1089
  call void @llvm.lifetime.start.p0(i64 24, ptr %85) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %86) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %87) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %88) #9
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #9
  %1091 = load ptr, ptr %12, align 8, !tbaa !5
  %1092 = getelementptr inbounds %class.HighsLp, ptr %1091, i32 0, i32 0
  %1093 = load i32, ptr %1092, align 8, !tbaa !387
  %1094 = load ptr, ptr %12, align 8, !tbaa !5
  %1095 = getelementptr inbounds %class.HighsLp, ptr %1094, i32 0, i32 1
  %1096 = load i32, ptr %1095, align 4, !tbaa !9
  %1097 = add nsw i32 %1093, %1096
  %1098 = sext i32 %1097 to i64
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1098)
          to label %1099 unwind label %1139

1099:                                             ; preds = %1090
  %1100 = load ptr, ptr %12, align 8, !tbaa !5
  %1101 = getelementptr inbounds %class.HighsLp, ptr %1100, i32 0, i32 0
  %1102 = load i32, ptr %1101, align 8, !tbaa !387
  %1103 = load ptr, ptr %12, align 8, !tbaa !5
  %1104 = getelementptr inbounds %class.HighsLp, ptr %1103, i32 0, i32 1
  %1105 = load i32, ptr %1104, align 4, !tbaa !9
  %1106 = add nsw i32 %1102, %1105
  %1107 = sext i32 %1106 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %1107)
          to label %1108 unwind label %1139

1108:                                             ; preds = %1099
  %1109 = load ptr, ptr %12, align 8, !tbaa !5
  %1110 = getelementptr inbounds %class.HighsLp, ptr %1109, i32 0, i32 0
  %1111 = load i32, ptr %1110, align 8, !tbaa !387
  %1112 = load ptr, ptr %12, align 8, !tbaa !5
  %1113 = getelementptr inbounds %class.HighsLp, ptr %1112, i32 0, i32 1
  %1114 = load i32, ptr %1113, align 4, !tbaa !9
  %1115 = add nsw i32 %1111, %1114
  %1116 = sext i32 %1115 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %1116)
          to label %1117 unwind label %1139

1117:                                             ; preds = %1108
  %1118 = load ptr, ptr %12, align 8, !tbaa !5
  %1119 = getelementptr inbounds %class.HighsLp, ptr %1118, i32 0, i32 0
  %1120 = load i32, ptr %1119, align 8, !tbaa !387
  %1121 = load ptr, ptr %12, align 8, !tbaa !5
  %1122 = getelementptr inbounds %class.HighsLp, ptr %1121, i32 0, i32 1
  %1123 = load i32, ptr %1122, align 4, !tbaa !9
  %1124 = add nsw i32 %1120, %1123
  %1125 = sext i32 %1124 to i64
  invoke void @_ZNSt6vectorIhSaIhEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %88, i64 noundef %1125)
          to label %1126 unwind label %1139

1126:                                             ; preds = %1117
  call void @llvm.lifetime.start.p0(i64 24, ptr %89) #9
  %1127 = load i32, ptr %83, align 4, !tbaa !44
  %1128 = sext i32 %1127 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1128, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %1129 unwind label %1143

1129:                                             ; preds = %1126
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %91) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %92) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #9
  store double 1.000000e+00, ptr %93, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  store i32 0, ptr %94, align 4, !tbaa !44
  br label %1130

1130:                                             ; preds = %1382, %1129
  %1131 = load i32, ptr %94, align 4, !tbaa !44
  %1132 = load i32, ptr %83, align 4, !tbaa !44
  %1133 = icmp slt i32 %1131, %1132
  br i1 %1133, label %1147, label %1134

1134:                                             ; preds = %1130
  store i32 34, ptr %26, align 4
  br label %1386

1135:                                             ; preds = %1089
  %1136 = landingpad { ptr, i32 }
          cleanup
  %1137 = extractvalue { ptr, i32 } %1136, 0
  store ptr %1137, ptr %15, align 8
  %1138 = extractvalue { ptr, i32 } %1136, 1
  store i32 %1138, ptr %16, align 4
  br label %1787

1139:                                             ; preds = %1117, %1108, %1099, %1090
  %1140 = landingpad { ptr, i32 }
          cleanup
  %1141 = extractvalue { ptr, i32 } %1140, 0
  store ptr %1141, ptr %15, align 8
  %1142 = extractvalue { ptr, i32 } %1140, 1
  store i32 %1142, ptr %16, align 4
  br label %1786

1143:                                             ; preds = %1126
  %1144 = landingpad { ptr, i32 }
          cleanup
  %1145 = extractvalue { ptr, i32 } %1144, 0
  store ptr %1145, ptr %15, align 8
  %1146 = extractvalue { ptr, i32 } %1144, 1
  store i32 %1146, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #9
  br label %1785

1147:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #9
  store i8 0, ptr %95, align 1, !tbaa !398
  %1148 = load ptr, ptr %9, align 8, !tbaa !5
  %1149 = load i32, ptr %94, align 4, !tbaa !44
  %1150 = sext i32 %1149 to i64
  %1151 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1150) #9
  %1152 = getelementptr inbounds %"struct.std::pair.372", ptr %1151, i32 0, i32 1
  %1153 = load i32, ptr %94, align 4, !tbaa !44
  %1154 = sext i32 %1153 to i64
  %1155 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1154) #9
  %1156 = getelementptr inbounds %"struct.std::pair.372", ptr %1155, i32 0, i32 0
  %1157 = load i32, ptr %94, align 4, !tbaa !44
  %1158 = sext i32 %1157 to i64
  %1159 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1158) #9
  %1160 = invoke noundef zeroext i1 @_ZN18HighsTransformedLp9transformERSt6vectorIdSaIdEES3_S3_RS0_IiSaIiEERdRbb(ptr noundef nonnull align 8 dereferenceable(248) %1148, ptr noundef nonnull align 8 dereferenceable(24) %1152, ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %92, ptr noundef nonnull align 8 dereferenceable(24) %1156, ptr noundef nonnull align 8 dereferenceable(8) %1159, ptr noundef nonnull align 1 dereferenceable(1) %95, i1 noundef zeroext false)
          to label %1161 unwind label %1164

1161:                                             ; preds = %1147
  br i1 %1160, label %1168, label %1162

1162:                                             ; preds = %1161
  %1163 = load i32, ptr %94, align 4, !tbaa !44
  store i32 %1163, ptr %83, align 4, !tbaa !44
  store i32 34, ptr %26, align 4
  br label %1379

1164:                                             ; preds = %1147
  %1165 = landingpad { ptr, i32 }
          cleanup
  %1166 = extractvalue { ptr, i32 } %1165, 0
  store ptr %1166, ptr %15, align 8
  %1167 = extractvalue { ptr, i32 } %1165, 1
  store i32 %1167, ptr %16, align 4
  br label %1385

1168:                                             ; preds = %1161
  %1169 = load i32, ptr %94, align 4, !tbaa !44
  %1170 = icmp eq i32 %1169, 0
  br i1 %1170, label %1171, label %1196

1171:                                             ; preds = %1168
  %1172 = load i32, ptr %94, align 4, !tbaa !44
  %1173 = sext i32 %1172 to i64
  %1174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1173) #9
  %1175 = load double, ptr %1174, align 8, !tbaa !45
  %1176 = fcmp ogt double %1175, 0x3D06849B86A12B9B
  br i1 %1176, label %1177, label %1179

1177:                                             ; preds = %1171
  %1178 = load i32, ptr %94, align 4, !tbaa !44
  store i32 %1178, ptr %83, align 4, !tbaa !44
  store i32 34, ptr %26, align 4
  br label %1379

1179:                                             ; preds = %1171
  %1180 = load i32, ptr %94, align 4, !tbaa !44
  %1181 = sext i32 %1180 to i64
  %1182 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1181) #9
  %1183 = load double, ptr %1182, align 8, !tbaa !45
  %1184 = load ptr, ptr %11, align 8, !tbaa !5
  %1185 = getelementptr inbounds %class.HighsMipSolver, ptr %1184, i32 0, i32 25
  %1186 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1185) #9
  %1187 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1186, i32 0, i32 40
  %1188 = load double, ptr %1187, align 8, !tbaa !48
  %1189 = fneg double %1188
  %1190 = fcmp oge double %1183, %1189
  br i1 %1190, label %1191, label %1195

1191:                                             ; preds = %1179
  %1192 = load i32, ptr %94, align 4, !tbaa !44
  %1193 = sext i32 %1192 to i64
  %1194 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1193) #9
  store double 0.000000e+00, ptr %1194, align 8, !tbaa !45
  br label %1195

1195:                                             ; preds = %1191, %1179
  br label %1216

1196:                                             ; preds = %1168
  %1197 = load i32, ptr %94, align 4, !tbaa !44
  %1198 = sext i32 %1197 to i64
  %1199 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1198) #9
  %1200 = load double, ptr %1199, align 8, !tbaa !45
  %1201 = load i32, ptr %94, align 4, !tbaa !44
  %1202 = sub nsw i32 %1201, 1
  %1203 = sext i32 %1202 to i64
  %1204 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1203) #9
  %1205 = load double, ptr %1204, align 8, !tbaa !45
  %1206 = load ptr, ptr %11, align 8, !tbaa !5
  %1207 = getelementptr inbounds %class.HighsMipSolver, ptr %1206, i32 0, i32 25
  %1208 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1207) #9
  %1209 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1208, i32 0, i32 40
  %1210 = load double, ptr %1209, align 8, !tbaa !48
  %1211 = fsub double %1205, %1210
  %1212 = fcmp oge double %1200, %1211
  br i1 %1212, label %1213, label %1215

1213:                                             ; preds = %1196
  %1214 = load i32, ptr %94, align 4, !tbaa !44
  store i32 %1214, ptr %83, align 4, !tbaa !44
  store i32 34, ptr %26, align 4
  br label %1379

1215:                                             ; preds = %1196
  br label %1216

1216:                                             ; preds = %1215, %1195
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #9
  %1217 = load i32, ptr %94, align 4, !tbaa !44
  %1218 = sext i32 %1217 to i64
  %1219 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1218) #9
  %1220 = load double, ptr %1219, align 8, !tbaa !45
  %1221 = invoke noundef double @_ZSt3absd(double noundef %1220)
          to label %1222 unwind label %1237

1222:                                             ; preds = %1216
  store double %1221, ptr %96, align 8, !tbaa !45
  %1223 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %96, ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1224 unwind label %1237

1224:                                             ; preds = %1222
  %1225 = load double, ptr %1223, align 8, !tbaa !45
  store double %1225, ptr %93, align 8, !tbaa !45
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  %1226 = load i32, ptr %94, align 4, !tbaa !44
  %1227 = sext i32 %1226 to i64
  %1228 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1227) #9
  %1229 = getelementptr inbounds %"struct.std::pair.372", ptr %1228, i32 0, i32 0
  %1230 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1229) #9
  %1231 = trunc i64 %1230 to i32
  store i32 %1231, ptr %97, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #9
  store i32 0, ptr %98, align 4, !tbaa !44
  br label %1232

1232:                                             ; preds = %1374, %1224
  %1233 = load i32, ptr %98, align 4, !tbaa !44
  %1234 = load i32, ptr %97, align 4, !tbaa !44
  %1235 = icmp slt i32 %1233, %1234
  br i1 %1235, label %1241, label %1236

1236:                                             ; preds = %1232
  store i32 37, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %1378

1237:                                             ; preds = %1222, %1216
  %1238 = landingpad { ptr, i32 }
          cleanup
  %1239 = extractvalue { ptr, i32 } %1238, 0
  store ptr %1239, ptr %15, align 8
  %1240 = extractvalue { ptr, i32 } %1238, 1
  store i32 %1240, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #9
  br label %1385

1241:                                             ; preds = %1232
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %1242 = load i32, ptr %94, align 4, !tbaa !44
  %1243 = sext i32 %1242 to i64
  %1244 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1243) #9
  %1245 = getelementptr inbounds %"struct.std::pair.372", ptr %1244, i32 0, i32 0
  %1246 = load i32, ptr %98, align 4, !tbaa !44
  %1247 = sext i32 %1246 to i64
  %1248 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1245, i64 noundef %1247) #9
  %1249 = load i32, ptr %1248, align 4, !tbaa !44
  store i32 %1249, ptr %99, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #9
  %1250 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40) %84, ptr noundef nonnull align 4 dereferenceable(4) %99)
          to label %1251 unwind label %1288

1251:                                             ; preds = %1241
  store ptr %1250, ptr %100, align 8, !tbaa !5
  %1252 = load ptr, ptr %100, align 8, !tbaa !5
  %1253 = load i32, ptr %1252, align 4, !tbaa !44
  %1254 = icmp eq i32 %1253, 0
  br i1 %1254, label %1255, label %1304

1255:                                             ; preds = %1251
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 4 dereferenceable(4) %99)
          to label %1256 unwind label %1288

1256:                                             ; preds = %1255
  %1257 = load i32, ptr %98, align 4, !tbaa !44
  %1258 = sext i32 %1257 to i64
  %1259 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %92, i64 noundef %1258) #9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef nonnull align 8 dereferenceable(8) %1259)
          to label %1260 unwind label %1288

1260:                                             ; preds = %1256
  %1261 = load i32, ptr %98, align 4, !tbaa !44
  %1262 = sext i32 %1261 to i64
  %1263 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %1262) #9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(8) %1263)
          to label %1264 unwind label %1288

1264:                                             ; preds = %1260
  call void @llvm.lifetime.start.p0(i64 1, ptr %101) #9
  %1265 = load ptr, ptr %7, align 8, !tbaa !5
  %1266 = load i32, ptr %99, align 4, !tbaa !44
  %1267 = invoke noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425) %1265, i32 noundef %1266)
          to label %1268 unwind label %1292

1268:                                             ; preds = %1264
  %1269 = zext i1 %1267 to i8
  store i8 %1269, ptr %101, align 1, !tbaa !405
  invoke void @_ZNSt6vectorIhSaIhEE9push_backEOh(ptr noundef nonnull align 8 dereferenceable(24) %88, ptr noundef nonnull align 1 dereferenceable(1) %101)
          to label %1270 unwind label %1292

1270:                                             ; preds = %1268
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #9
  %1271 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %88) #9
  %1272 = load i8, ptr %1271, align 1, !tbaa !405
  %1273 = icmp ne i8 %1272, 0
  br i1 %1273, label %1274, label %1300

1274:                                             ; preds = %1270
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #9
  %1275 = load i32, ptr %94, align 4, !tbaa !44
  %1276 = sext i32 %1275 to i64
  %1277 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1276) #9
  %1278 = getelementptr inbounds %"struct.std::pair.372", ptr %1277, i32 0, i32 1
  %1279 = load i32, ptr %98, align 4, !tbaa !44
  %1280 = sext i32 %1279 to i64
  %1281 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1278, i64 noundef %1280) #9
  %1282 = load double, ptr %1281, align 8, !tbaa !45
  %1283 = invoke noundef double @_ZSt3absd(double noundef %1282)
          to label %1284 unwind label %1296

1284:                                             ; preds = %1274
  store double %1283, ptr %102, align 8, !tbaa !45
  %1285 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %102, ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1286 unwind label %1296

1286:                                             ; preds = %1284
  %1287 = load double, ptr %1285, align 8, !tbaa !45
  store double %1287, ptr %93, align 8, !tbaa !45
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %1300

1288:                                             ; preds = %1260, %1256, %1255, %1241
  %1289 = landingpad { ptr, i32 }
          cleanup
  %1290 = extractvalue { ptr, i32 } %1289, 0
  store ptr %1290, ptr %15, align 8
  %1291 = extractvalue { ptr, i32 } %1289, 1
  store i32 %1291, ptr %16, align 4
  br label %1377

1292:                                             ; preds = %1268, %1264
  %1293 = landingpad { ptr, i32 }
          cleanup
  %1294 = extractvalue { ptr, i32 } %1293, 0
  store ptr %1294, ptr %15, align 8
  %1295 = extractvalue { ptr, i32 } %1293, 1
  store i32 %1295, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %101) #9
  br label %1377

1296:                                             ; preds = %1284, %1274
  %1297 = landingpad { ptr, i32 }
          cleanup
  %1298 = extractvalue { ptr, i32 } %1297, 0
  store ptr %1298, ptr %15, align 8
  %1299 = extractvalue { ptr, i32 } %1297, 1
  store i32 %1299, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %1377

1300:                                             ; preds = %1286, %1270
  %1301 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  %1302 = trunc i64 %1301 to i32
  %1303 = load ptr, ptr %100, align 8, !tbaa !5
  store i32 %1302, ptr %1303, align 4, !tbaa !44
  br label %1373

1304:                                             ; preds = %1251
  %1305 = load ptr, ptr %100, align 8, !tbaa !5
  %1306 = load i32, ptr %1305, align 4, !tbaa !44
  %1307 = sub nsw i32 %1306, 1
  %1308 = sext i32 %1307 to i64
  %1309 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1308) #9
  %1310 = load i32, ptr %1309, align 4, !tbaa !44
  %1311 = load i32, ptr %99, align 4, !tbaa !44
  %1312 = icmp eq i32 %1310, %1311
  br i1 %1312, label %1313, label %1314

1313:                                             ; preds = %1304
  br label %1316

1314:                                             ; preds = %1304
  call void @__assert_fail(ptr noundef @.str.57, ptr noundef @.str.52, i32 noundef 451, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

1315:                                             ; No predecessors!
  br label %1316

1316:                                             ; preds = %1315, %1313
  %1317 = load ptr, ptr %100, align 8, !tbaa !5
  %1318 = load i32, ptr %1317, align 4, !tbaa !44
  %1319 = sub nsw i32 %1318, 1
  %1320 = sext i32 %1319 to i64
  %1321 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %1320) #9
  %1322 = load double, ptr %1321, align 8, !tbaa !45
  %1323 = load i32, ptr %98, align 4, !tbaa !44
  %1324 = sext i32 %1323 to i64
  %1325 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %92, i64 noundef %1324) #9
  %1326 = load double, ptr %1325, align 8, !tbaa !45
  %1327 = fcmp oeq double %1322, %1326
  br i1 %1327, label %1328, label %1329

1328:                                             ; preds = %1316
  br label %1331

1329:                                             ; preds = %1316
  call void @__assert_fail(ptr noundef @.str.58, ptr noundef @.str.52, i32 noundef 452, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

1330:                                             ; No predecessors!
  br label %1331

1331:                                             ; preds = %1330, %1328
  %1332 = load ptr, ptr %100, align 8, !tbaa !5
  %1333 = load i32, ptr %1332, align 4, !tbaa !44
  %1334 = sub nsw i32 %1333, 1
  %1335 = sext i32 %1334 to i64
  %1336 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %1335) #9
  %1337 = load double, ptr %1336, align 8, !tbaa !45
  %1338 = load i32, ptr %98, align 4, !tbaa !44
  %1339 = sext i32 %1338 to i64
  %1340 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %1339) #9
  %1341 = load double, ptr %1340, align 8, !tbaa !45
  %1342 = fcmp oeq double %1337, %1341
  br i1 %1342, label %1343, label %1344

1343:                                             ; preds = %1331
  br label %1346

1344:                                             ; preds = %1331
  call void @__assert_fail(ptr noundef @.str.59, ptr noundef @.str.52, i32 noundef 453, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

1345:                                             ; No predecessors!
  br label %1346

1346:                                             ; preds = %1345, %1343
  %1347 = load ptr, ptr %100, align 8, !tbaa !5
  %1348 = load i32, ptr %1347, align 4, !tbaa !44
  %1349 = sub nsw i32 %1348, 1
  %1350 = sext i32 %1349 to i64
  %1351 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %88, i64 noundef %1350) #9
  %1352 = load i8, ptr %1351, align 1, !tbaa !405
  %1353 = icmp ne i8 %1352, 0
  br i1 %1353, label %1354, label %1372

1354:                                             ; preds = %1346
  call void @llvm.lifetime.start.p0(i64 8, ptr %103) #9
  %1355 = load i32, ptr %94, align 4, !tbaa !44
  %1356 = sext i32 %1355 to i64
  %1357 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1356) #9
  %1358 = getelementptr inbounds %"struct.std::pair.372", ptr %1357, i32 0, i32 1
  %1359 = load i32, ptr %98, align 4, !tbaa !44
  %1360 = sext i32 %1359 to i64
  %1361 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1358, i64 noundef %1360) #9
  %1362 = load double, ptr %1361, align 8, !tbaa !45
  %1363 = invoke noundef double @_ZSt3absd(double noundef %1362)
          to label %1364 unwind label %1368

1364:                                             ; preds = %1354
  store double %1363, ptr %103, align 8, !tbaa !45
  %1365 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %103, ptr noundef nonnull align 8 dereferenceable(8) %93)
          to label %1366 unwind label %1368

1366:                                             ; preds = %1364
  %1367 = load double, ptr %1365, align 8, !tbaa !45
  store double %1367, ptr %93, align 8, !tbaa !45
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  br label %1372

1368:                                             ; preds = %1364, %1354
  %1369 = landingpad { ptr, i32 }
          cleanup
  %1370 = extractvalue { ptr, i32 } %1369, 0
  store ptr %1370, ptr %15, align 8
  %1371 = extractvalue { ptr, i32 } %1369, 1
  store i32 %1371, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %103) #9
  br label %1377

1372:                                             ; preds = %1366, %1346
  br label %1373

1373:                                             ; preds = %1372, %1300
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %1374

1374:                                             ; preds = %1373
  %1375 = load i32, ptr %98, align 4, !tbaa !44
  %1376 = add nsw i32 %1375, 1
  store i32 %1376, ptr %98, align 4, !tbaa !44
  br label %1232, !llvm.loop !406

1377:                                             ; preds = %1368, %1296, %1292, %1288
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %1385

1378:                                             ; preds = %1236
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  store i32 0, ptr %26, align 4
  br label %1379

1379:                                             ; preds = %1378, %1213, %1177, %1162
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #9
  %1380 = load i32, ptr %26, align 4
  switch i32 %1380, label %1386 [
    i32 0, label %1381
  ]

1381:                                             ; preds = %1379
  br label %1382

1382:                                             ; preds = %1381
  %1383 = load i32, ptr %94, align 4, !tbaa !44
  %1384 = add nsw i32 %1383, 1
  store i32 %1384, ptr %94, align 4, !tbaa !44
  br label %1130, !llvm.loop !407

1385:                                             ; preds = %1377, %1237, %1164
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %1784

1386:                                             ; preds = %1379, %1134
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %1387

1387:                                             ; preds = %1386
  %1388 = load i32, ptr %83, align 4, !tbaa !44
  %1389 = icmp sgt i32 %1388, 1
  br i1 %1389, label %1390, label %1783

1390:                                             ; preds = %1387
  %1391 = load double, ptr %93, align 8, !tbaa !45
  %1392 = fadd double %1391, 1.000000e+00
  %1393 = call double @log2(double noundef %1392) #9
  %1394 = call double @llvm.ceil.f64(double %1393)
  %1395 = call double @exp2(double noundef %1394) #9
  store double %1395, ptr %93, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  %1396 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  %1397 = trunc i64 %1396 to i32
  store i32 %1397, ptr %104, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 16, ptr %105) #9
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %105, double noundef 0.000000e+00)
          to label %1398 unwind label %1418

1398:                                             ; preds = %1390
  call void @llvm.lifetime.start.p0(i64 24, ptr %106) #9
  %1399 = load i32, ptr %104, align 4, !tbaa !44
  %1400 = sext i32 %1399 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1400, ptr noundef nonnull align 1 dereferenceable(1) %107)
          to label %1401 unwind label %1422

1401:                                             ; preds = %1398
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %108) #9
  %1402 = load i32, ptr %104, align 4, !tbaa !44
  %1403 = sext i32 %1402 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %109) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1403, ptr noundef nonnull align 1 dereferenceable(1) %109)
          to label %1404 unwind label %1426

1404:                                             ; preds = %1401
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %110) #9
  %1405 = load i32, ptr %104, align 4, !tbaa !44
  %1406 = sext i32 %1405 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #9
  call void @_ZNSaI12HighsCDoubleEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #9
  invoke void @_ZNSt6vectorI12HighsCDoubleSaIS0_EEC2EmRKS1_(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %1406, ptr noundef nonnull align 1 dereferenceable(1) %111)
          to label %1407 unwind label %1430

1407:                                             ; preds = %1404
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr %112) #9
  %1408 = load i32, ptr %104, align 4, !tbaa !44
  %1409 = sext i32 %1408 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %113) #9
  call void @_ZNSaI12HighsCDoubleEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #9
  invoke void @_ZNSt6vectorI12HighsCDoubleSaIS0_EEC2EmRKS1_(ptr noundef nonnull align 8 dereferenceable(24) %112, i64 noundef %1409, ptr noundef nonnull align 1 dereferenceable(1) %113)
          to label %1410 unwind label %1434

1410:                                             ; preds = %1407
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #9
  store double 0.000000e+00, ptr %114, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #9
  %1411 = load double, ptr %93, align 8, !tbaa !45
  %1412 = fdiv double -1.000000e+00, %1411
  store double %1412, ptr %115, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  store i32 0, ptr %116, align 4, !tbaa !44
  br label %1413

1413:                                             ; preds = %1771, %1410
  %1414 = load i32, ptr %116, align 4, !tbaa !44
  %1415 = load i32, ptr %83, align 4, !tbaa !44
  %1416 = icmp slt i32 %1414, %1415
  br i1 %1416, label %1438, label %1417

1417:                                             ; preds = %1413
  store i32 40, ptr %26, align 4
  br label %1776

1418:                                             ; preds = %1390
  %1419 = landingpad { ptr, i32 }
          cleanup
  %1420 = extractvalue { ptr, i32 } %1419, 0
  store ptr %1420, ptr %15, align 8
  %1421 = extractvalue { ptr, i32 } %1419, 1
  store i32 %1421, ptr %16, align 4
  br label %1782

1422:                                             ; preds = %1398
  %1423 = landingpad { ptr, i32 }
          cleanup
  %1424 = extractvalue { ptr, i32 } %1423, 0
  store ptr %1424, ptr %15, align 8
  %1425 = extractvalue { ptr, i32 } %1423, 1
  store i32 %1425, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %107) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #9
  br label %1781

1426:                                             ; preds = %1401
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %15, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %16, align 4
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %109) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %109) #9
  br label %1780

1430:                                             ; preds = %1404
  %1431 = landingpad { ptr, i32 }
          cleanup
  %1432 = extractvalue { ptr, i32 } %1431, 0
  store ptr %1432, ptr %15, align 8
  %1433 = extractvalue { ptr, i32 } %1431, 1
  store i32 %1433, ptr %16, align 4
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %111) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #9
  br label %1779

1434:                                             ; preds = %1407
  %1435 = landingpad { ptr, i32 }
          cleanup
  %1436 = extractvalue { ptr, i32 } %1435, 0
  store ptr %1436, ptr %15, align 8
  %1437 = extractvalue { ptr, i32 } %1435, 1
  store i32 %1437, ptr %16, align 4
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %113) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %113) #9
  br label %1778

1438:                                             ; preds = %1413
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #9
  %1439 = load i32, ptr %116, align 4, !tbaa !44
  %1440 = sext i32 %1439 to i64
  %1441 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %89, i64 noundef %1440) #9
  %1442 = load double, ptr %1441, align 8, !tbaa !45
  %1443 = load double, ptr %115, align 8, !tbaa !45
  %1444 = fmul double %1442, %1443
  store double %1444, ptr %117, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 16, ptr %118) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr %119) #9
  %1445 = load double, ptr %117, align 8, !tbaa !45
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %119, double noundef %1445)
          to label %1446 unwind label %1467

1446:                                             ; preds = %1438
  %1447 = load double, ptr %114, align 8, !tbaa !45
  %1448 = invoke { double, double } @_ZNK12HighsCDoublemiEd(ptr noundef nonnull align 8 dereferenceable(16) %119, double noundef %1447)
          to label %1449 unwind label %1467

1449:                                             ; preds = %1446
  %1450 = getelementptr inbounds { double, double }, ptr %118, i32 0, i32 0
  %1451 = extractvalue { double, double } %1448, 0
  store double %1451, ptr %1450, align 8
  %1452 = getelementptr inbounds { double, double }, ptr %118, i32 0, i32 1
  %1453 = extractvalue { double, double } %1448, 1
  store double %1453, ptr %1452, align 8
  call void @llvm.lifetime.end.p0(i64 16, ptr %119) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  %1454 = load i32, ptr %116, align 4, !tbaa !44
  %1455 = sext i32 %1454 to i64
  %1456 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1455) #9
  %1457 = getelementptr inbounds %"struct.std::pair.372", ptr %1456, i32 0, i32 0
  %1458 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1457) #9
  %1459 = trunc i64 %1458 to i32
  store i32 %1459, ptr %120, align 4, !tbaa !44
  %1460 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %105, ptr noundef nonnull align 8 dereferenceable(16) %118)
          to label %1461 unwind label %1471

1461:                                             ; preds = %1449
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  store i32 0, ptr %121, align 4, !tbaa !44
  br label %1462

1462:                                             ; preds = %1623, %1461
  %1463 = load i32, ptr %121, align 4, !tbaa !44
  %1464 = load i32, ptr %120, align 4, !tbaa !44
  %1465 = icmp slt i32 %1463, %1464
  br i1 %1465, label %1475, label %1466

1466:                                             ; preds = %1462
  store i32 43, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %1628

1467:                                             ; preds = %1446, %1438
  %1468 = landingpad { ptr, i32 }
          cleanup
  %1469 = extractvalue { ptr, i32 } %1468, 0
  store ptr %1469, ptr %15, align 8
  %1470 = extractvalue { ptr, i32 } %1468, 1
  store i32 %1470, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %119) #9
  br label %1775

1471:                                             ; preds = %1449
  %1472 = landingpad { ptr, i32 }
          cleanup
  %1473 = extractvalue { ptr, i32 } %1472, 0
  store ptr %1473, ptr %15, align 8
  %1474 = extractvalue { ptr, i32 } %1472, 1
  store i32 %1474, ptr %16, align 4
  br label %1774

1475:                                             ; preds = %1462
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  %1476 = load i32, ptr %116, align 4, !tbaa !44
  %1477 = sext i32 %1476 to i64
  %1478 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1477) #9
  %1479 = getelementptr inbounds %"struct.std::pair.372", ptr %1478, i32 0, i32 0
  %1480 = load i32, ptr %121, align 4, !tbaa !44
  %1481 = sext i32 %1480 to i64
  %1482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1479, i64 noundef %1481) #9
  %1483 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40) %84, ptr noundef nonnull align 4 dereferenceable(4) %1482)
          to label %1484 unwind label %1491

1484:                                             ; preds = %1475
  %1485 = load i32, ptr %1483, align 4, !tbaa !44
  %1486 = sub nsw i32 %1485, 1
  store i32 %1486, ptr %122, align 4, !tbaa !44
  %1487 = load i32, ptr %122, align 4, !tbaa !44
  %1488 = icmp sge i32 %1487, 0
  br i1 %1488, label %1489, label %1490

1489:                                             ; preds = %1484
  br label %1496

1490:                                             ; preds = %1484
  call void @__assert_fail(ptr noundef @.str.60, ptr noundef @.str.52, i32 noundef 481, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

1491:                                             ; preds = %1475
  %1492 = landingpad { ptr, i32 }
          cleanup
  %1493 = extractvalue { ptr, i32 } %1492, 0
  store ptr %1493, ptr %15, align 8
  %1494 = extractvalue { ptr, i32 } %1492, 1
  store i32 %1494, ptr %16, align 4
  br label %1627

1495:                                             ; No predecessors!
  br label %1496

1496:                                             ; preds = %1495, %1489
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #9
  %1497 = load i32, ptr %116, align 4, !tbaa !44
  %1498 = sext i32 %1497 to i64
  %1499 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %1498) #9
  %1500 = getelementptr inbounds %"struct.std::pair.372", ptr %1499, i32 0, i32 1
  %1501 = load i32, ptr %121, align 4, !tbaa !44
  %1502 = sext i32 %1501 to i64
  %1503 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1500, i64 noundef %1502) #9
  %1504 = load double, ptr %1503, align 8, !tbaa !45
  %1505 = load double, ptr %115, align 8, !tbaa !45
  %1506 = fmul double %1504, %1505
  store double %1506, ptr %123, align 8, !tbaa !45
  %1507 = load i32, ptr %122, align 4, !tbaa !44
  %1508 = sext i32 %1507 to i64
  %1509 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %88, i64 noundef %1508) #9
  %1510 = load i8, ptr %1509, align 1, !tbaa !405
  %1511 = zext i8 %1510 to i32
  switch i32 %1511, label %1622 [
    i32 0, label %1512
    i32 1, label %1526
  ]

1512:                                             ; preds = %1496
  %1513 = load i32, ptr %122, align 4, !tbaa !44
  %1514 = sext i32 %1513 to i64
  %1515 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1514) #9
  %1516 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %1515, ptr noundef nonnull align 8 dereferenceable(8) %123)
          to label %1517 unwind label %1522

1517:                                             ; preds = %1512
  %1518 = load double, ptr %1516, align 8, !tbaa !45
  %1519 = load i32, ptr %122, align 4, !tbaa !44
  %1520 = sext i32 %1519 to i64
  %1521 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1520) #9
  store double %1518, ptr %1521, align 8, !tbaa !45
  br label %1622

1522:                                             ; preds = %1512
  %1523 = landingpad { ptr, i32 }
          cleanup
  %1524 = extractvalue { ptr, i32 } %1523, 0
  store ptr %1524, ptr %15, align 8
  %1525 = extractvalue { ptr, i32 } %1523, 1
  store i32 %1525, ptr %16, align 4
  br label %1626

1526:                                             ; preds = %1496
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #9
  %1527 = load double, ptr %123, align 8, !tbaa !45
  %1528 = call double @llvm.floor.f64(double %1527)
  store double %1528, ptr %124, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #9
  %1529 = load double, ptr %123, align 8, !tbaa !45
  %1530 = load double, ptr %124, align 8, !tbaa !45
  %1531 = fsub double %1529, %1530
  store double %1531, ptr %125, align 8, !tbaa !45
  %1532 = load i32, ptr %122, align 4, !tbaa !44
  %1533 = sext i32 %1532 to i64
  %1534 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1533) #9
  %1535 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %1534, ptr noundef nonnull align 8 dereferenceable(8) %125)
          to label %1536 unwind label %1585

1536:                                             ; preds = %1526
  %1537 = load double, ptr %1535, align 8, !tbaa !45
  %1538 = load i32, ptr %122, align 4, !tbaa !44
  %1539 = sext i32 %1538 to i64
  %1540 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1539) #9
  store double %1537, ptr %1540, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 16, ptr %126) #9
  %1541 = load double, ptr %124, align 8, !tbaa !45
  %1542 = invoke { double, double } @_ZNK12HighsCDoublemlEd(ptr noundef nonnull align 8 dereferenceable(16) %118, double noundef %1541)
          to label %1543 unwind label %1589

1543:                                             ; preds = %1536
  %1544 = getelementptr inbounds { double, double }, ptr %126, i32 0, i32 0
  %1545 = extractvalue { double, double } %1542, 0
  store double %1545, ptr %1544, align 8
  %1546 = getelementptr inbounds { double, double }, ptr %126, i32 0, i32 1
  %1547 = extractvalue { double, double } %1542, 1
  store double %1547, ptr %1546, align 8
  %1548 = load i32, ptr %122, align 4, !tbaa !44
  %1549 = sext i32 %1548 to i64
  %1550 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %1549) #9
  %1551 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %1550, ptr noundef nonnull align 8 dereferenceable(16) %126)
          to label %1552 unwind label %1589

1552:                                             ; preds = %1543
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #9
  %1553 = load i32, ptr %122, align 4, !tbaa !44
  %1554 = sext i32 %1553 to i64
  %1555 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %112, i64 noundef %1554) #9
  %1556 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %1555, ptr noundef nonnull align 8 dereferenceable(16) %118)
          to label %1557 unwind label %1585

1557:                                             ; preds = %1552
  %1558 = load i32, ptr %122, align 4, !tbaa !44
  %1559 = sext i32 %1558 to i64
  %1560 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %112, i64 noundef %1559) #9
  %1561 = load i32, ptr %122, align 4, !tbaa !44
  %1562 = sext i32 %1561 to i64
  %1563 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1562) #9
  %1564 = load double, ptr %1563, align 8, !tbaa !45
  %1565 = invoke noundef zeroext i1 @_ZNK12HighsCDoubleltEd(ptr noundef nonnull align 8 dereferenceable(16) %1560, double noundef %1564)
          to label %1566 unwind label %1585

1566:                                             ; preds = %1557
  br i1 %1565, label %1567, label %1597

1567:                                             ; preds = %1566
  call void @llvm.lifetime.start.p0(i64 16, ptr %127) #9
  %1568 = load i32, ptr %122, align 4, !tbaa !44
  %1569 = sext i32 %1568 to i64
  %1570 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %1569) #9
  %1571 = load i32, ptr %122, align 4, !tbaa !44
  %1572 = sext i32 %1571 to i64
  %1573 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %112, i64 noundef %1572) #9
  %1574 = invoke { double, double } @_ZNK12HighsCDoubleplERKS_(ptr noundef nonnull align 8 dereferenceable(16) %1570, ptr noundef nonnull align 8 dereferenceable(16) %1573)
          to label %1575 unwind label %1593

1575:                                             ; preds = %1567
  %1576 = getelementptr inbounds { double, double }, ptr %127, i32 0, i32 0
  %1577 = extractvalue { double, double } %1574, 0
  store double %1577, ptr %1576, align 8
  %1578 = getelementptr inbounds { double, double }, ptr %127, i32 0, i32 1
  %1579 = extractvalue { double, double } %1574, 1
  store double %1579, ptr %1578, align 8
  %1580 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %127)
          to label %1581 unwind label %1593

1581:                                             ; preds = %1575
  %1582 = load i32, ptr %122, align 4, !tbaa !44
  %1583 = sext i32 %1582 to i64
  %1584 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1583) #9
  store double %1580, ptr %1584, align 8, !tbaa !45
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #9
  br label %1620

1585:                                             ; preds = %1557, %1552, %1526
  %1586 = landingpad { ptr, i32 }
          cleanup
  %1587 = extractvalue { ptr, i32 } %1586, 0
  store ptr %1587, ptr %15, align 8
  %1588 = extractvalue { ptr, i32 } %1586, 1
  store i32 %1588, ptr %16, align 4
  br label %1621

1589:                                             ; preds = %1543, %1536
  %1590 = landingpad { ptr, i32 }
          cleanup
  %1591 = extractvalue { ptr, i32 } %1590, 0
  store ptr %1591, ptr %15, align 8
  %1592 = extractvalue { ptr, i32 } %1590, 1
  store i32 %1592, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %126) #9
  br label %1621

1593:                                             ; preds = %1575, %1567
  %1594 = landingpad { ptr, i32 }
          cleanup
  %1595 = extractvalue { ptr, i32 } %1594, 0
  store ptr %1595, ptr %15, align 8
  %1596 = extractvalue { ptr, i32 } %1594, 1
  store i32 %1596, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %127) #9
  br label %1621

1597:                                             ; preds = %1566
  call void @llvm.lifetime.start.p0(i64 16, ptr %128) #9
  %1598 = load i32, ptr %122, align 4, !tbaa !44
  %1599 = sext i32 %1598 to i64
  %1600 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %1599) #9
  %1601 = load i32, ptr %122, align 4, !tbaa !44
  %1602 = sext i32 %1601 to i64
  %1603 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %108, i64 noundef %1602) #9
  %1604 = load double, ptr %1603, align 8, !tbaa !45
  %1605 = invoke { double, double } @_ZNK12HighsCDoubleplEd(ptr noundef nonnull align 8 dereferenceable(16) %1600, double noundef %1604)
          to label %1606 unwind label %1616

1606:                                             ; preds = %1597
  %1607 = getelementptr inbounds { double, double }, ptr %128, i32 0, i32 0
  %1608 = extractvalue { double, double } %1605, 0
  store double %1608, ptr %1607, align 8
  %1609 = getelementptr inbounds { double, double }, ptr %128, i32 0, i32 1
  %1610 = extractvalue { double, double } %1605, 1
  store double %1610, ptr %1609, align 8
  %1611 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %128)
          to label %1612 unwind label %1616

1612:                                             ; preds = %1606
  %1613 = load i32, ptr %122, align 4, !tbaa !44
  %1614 = sext i32 %1613 to i64
  %1615 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1614) #9
  store double %1611, ptr %1615, align 8, !tbaa !45
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #9
  br label %1620

1616:                                             ; preds = %1606, %1597
  %1617 = landingpad { ptr, i32 }
          cleanup
  %1618 = extractvalue { ptr, i32 } %1617, 0
  store ptr %1618, ptr %15, align 8
  %1619 = extractvalue { ptr, i32 } %1617, 1
  store i32 %1619, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %128) #9
  br label %1621

1620:                                             ; preds = %1612, %1581
  store i32 46, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #9
  br label %1622

1621:                                             ; preds = %1616, %1593, %1589, %1585
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #9
  br label %1626

1622:                                             ; preds = %1620, %1517, %1496
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %1623

1623:                                             ; preds = %1622
  %1624 = load i32, ptr %121, align 4, !tbaa !44
  %1625 = add nsw i32 %1624, 1
  store i32 %1625, ptr %121, align 4, !tbaa !44
  br label %1462, !llvm.loop !408

1626:                                             ; preds = %1621, %1522
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #9
  br label %1627

1627:                                             ; preds = %1626, %1491
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %1774

1628:                                             ; preds = %1466
  %1629 = load i32, ptr %116, align 4, !tbaa !44
  %1630 = icmp sgt i32 %1629, 0
  br i1 %1630, label %1631, label %1766

1631:                                             ; preds = %1628
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #9
  %1632 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %105)
          to label %1633 unwind label %1639

1633:                                             ; preds = %1631
  store double %1632, ptr %129, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #9
  store i32 0, ptr %130, align 4, !tbaa !44
  br label %1634

1634:                                             ; preds = %1655, %1633
  %1635 = load i32, ptr %130, align 4, !tbaa !44
  %1636 = load i32, ptr %104, align 4, !tbaa !44
  %1637 = icmp slt i32 %1635, %1636
  br i1 %1637, label %1643, label %1638

1638:                                             ; preds = %1634
  store i32 47, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #9
  br label %1658

1639:                                             ; preds = %1631
  %1640 = landingpad { ptr, i32 }
          cleanup
  %1641 = extractvalue { ptr, i32 } %1640, 0
  store ptr %1641, ptr %15, align 8
  %1642 = extractvalue { ptr, i32 } %1640, 1
  store i32 %1642, ptr %16, align 4
  br label %1765

1643:                                             ; preds = %1634
  %1644 = load i32, ptr %130, align 4, !tbaa !44
  %1645 = sext i32 %1644 to i64
  %1646 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %86, i64 noundef %1645) #9
  %1647 = load double, ptr %1646, align 8, !tbaa !45
  %1648 = load i32, ptr %130, align 4, !tbaa !44
  %1649 = sext i32 %1648 to i64
  %1650 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1649) #9
  %1651 = load double, ptr %1650, align 8, !tbaa !45
  %1652 = load double, ptr %129, align 8, !tbaa !45
  %1653 = fneg double %1647
  %1654 = call double @llvm.fmuladd.f64(double %1653, double %1651, double %1652)
  store double %1654, ptr %129, align 8, !tbaa !45
  br label %1655

1655:                                             ; preds = %1643
  %1656 = load i32, ptr %130, align 4, !tbaa !44
  %1657 = add nsw i32 %1656, 1
  store i32 %1657, ptr %130, align 4, !tbaa !44
  br label %1634, !llvm.loop !409

1658:                                             ; preds = %1638
  %1659 = load double, ptr %93, align 8, !tbaa !45
  %1660 = load double, ptr %129, align 8, !tbaa !45
  %1661 = fmul double %1660, %1659
  store double %1661, ptr %129, align 8, !tbaa !45
  %1662 = load double, ptr %129, align 8, !tbaa !45
  %1663 = load ptr, ptr %11, align 8, !tbaa !5
  %1664 = getelementptr inbounds %class.HighsMipSolver, ptr %1663, i32 0, i32 25
  %1665 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1664) #9
  %1666 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1665, i32 0, i32 40
  %1667 = load double, ptr %1666, align 8, !tbaa !48
  %1668 = fmul double 1.000000e+01, %1667
  %1669 = fcmp ogt double %1662, %1668
  br i1 %1669, label %1670, label %1761

1670:                                             ; preds = %1658
  %1671 = load double, ptr %93, align 8, !tbaa !45
  %1672 = fneg double %1671
  store double %1672, ptr %115, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #9
  %1673 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %105)
          to label %1674 unwind label %1682

1674:                                             ; preds = %1670
  %1675 = load double, ptr %115, align 8, !tbaa !45
  %1676 = fmul double %1673, %1675
  store double %1676, ptr %131, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  store i32 0, ptr %132, align 4, !tbaa !44
  br label %1677

1677:                                             ; preds = %1693, %1674
  %1678 = load i32, ptr %132, align 4, !tbaa !44
  %1679 = load i32, ptr %104, align 4, !tbaa !44
  %1680 = icmp slt i32 %1678, %1679
  br i1 %1680, label %1686, label %1681

1681:                                             ; preds = %1677
  store i32 50, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %1696

1682:                                             ; preds = %1749, %1745, %1742, %1739, %1670
  %1683 = landingpad { ptr, i32 }
          cleanup
  %1684 = extractvalue { ptr, i32 } %1683, 0
  store ptr %1684, ptr %15, align 8
  %1685 = extractvalue { ptr, i32 } %1683, 1
  store i32 %1685, ptr %16, align 4
  br label %1760

1686:                                             ; preds = %1677
  %1687 = load double, ptr %115, align 8, !tbaa !45
  %1688 = load i32, ptr %132, align 4, !tbaa !44
  %1689 = sext i32 %1688 to i64
  %1690 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1689) #9
  %1691 = load double, ptr %1690, align 8, !tbaa !45
  %1692 = fmul double %1691, %1687
  store double %1692, ptr %1690, align 8, !tbaa !45
  br label %1693

1693:                                             ; preds = %1686
  %1694 = load i32, ptr %132, align 4, !tbaa !44
  %1695 = add nsw i32 %1694, 1
  store i32 %1695, ptr %132, align 4, !tbaa !44
  br label %1677, !llvm.loop !410

1696:                                             ; preds = %1681
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %1697 = load i32, ptr %104, align 4, !tbaa !44
  %1698 = sub nsw i32 %1697, 1
  store i32 %1698, ptr %133, align 4, !tbaa !44
  br label %1699

1699:                                             ; preds = %1736, %1696
  %1700 = load i32, ptr %133, align 4, !tbaa !44
  %1701 = icmp sge i32 %1700, 0
  br i1 %1701, label %1703, label %1702

1702:                                             ; preds = %1699
  store i32 53, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %1739

1703:                                             ; preds = %1699
  %1704 = load i32, ptr %133, align 4, !tbaa !44
  %1705 = sext i32 %1704 to i64
  %1706 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1705) #9
  %1707 = load double, ptr %1706, align 8, !tbaa !45
  %1708 = invoke noundef double @_ZSt3absd(double noundef %1707)
          to label %1709 unwind label %1731

1709:                                             ; preds = %1703
  %1710 = load ptr, ptr %11, align 8, !tbaa !5
  %1711 = getelementptr inbounds %class.HighsMipSolver, ptr %1710, i32 0, i32 25
  %1712 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1711) #9
  %1713 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1712, i32 0, i32 41
  %1714 = load double, ptr %1713, align 8, !tbaa !397
  %1715 = fcmp ole double %1708, %1714
  br i1 %1715, label %1716, label %1735

1716:                                             ; preds = %1709
  %1717 = load i32, ptr %104, align 4, !tbaa !44
  %1718 = add nsw i32 %1717, -1
  store i32 %1718, ptr %104, align 4, !tbaa !44
  %1719 = load i32, ptr %133, align 4, !tbaa !44
  %1720 = sext i32 %1719 to i64
  %1721 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1720) #9
  %1722 = load i32, ptr %104, align 4, !tbaa !44
  %1723 = sext i32 %1722 to i64
  %1724 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1723) #9
  call void @_ZSt4swapIdENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 8 dereferenceable(8) %1721, ptr noundef nonnull align 8 dereferenceable(8) %1724) #9
  %1725 = load i32, ptr %133, align 4, !tbaa !44
  %1726 = sext i32 %1725 to i64
  %1727 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1726) #9
  %1728 = load i32, ptr %104, align 4, !tbaa !44
  %1729 = sext i32 %1728 to i64
  %1730 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1729) #9
  call void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4) %1727, ptr noundef nonnull align 4 dereferenceable(4) %1730) #9
  br label %1735

1731:                                             ; preds = %1703
  %1732 = landingpad { ptr, i32 }
          cleanup
  %1733 = extractvalue { ptr, i32 } %1732, 0
  store ptr %1733, ptr %15, align 8
  %1734 = extractvalue { ptr, i32 } %1732, 1
  store i32 %1734, ptr %16, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %1760

1735:                                             ; preds = %1716, %1709
  br label %1736

1736:                                             ; preds = %1735
  %1737 = load i32, ptr %133, align 4, !tbaa !44
  %1738 = add nsw i32 %1737, -1
  store i32 %1738, ptr %133, align 4, !tbaa !44
  br label %1699, !llvm.loop !411

1739:                                             ; preds = %1702
  %1740 = load i32, ptr %104, align 4, !tbaa !44
  %1741 = sext i32 %1740 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %1741)
          to label %1742 unwind label %1682

1742:                                             ; preds = %1739
  %1743 = load i32, ptr %104, align 4, !tbaa !44
  %1744 = sext i32 %1743 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %85, i64 noundef %1744)
          to label %1745 unwind label %1682

1745:                                             ; preds = %1742
  %1746 = load ptr, ptr %9, align 8, !tbaa !5
  %1747 = invoke noundef zeroext i1 @_ZN18HighsTransformedLp11untransformERSt6vectorIdSaIdEERS0_IiSaIiEERdb(ptr noundef nonnull align 8 dereferenceable(248) %1746, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 8 dereferenceable(8) %131, i1 noundef zeroext false)
          to label %1748 unwind label %1682

1748:                                             ; preds = %1745
  br i1 %1747, label %1749, label %1759

1749:                                             ; preds = %1748
  %1750 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration17finalizeAndAddCutERSt6vectorIiSaIiEERS0_IdSaIdEERd(ptr noundef nonnull align 8 dereferenceable(288) %52, ptr noundef nonnull align 8 dereferenceable(24) %85, ptr noundef nonnull align 8 dereferenceable(24) %106, ptr noundef nonnull align 8 dereferenceable(8) %131)
          to label %1751 unwind label %1682

1751:                                             ; preds = %1749
  %1752 = zext i1 %1750 to i32
  %1753 = load i8, ptr %60, align 1, !tbaa !398, !range !401, !noundef !402
  %1754 = trunc i8 %1753 to i1
  %1755 = zext i1 %1754 to i32
  %1756 = or i32 %1755, %1752
  %1757 = icmp ne i32 %1756, 0
  %1758 = zext i1 %1757 to i8
  store i8 %1758, ptr %60, align 1, !tbaa !398
  br label %1759

1759:                                             ; preds = %1751, %1748
  store i32 40, ptr %26, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  br label %1762

1760:                                             ; preds = %1731, %1682
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  br label %1765

1761:                                             ; preds = %1658
  store i32 0, ptr %26, align 4
  br label %1762

1762:                                             ; preds = %1761, %1759
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #9
  %1763 = load i32, ptr %26, align 4
  switch i32 %1763, label %1768 [
    i32 0, label %1764
  ]

1764:                                             ; preds = %1762
  br label %1766

1765:                                             ; preds = %1760, %1639
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #9
  br label %1774

1766:                                             ; preds = %1764, %1628
  %1767 = load double, ptr %117, align 8, !tbaa !45
  store double %1767, ptr %114, align 8, !tbaa !45
  store i32 0, ptr %26, align 4
  br label %1768

1768:                                             ; preds = %1766, %1762
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %118) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #9
  %1769 = load i32, ptr %26, align 4
  switch i32 %1769, label %1776 [
    i32 0, label %1770
  ]

1770:                                             ; preds = %1768
  br label %1771

1771:                                             ; preds = %1770
  %1772 = load i32, ptr %116, align 4, !tbaa !44
  %1773 = add nsw i32 %1772, 1
  store i32 %1773, ptr %116, align 4, !tbaa !44
  br label %1413, !llvm.loop !412

1774:                                             ; preds = %1765, %1627, %1471
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %1775

1775:                                             ; preds = %1774, %1467
  call void @llvm.lifetime.end.p0(i64 16, ptr %118) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #9
  br label %1778

1776:                                             ; preds = %1768, %1417
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %1777

1777:                                             ; preds = %1776
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %112) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %110) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %108) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %1783

1778:                                             ; preds = %1775, %1434
  call void @llvm.lifetime.end.p0(i64 24, ptr %112) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %110) #9
  br label %1779

1779:                                             ; preds = %1778, %1430
  call void @llvm.lifetime.end.p0(i64 24, ptr %110) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %108) #9
  br label %1780

1780:                                             ; preds = %1779, %1426
  call void @llvm.lifetime.end.p0(i64 24, ptr %108) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %106) #9
  br label %1781

1781:                                             ; preds = %1780, %1422
  call void @llvm.lifetime.end.p0(i64 24, ptr %106) #9
  br label %1782

1782:                                             ; preds = %1781, %1418
  call void @llvm.lifetime.end.p0(i64 16, ptr %105) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %1784

1783:                                             ; preds = %1777, %1387
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %92) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %91) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %89) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #9
  call void @_ZN14HighsHashTableIiiED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %84) #9
  br label %1788

1784:                                             ; preds = %1782, %1385
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %92) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %92) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %91) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #9
  br label %1785

1785:                                             ; preds = %1784, %1143
  call void @llvm.lifetime.end.p0(i64 24, ptr %89) #9
  br label %1786

1786:                                             ; preds = %1785, %1139
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %88) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %87) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %86) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %85) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %85) #9
  call void @_ZN14HighsHashTableIiiED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %84) #9
  br label %1787

1787:                                             ; preds = %1786, %1135
  call void @llvm.lifetime.end.p0(i64 40, ptr %84) #9
  br label %1805

1788:                                             ; preds = %1783, %1084
  %1789 = load ptr, ptr %8, align 8, !tbaa !5
  invoke void @_ZN17HighsLpAggregator5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %1789)
          to label %1790 unwind label %1794

1790:                                             ; preds = %1788
  %1791 = load i8, ptr %64, align 1, !tbaa !398, !range !401, !noundef !402
  %1792 = trunc i8 %1791 to i1
  br i1 %1792, label %1798, label %1793

1793:                                             ; preds = %1790
  store i32 26, ptr %26, align 4
  br label %1799

1794:                                             ; preds = %1788
  %1795 = landingpad { ptr, i32 }
          cleanup
  %1796 = extractvalue { ptr, i32 } %1795, 0
  store ptr %1796, ptr %15, align 8
  %1797 = extractvalue { ptr, i32 } %1795, 1
  store i32 %1797, ptr %16, align 4
  br label %1805

1798:                                             ; preds = %1790
  store i32 0, ptr %26, align 4
  br label %1799

1799:                                             ; preds = %1798, %1793
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  %1800 = load i32, ptr %26, align 4
  switch i32 %1800, label %1807 [
    i32 0, label %1801
  ]

1801:                                             ; preds = %1799
  br label %1802

1802:                                             ; preds = %1801
  %1803 = load i32, ptr %61, align 4, !tbaa !44
  %1804 = add nsw i32 %1803, 1
  store i32 %1804, ptr %61, align 4, !tbaa !44
  br label %799, !llvm.loop !413

1805:                                             ; preds = %1794, %1787
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %1806

1806:                                             ; preds = %1805, %1083, %859
  call void @llvm.lifetime.end.p0(i64 24, ptr %69) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %1808

1807:                                             ; preds = %1799, %802
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %1809

1808:                                             ; preds = %1806, %809
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #9
  call void @_ZN18HighsCutGenerationD2Ev(ptr noundef nonnull align 8 dereferenceable(288) %52) #9
  br label %1814

1809:                                             ; preds = %1807
  call void @llvm.lifetime.end.p0(i64 1, ptr %60) #9
  br label %1810

1810:                                             ; preds = %1809, %770
  %1811 = load i32, ptr %59, align 4, !tbaa !44
  %1812 = add nsw i32 %1811, 1
  store i32 %1812, ptr %59, align 4, !tbaa !44
  br label %754, !llvm.loop !414

1813:                                             ; preds = %760
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %56) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %53) #9
  call void @_ZN18HighsCutGenerationD2Ev(ptr noundef nonnull align 8 dereferenceable(288) %52) #9
  call void @llvm.lifetime.end.p0(i64 288, ptr %52) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #9
  call void @_ZNSt6vectorI7RowTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  ret void

1814:                                             ; preds = %1808, %761
  call void @llvm.lifetime.end.p0(i64 288, ptr %52) #9
  br label %1815

1815:                                             ; preds = %1814, %749
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #9
  br label %1816

1816:                                             ; preds = %1815, %545
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #9
  br label %1817

1817:                                             ; preds = %1816, %541
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %42) #9
  br label %1818

1818:                                             ; preds = %1817, %537
  call void @llvm.lifetime.end.p0(i64 24, ptr %42) #9
  br label %1819

1819:                                             ; preds = %1818, %533
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %41) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %41) #9
  br label %1820

1820:                                             ; preds = %1819, %504
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  br label %1821

1821:                                             ; preds = %1820, %379
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #9
  br label %1822

1822:                                             ; preds = %1821, %288
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %1823

1823:                                             ; preds = %1822, %275
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #9
  br label %1824

1824:                                             ; preds = %1823, %153
  call void @_ZNSt6vectorI7RowTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #9
  br label %1825

1825:                                             ; preds = %1824
  %1826 = load ptr, ptr %15, align 8
  %1827 = load i32, ptr %16, align 4
  %1828 = insertvalue { ptr, i32 } poison, ptr %1826, 0
  %1829 = insertvalue { ptr, i32 } %1828, i32 %1827, 1
  resume { ptr, i32 } %1829

1830:                                             ; preds = %1079, %976, %744, %497, %347
  unreachable
}

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(920) ptr @_ZNK17HighsLpRelaxation5getLpEv(ptr noundef nonnull align 8 dereferenceable(21425)) #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)) #1 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

declare void @_ZN18HighsCutGenerationC1ERK17HighsLpRelaxationR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(680)) unnamed_addr #5

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

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

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

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

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

declare void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, double noundef) #5

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

declare void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) #5

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425), i32 noundef) #1 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) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #6 align 2

declare noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) #5

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) #6 align 2

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

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

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

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

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

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

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

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

declare noundef zeroext i1 @_ZN18HighsTransformedLp9transformERSt6vectorIdSaIdEES3_S3_RS0_IiSaIiEERdRbb(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1), i1 noundef zeroext) #5

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 4 dereferenceable(4)) #1 align 2

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

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

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

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

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

; Function Attrs: nounwind
declare double @exp2(double noundef) #7

; Function Attrs: nounwind
declare double @log2(double noundef) #7

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoublemiEd(ptr noundef nonnull align 8 dereferenceable(16), double noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoublemlEd(ptr noundef nonnull align 8 dereferenceable(16), double noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoubleplERKS_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) #1 align 2

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #3

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

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

declare noundef zeroext i1 @_ZN18HighsTransformedLp11untransformERSt6vectorIdSaIdEERS0_IiSaIiEERdb(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) #5

declare noundef zeroext i1 @_ZN18HighsCutGeneration17finalizeAndAddCutERSt6vectorIiSaIiEERS0_IdSaIdEERd(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) #5

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

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

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

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

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

declare void @_ZN17HighsLpAggregator5clearEv(ptr noundef nonnull align 8 dereferenceable(56)) #5

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

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

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

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

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

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

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

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

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

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

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


; 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.153" = type { %"struct.std::_Vector_base.154" }
%"struct.std::_Vector_base.154" = type { %"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl" }
%"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl" = type { %"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<RowType, std::allocator<RowType>>::_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<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.std::allocator.15" = type { i8 }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.std::vector.135" = type { %"struct.std::_Vector_base.136" }
%"struct.std::_Vector_base.136" = 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 }
%"struct.std::pair" = type { i32, double }
%"class.std::allocator.137" = type { i8 }
%"class.std::vector.158" = type { %"struct.std::_Vector_base.159" }
%"struct.std::_Vector_base.159" = 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::allocator.160" = type { i8 }
%class.HighsCutGeneration = type { ptr, ptr, %class.HighsRandom, %"class.std::vector.13", %class.HighsCDouble, %class.HighsCDouble, %"class.std::vector", %"class.std::vector", %"class.std::vector.120", %"class.std::vector.120", double, double, ptr, ptr, %class.HighsCDouble, i8, i8, i32, double, %"class.std::vector.13", %"class.std::vector" }
%class.HighsRandom = type { i64 }
%"class.std::vector.120" = type { %"struct.std::_Vector_base.121" }
%"struct.std::_Vector_base.121" = 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.HighsCDouble = type { double, double }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.364" = type { %"struct.std::_Vector_base.365" }
%"struct.std::_Vector_base.365" = type { %"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<std::vector<int>, std::vector<double>>, std::allocator<std::pair<std::vector<int>, std::vector<double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.std::array" = type { [2 x double] }
%class.anon = type { ptr, ptr }
%class.anon.369 = type { ptr, ptr }
%class.anon.370 = type { ptr, ptr, ptr, ptr }
%class.anon.371 = type { ptr, ptr, ptr }
%class.HighsHashTable.314 = type { %"class.std::unique_ptr.315", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.315" = type { %"struct.std::__uniq_ptr_data.316" }
%"struct.std::__uniq_ptr_data.316" = type { %"class.std::__uniq_ptr_impl.317" }
%"class.std::__uniq_ptr_impl.317" = type { %"class.std::tuple.318" }
%"class.std::tuple.318" = type { %"struct.std::_Tuple_impl.319" }
%"struct.std::_Tuple_impl.319" = type { %"struct.std::_Head_base.322" }
%"struct.std::_Head_base.322" = type { ptr }
%"class.std::unique_ptr.87" = type { %"struct.std::__uniq_ptr_data.88" }
%"struct.std::__uniq_ptr_data.88" = type { %"class.std::__uniq_ptr_impl.89" }
%"class.std::__uniq_ptr_impl.89" = type { %"class.std::tuple.90" }
%"class.std::tuple.90" = type { %"struct.std::_Tuple_impl.91" }
%"struct.std::_Tuple_impl.91" = type { %"struct.std::_Head_base.94" }
%"struct.std::_Head_base.94" = type { ptr }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.140" = type { %"struct.std::_Vector_base.141" }
%"struct.std::_Vector_base.141" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.142" = type { i8 }

@.str.51 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [80 x i8], align 1
@__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool = external hidden unnamed_addr constant [132 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [31 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [7 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 uwtable
define dso_local void @_ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(32) %0, ptr noundef nonnull align 8 dereferenceable(21425) %1, ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(680) %4) unnamed_addr #1 align 2 personality ptr @__gxx_personality_v0 {
  %6 = alloca %"class.std::vector.153", align 8
  %7 = alloca %"class.std::vector.13", align 8
  %8 = alloca %"class.std::allocator.15", align 1
  %9 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %10 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %11 = alloca %"class.std::vector.135", align 8
  %12 = alloca %"struct.std::pair", align 8
  %13 = alloca i32, align 4
  %14 = alloca double, align 8
  %15 = alloca %"class.std::allocator.137", align 1
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca %"class.std::vector.135", align 8
  %20 = alloca %"class.std::vector.158", align 8
  %21 = alloca %"class.std::allocator.160", align 1
  %22 = alloca %"class.std::vector.135", align 8
  %23 = alloca %"class.std::vector.158", align 8
  %24 = alloca %"class.std::allocator.160", align 1
  %25 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %26 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %27 = alloca %class.HighsCutGeneration, align 8
  %28 = alloca %"class.std::vector.13", align 8
  %29 = alloca %"class.std::vector", align 8
  %30 = alloca [6 x i32], align 16
  %31 = alloca %"class.std::vector.364", align 8
  %32 = alloca %"struct.std::array", align 8
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca %class.anon, align 8
  %36 = alloca i8, align 1
  %37 = alloca double, align 8
  %38 = alloca double, align 8
  %39 = alloca %class.anon.369, align 8
  %40 = alloca %class.anon.370, align 8
  %41 = alloca %class.anon.371, align 8
  %42 = alloca i32, align 4
  %43 = alloca double, align 8
  %44 = alloca i32, align 4
  %45 = alloca double, align 8
  %46 = alloca i32, align 4
  %47 = alloca double, align 8
  %48 = alloca i32, align 4
  %49 = alloca double, align 8
  %50 = alloca %class.HighsHashTable.314, align 8
  %51 = alloca %"class.std::vector.13", align 8
  %52 = alloca %"class.std::vector", align 8
  %53 = alloca %"class.std::vector", align 8
  %54 = alloca %"class.std::vector.120", align 8
  %55 = alloca %"class.std::vector", align 8
  %56 = alloca %"class.std::allocator.0", align 1
  %57 = alloca %"class.std::vector", align 8
  %58 = alloca %"class.std::vector", align 8
  %59 = alloca double, align 8
  %60 = alloca i8, align 1
  %61 = alloca double, align 8
  %62 = alloca i32, align 4
  %63 = alloca i8, align 1
  %64 = alloca double, align 8
  %65 = alloca double, align 8
  %66 = alloca %class.HighsCDouble, align 8
  %67 = alloca %"class.std::vector", align 8
  %68 = alloca %"class.std::allocator.0", align 1
  %69 = alloca %"class.std::vector", align 8
  %70 = alloca %"class.std::allocator.0", align 1
  %71 = alloca %"class.std::vector.140", align 8
  %72 = alloca %"class.std::allocator.142", align 1
  %73 = alloca %"class.std::vector.140", align 8
  %74 = alloca %"class.std::allocator.142", align 1
  %75 = alloca %class.HighsCDouble, align 8
  %76 = alloca %class.HighsCDouble, align 8
  %77 = alloca double, align 8
  %78 = alloca double, align 8
  %79 = alloca %class.HighsCDouble, align 8
  %80 = alloca %class.HighsCDouble, align 8
  %81 = alloca %class.HighsCDouble, align 8
  %82 = alloca double, align 8
  %83 = tail call noundef nonnull align 8 dereferenceable(496) ptr @_ZNK17HighsLpRelaxation12getMipSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %1)
  %84 = tail call noundef nonnull align 8 dereferenceable(920) ptr @_ZNK17HighsLpRelaxation5getLpEv(ptr noundef nonnull align 8 dereferenceable(21425) %1)
  %85 = tail call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %1)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #9
  call void @_ZNSt6vectorI7RowTypeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  %86 = getelementptr inbounds i8, ptr %84, i64 4
  %87 = load i32, ptr %86, align 4, !tbaa !5
  %88 = sext i32 %87 to i64
  invoke void @_ZNSt6vectorI7RowTypeSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %88)
          to label %.preheader494 unwind label %95

.preheader494:                                    ; preds = %5
  %89 = load i32, ptr %86, align 4, !tbaa !5
  %.not405515 = icmp eq i32 %89, 0
  br i1 %.not405515, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.preheader494
  %90 = getelementptr inbounds i8, ptr %84, i64 80
  %91 = getelementptr inbounds i8, ptr %84, i64 104
  %92 = getelementptr inbounds i8, ptr %85, i64 56
  %93 = getelementptr inbounds i8, ptr %83, i64 224
  br label %97

._crit_edge:                                      ; preds = %142, %.preheader494
  %.lcssa514 = phi i32 [ 0, %.preheader494 ], [ %143, %142 ]
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #9
  %94 = sext i32 %.lcssa514 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #9
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %94, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %145 unwind label %156

95:                                               ; preds = %5
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %890

97:                                               ; preds = %.lr.ph, %142
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %142 ]
  %98 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %indvars.iv) #9
  %99 = load double, ptr %98, align 8, !tbaa !43
  %100 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %indvars.iv) #9
  %101 = load double, ptr %100, align 8, !tbaa !43
  %102 = fcmp oeq double %99, %101
  br i1 %102, label %103, label %105

103:                                              ; preds = %97
  %104 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #9
  store i8 0, ptr %104, align 1, !tbaa !44
  br label %142

105:                                              ; preds = %97
  %106 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %indvars.iv) #9
  %107 = load double, ptr %106, align 8, !tbaa !43
  %108 = fcmp une double %107, 0xFFF0000000000000
  br i1 %108, label %109, label %115

109:                                              ; preds = %105
  %110 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %92, i64 noundef %indvars.iv) #9
  %111 = load double, ptr %110, align 8, !tbaa !43
  %112 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %indvars.iv) #9
  %113 = load double, ptr %112, align 8, !tbaa !43
  %114 = fsub double %111, %113
  br label %115

115:                                              ; preds = %109, %105
  %.0343 = phi double [ %114, %109 ], [ 0x7FF0000000000000, %105 ]
  %116 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %indvars.iv) #9
  %117 = load double, ptr %116, align 8, !tbaa !43
  %118 = fcmp une double %117, 0x7FF0000000000000
  br i1 %118, label %119, label %125

119:                                              ; preds = %115
  %120 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %indvars.iv) #9
  %121 = load double, ptr %120, align 8, !tbaa !43
  %122 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %92, i64 noundef %indvars.iv) #9
  %123 = load double, ptr %122, align 8, !tbaa !43
  %124 = fsub double %121, %123
  br label %125

125:                                              ; preds = %119, %115
  %.0357 = phi double [ %124, %119 ], [ 0x7FF0000000000000, %115 ]
  %126 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93) #9
  %127 = getelementptr inbounds i8, ptr %126, i64 26144
  %128 = load double, ptr %127, align 8, !tbaa !46
  %129 = fcmp ogt double %.0343, %128
  br i1 %129, label %130, label %137

130:                                              ; preds = %125
  %131 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %93) #9
  %132 = getelementptr inbounds i8, ptr %131, i64 26144
  %133 = load double, ptr %132, align 8, !tbaa !46
  %134 = fcmp ogt double %.0357, %133
  br i1 %134, label %135, label %137

135:                                              ; preds = %130
  %136 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #9
  store i8 -2, ptr %136, align 1, !tbaa !44
  br label %142

137:                                              ; preds = %130, %125
  %138 = fcmp olt double %.0343, %.0357
  %139 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv) #9
  br i1 %138, label %140, label %141

140:                                              ; preds = %137
  store i8 -1, ptr %139, align 1, !tbaa !44
  br label %142

141:                                              ; preds = %137
  store i8 1, ptr %139, align 1, !tbaa !44
  br label %142

142:                                              ; preds = %135, %141, %140, %103
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %143 = load i32, ptr %86, align 4, !tbaa !5
  %144 = zext i32 %143 to i64
  %.not405 = icmp eq i64 %indvars.iv.next, %144
  br i1 %.not405, label %._crit_edge, label %97, !llvm.loop !381

145:                                              ; preds = %._crit_edge
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  %146 = getelementptr inbounds i8, ptr %83, i64 224
  %147 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %148 = getelementptr inbounds i8, ptr %147, i64 25888
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #9
  %149 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %148) #9
  store ptr %149, ptr %9, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #9
  %150 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %148) #9
  store ptr %150, ptr %10, align 8
  %151 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  br i1 %151, label %.lr.ph523, label %._crit_edge524

.lr.ph523:                                        ; preds = %145
  %152 = getelementptr inbounds i8, ptr %84, i64 144
  %153 = getelementptr inbounds i8, ptr %84, i64 192
  br label %158

._crit_edge524:                                   ; preds = %.loopexit493, %145
  %.0359.lcssa = phi i64 [ 0, %145 ], [ %.1360, %.loopexit493 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #9
  %154 = load i32, ptr %84, align 8, !tbaa !383
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #9
  store i32 -1, ptr %13, align 4, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #9
  store double 0.000000e+00, ptr %14, align 8, !tbaa !43
  %155 = invoke { i32, double } @_ZSt9make_pairIidESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS1_INS2_IT0_E4typeEE6__typeEEOS3_OS8_(ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %190 unwind label %197

156:                                              ; preds = %._crit_edge
  %157 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #9
  br label %889

158:                                              ; preds = %.lr.ph523, %.loopexit493
  %.0359521 = phi i64 [ 0, %.lr.ph523 ], [ %.1360, %.loopexit493 ]
  %159 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  %160 = load i32, ptr %159, align 4, !tbaa !384
  %161 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %160)
  %162 = fcmp oeq double %161, 0.000000e+00
  br i1 %162, label %.loopexit493, label %163

163:                                              ; preds = %158
  %164 = add nsw i32 %160, 1
  %165 = sext i32 %164 to i64
  %166 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %165) #9
  %167 = load i32, ptr %166, align 4, !tbaa !384
  %168 = sext i32 %160 to i64
  %169 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %168) #9
  %170 = load i32, ptr %169, align 4, !tbaa !384
  %171 = sub nsw i32 %167, %170
  %172 = sext i32 %171 to i64
  %173 = add i64 %.0359521, %172
  %174 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %168) #9
  %175 = load i32, ptr %174, align 4, !tbaa !384
  %176 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %165) #9
  %177 = load i32, ptr %176, align 4, !tbaa !384
  %.not461517 = icmp eq i32 %175, %177
  br i1 %.not461517, label %.loopexit493, label %.lr.ph520.preheader

.lr.ph520.preheader:                              ; preds = %163
  %178 = sext i32 %175 to i64
  br label %.lr.ph520

.lr.ph520:                                        ; preds = %.lr.ph520.preheader, %.lr.ph520
  %indvars.iv607 = phi i64 [ %178, %.lr.ph520.preheader ], [ %indvars.iv.next608, %.lr.ph520 ]
  %179 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %indvars.iv607) #9
  %180 = load i32, ptr %179, align 4, !tbaa !384
  %181 = sext i32 %180 to i64
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %181) #9
  %183 = load i32, ptr %182, align 4, !tbaa !384
  %184 = add nsw i32 %183, 1
  store i32 %184, ptr %182, align 4, !tbaa !384
  %indvars.iv.next608 = add nsw i64 %indvars.iv607, 1
  %185 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %165) #9
  %186 = load i32, ptr %185, align 4, !tbaa !384
  %187 = trunc nsw i64 %indvars.iv.next608 to i32
  %.not461 = icmp eq i32 %186, %187
  br i1 %.not461, label %.loopexit493, label %.lr.ph520, !llvm.loop !385

.loopexit493:                                     ; preds = %.lr.ph520, %163, %158
  %.1360 = phi i64 [ %.0359521, %158 ], [ %173, %163 ], [ %173, %.lr.ph520 ]
  %188 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %9) #9
  %189 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10) #9
  br i1 %189, label %158, label %._crit_edge524

190:                                              ; preds = %._crit_edge524
  %191 = sext i32 %154 to i64
  %192 = extractvalue { i32, double } %155, 0
  store i32 %192, ptr %12, align 8
  %193 = getelementptr inbounds i8, ptr %12, i64 8
  %194 = extractvalue { i32, double } %155, 1
  store double %194, ptr %193, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #9
  call void @_ZNSaISt4pairIidEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EEC2EmRKS1_RKS2_(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %191, ptr noundef nonnull align 8 dereferenceable(16) %12, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %195 unwind label %199

195:                                              ; preds = %190
  call void @_ZNSt15__new_allocatorISt4pairIidEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #9
  %196 = load i32, ptr %86, align 4, !tbaa !5
  %.not407529 = icmp eq i32 %196, 0
  br i1 %.not407529, label %._crit_edge533, label %.lr.ph532

._crit_edge533:                                   ; preds = %250, %195
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %.0359.lcssa)
          to label %253 unwind label %269

197:                                              ; preds = %._crit_edge524
  %198 = landingpad { ptr, i32 }
          cleanup
  br label %201

199:                                              ; preds = %190
  %200 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt4pairIidEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #9
  br label %201

201:                                              ; preds = %199, %197
  %.pn = phi { ptr, i32 } [ %200, %199 ], [ %198, %197 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #9
  br label %888

.lr.ph532:                                        ; preds = %195, %250
  %indvars.iv613 = phi i64 [ %indvars.iv.next614, %250 ], [ 0, %195 ]
  %202 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv613) #9
  %203 = load i8, ptr %202, align 1, !tbaa !44
  %.not450 = icmp eq i8 %203, 0
  br i1 %.not450, label %204, label %250

204:                                              ; preds = %.lr.ph532
  %205 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %7, i64 noundef %indvars.iv613) #9
  %206 = load i32, ptr %205, align 4, !tbaa !384
  %.not451 = icmp eq i32 %206, 1
  br i1 %.not451, label %207, label %250

207:                                              ; preds = %204
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #9
  %208 = trunc nuw nsw i64 %indvars.iv613 to i32
  invoke void @_ZNK17HighsLpRelaxation6getRowEiRiRPKiRPKd(ptr noundef nonnull align 8 dereferenceable(21425) %1, i32 noundef %208, ptr noundef nonnull align 4 dereferenceable(4) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18)
          to label %.preheader491 unwind label %210

.preheader491:                                    ; preds = %207
  %209 = load i32, ptr %16, align 4, !tbaa !384
  %.not457526 = icmp eq i32 %209, 0
  br i1 %.not457526, label %.thread, label %.lr.ph528

210:                                              ; preds = %207
  %211 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #9
  br label %887

.lr.ph528:                                        ; preds = %.preheader491, %222
  %indvars.iv610 = phi i64 [ %indvars.iv.next611, %222 ], [ 0, %.preheader491 ]
  %212 = load ptr, ptr %17, align 8, !tbaa !386
  %213 = getelementptr inbounds i32, ptr %212, i64 %indvars.iv610
  %214 = load i32, ptr %213, align 4, !tbaa !384
  %215 = call noundef zeroext i8 @_ZNK14HighsMipSolver12variableTypeEi(ptr noundef nonnull align 8 dereferenceable(496) %83, i32 noundef %214)
  %.not458 = icmp eq i8 %215, 0
  br i1 %.not458, label %216, label %222

216:                                              ; preds = %.lr.ph528
  %217 = load ptr, ptr %17, align 8, !tbaa !386
  %218 = getelementptr inbounds i32, ptr %217, i64 %indvars.iv610
  %219 = load i32, ptr %218, align 4, !tbaa !384
  %220 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %219)
  %221 = fcmp oeq double %220, 0.000000e+00
  br i1 %221, label %222, label %225

222:                                              ; preds = %216, %.lr.ph528
  %indvars.iv.next611 = add nuw nsw i64 %indvars.iv610, 1
  %223 = load i32, ptr %16, align 4, !tbaa !384
  %224 = zext i32 %223 to i64
  %.not457 = icmp eq i64 %indvars.iv.next611, %224
  br i1 %.not457, label %.thread, label %.lr.ph528, !llvm.loop !387

225:                                              ; preds = %216
  %226 = load ptr, ptr %17, align 8, !tbaa !386
  %227 = getelementptr inbounds i32, ptr %226, i64 %indvars.iv610
  %228 = load i32, ptr %227, align 4, !tbaa !384
  %229 = load ptr, ptr %18, align 8, !tbaa !386
  %230 = getelementptr inbounds double, ptr %229, i64 %indvars.iv610
  %231 = load double, ptr %230, align 8, !tbaa !43
  %.not459 = icmp eq i32 %228, -1
  br i1 %.not459, label %.thread, label %232

.thread:                                          ; preds = %225, %.preheader491, %222
  call void @__assert_fail(ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.52, i32 noundef 98, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

232:                                              ; preds = %225
  %233 = call noundef zeroext i8 @_ZNK14HighsMipSolver12variableTypeEi(ptr noundef nonnull align 8 dereferenceable(496) %83, i32 noundef %228)
  %234 = icmp eq i8 %233, 0
  br i1 %234, label %236, label %235

235:                                              ; preds = %232
  call void @__assert_fail(ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.52, i32 noundef 99, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

236:                                              ; preds = %232
  %237 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %228)
  %238 = fcmp ogt double %237, 0.000000e+00
  br i1 %238, label %240, label %239

239:                                              ; preds = %236
  call void @__assert_fail(ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.52, i32 noundef 100, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

240:                                              ; preds = %236
  %241 = sext i32 %228 to i64
  %242 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %241) #9
  %243 = load i32, ptr %242, align 8, !tbaa !388
  %.not460 = icmp eq i32 %243, -1
  br i1 %.not460, label %244, label %249

244:                                              ; preds = %240
  %245 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %241) #9
  store i32 %208, ptr %245, align 8, !tbaa !388
  %246 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %241) #9
  %247 = getelementptr inbounds i8, ptr %246, i64 8
  store double %231, ptr %247, align 8, !tbaa !390
  %248 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv613) #9
  store i8 -2, ptr %248, align 1, !tbaa !44
  br label %249

249:                                              ; preds = %240, %244
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #9
  br label %250

250:                                              ; preds = %249, %.lr.ph532, %204
  %indvars.iv.next614 = add nuw nsw i64 %indvars.iv613, 1
  %251 = load i32, ptr %86, align 4, !tbaa !5
  %252 = zext i32 %251 to i64
  %.not407 = icmp eq i64 %indvars.iv.next614, %252
  br i1 %.not407, label %._crit_edge533, label %.lr.ph532, !llvm.loop !391

253:                                              ; preds = %._crit_edge533
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #9
  %254 = load i32, ptr %84, align 8, !tbaa !383
  %255 = sext i32 %254 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %21) #9
  call void @_ZNSaISt4pairIiiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %255, ptr noundef nonnull align 1 dereferenceable(1) %21)
          to label %256 unwind label %271

256:                                              ; preds = %253
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef %.0359.lcssa)
          to label %257 unwind label %273

257:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #9
  %258 = load i32, ptr %84, align 8, !tbaa !383
  %259 = sext i32 %258 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #9
  call void @_ZNSaISt4pairIiiEEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  invoke void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %259, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %260 unwind label %275

260:                                              ; preds = %257
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  %261 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %262 = getelementptr inbounds i8, ptr %261, i64 25888
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #9
  %263 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %262) #9
  store ptr %263, ptr %25, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #9
  %264 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %262) #9
  store ptr %264, ptr %26, align 8
  %265 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #9
  br i1 %265, label %.lr.ph540, label %._crit_edge541

.lr.ph540:                                        ; preds = %260
  %266 = getelementptr inbounds i8, ptr %84, i64 144
  %267 = getelementptr inbounds i8, ptr %84, i64 192
  %268 = getelementptr inbounds i8, ptr %84, i64 216
  br label %277

._crit_edge541:                                   ; preds = %343, %260
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  call void @llvm.lifetime.start.p0(i64 288, ptr nonnull %27) #9
  invoke void @_ZN18HighsCutGenerationC1ERK17HighsLpRelaxationR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(288) %27, ptr noundef nonnull align 8 dereferenceable(21425) %1, ptr noundef nonnull align 8 dereferenceable(680) %4)
          to label %346 unwind label %360

269:                                              ; preds = %._crit_edge533
  %270 = landingpad { ptr, i32 }
          cleanup
  br label %886

271:                                              ; preds = %253
  %272 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %21) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %21) #9
  br label %885

273:                                              ; preds = %256
  %274 = landingpad { ptr, i32 }
          cleanup
  br label %884

275:                                              ; preds = %257
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorISt4pairIiiEED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #9
  br label %883

277:                                              ; preds = %.lr.ph540, %343
  %278 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #9
  %279 = load i32, ptr %278, align 4, !tbaa !384
  %280 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %279)
  %281 = fcmp oeq double %280, 0.000000e+00
  br i1 %281, label %343, label %282

282:                                              ; preds = %277
  %283 = sext i32 %279 to i64
  %284 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %283) #9
  %285 = load i32, ptr %284, align 8, !tbaa !388
  %.not442 = icmp eq i32 %285, -1
  br i1 %.not442, label %286, label %343

286:                                              ; preds = %282
  %287 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  %288 = trunc i64 %287 to i32
  %289 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %283) #9
  store i32 %288, ptr %289, align 4, !tbaa !392
  %290 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  %291 = trunc i64 %290 to i32
  %292 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %283) #9
  store i32 %291, ptr %292, align 4, !tbaa !392
  %293 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %266, i64 noundef %283) #9
  %294 = load i32, ptr %293, align 4, !tbaa !384
  %295 = add nsw i32 %279, 1
  %296 = sext i32 %295 to i64
  %297 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %266, i64 noundef %296) #9
  %298 = load i32, ptr %297, align 4, !tbaa !384
  %.not443534 = icmp eq i32 %294, %298
  br i1 %.not443534, label %._crit_edge538, label %.lr.ph537.preheader

.lr.ph537.preheader:                              ; preds = %286
  %299 = sext i32 %294 to i64
  br label %.lr.ph537

._crit_edge538:                                   ; preds = %339, %286
  %300 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  %301 = trunc i64 %300 to i32
  %302 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %283) #9
  %303 = getelementptr inbounds i8, ptr %302, i64 4
  store i32 %301, ptr %303, align 4, !tbaa !394
  %304 = call noundef i64 @_ZNKSt6vectorISt4pairIidESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  %305 = trunc i64 %304 to i32
  %306 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNSt6vectorISt4pairIiiESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %283) #9
  %307 = getelementptr inbounds i8, ptr %306, i64 4
  store i32 %305, ptr %307, align 4, !tbaa !394
  br label %343

.lr.ph537:                                        ; preds = %.lr.ph537.preheader, %339
  %indvars.iv616 = phi i64 [ %299, %.lr.ph537.preheader ], [ %indvars.iv.next617, %339 ]
  %308 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %indvars.iv616) #9
  %309 = load i32, ptr %308, align 4, !tbaa !384
  %310 = sext i32 %309 to i64
  %311 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %310) #9
  %312 = load i8, ptr %311, align 1, !tbaa !44
  switch i8 %312, label %339 [
    i8 0, label %328
    i8 1, label %313
    i8 -1, label %322
  ]

313:                                              ; preds = %.lr.ph537
  %314 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  %315 = load double, ptr %314, align 8, !tbaa !43
  %316 = fcmp olt double %315, 0.000000e+00
  %317 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %indvars.iv616) #9
  %318 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  br i1 %316, label %319, label %.invoke

319:                                              ; preds = %313
  br label %.invoke

320:                                              ; preds = %.invoke, %328
  %321 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #9
  br label %882

322:                                              ; preds = %.lr.ph537
  %323 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  %324 = load double, ptr %323, align 8, !tbaa !43
  %325 = fcmp ogt double %324, 0.000000e+00
  %326 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %indvars.iv616) #9
  %327 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  %. = select i1 %325, ptr %19, ptr %22
  br label %.invoke

328:                                              ; preds = %.lr.ph537
  %329 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %indvars.iv616) #9
  %330 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  %331 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 4 dereferenceable(4) %329, ptr noundef nonnull align 8 dereferenceable(8) %330)
          to label %332 unwind label %320

332:                                              ; preds = %328
  %333 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %267, i64 noundef %indvars.iv616) #9
  %334 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %268, i64 noundef %indvars.iv616) #9
  br label %.invoke

.invoke:                                          ; preds = %322, %313, %319, %332
  %335 = phi ptr [ %22, %332 ], [ %19, %319 ], [ %22, %313 ], [ %., %322 ]
  %336 = phi ptr [ %333, %332 ], [ %317, %319 ], [ %317, %313 ], [ %326, %322 ]
  %337 = phi ptr [ %334, %332 ], [ %318, %319 ], [ %318, %313 ], [ %327, %322 ]
  %338 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EE12emplace_backIJRKiRKdEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %335, ptr noundef nonnull align 4 dereferenceable(4) %336, ptr noundef nonnull align 8 dereferenceable(8) %337)
          to label %339 unwind label %320

339:                                              ; preds = %.invoke, %.lr.ph537
  %indvars.iv.next617 = add nsw i64 %indvars.iv616, 1
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %266, i64 noundef %296) #9
  %341 = load i32, ptr %340, align 4, !tbaa !384
  %342 = trunc nsw i64 %indvars.iv.next617 to i32
  %.not443 = icmp eq i32 %341, %342
  br i1 %.not443, label %._crit_edge538, label %.lr.ph537, !llvm.loop !395

343:                                              ; preds = %282, %277, %._crit_edge538
  %344 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #9
  %345 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #9
  br i1 %345, label %277, label %._crit_edge541

346:                                              ; preds = %._crit_edge541
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %31) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #9
  store i32 0, ptr %33, align 4, !tbaa !384
  %347 = load i32, ptr %86, align 4, !tbaa !5
  %.not408588 = icmp eq i32 %347, 0
  br i1 %.not408588, label %._crit_edge592, label %.lr.ph591

.lr.ph591:                                        ; preds = %346
  %348 = getelementptr inbounds i8, ptr %85, i64 80
  %349 = getelementptr inbounds i8, ptr %35, i64 8
  %350 = getelementptr inbounds i8, ptr %39, i64 8
  %351 = getelementptr inbounds i8, ptr %40, i64 8
  %352 = getelementptr inbounds i8, ptr %40, i64 16
  %353 = getelementptr inbounds i8, ptr %40, i64 24
  %354 = getelementptr inbounds i8, ptr %41, i64 8
  %355 = getelementptr inbounds i8, ptr %41, i64 16
  %356 = getelementptr inbounds i8, ptr %75, i64 8
  %357 = getelementptr inbounds i8, ptr %79, i64 8
  %358 = getelementptr inbounds i8, ptr %81, i64 8
  %359 = getelementptr inbounds i8, ptr %80, i64 8
  br label %362

._crit_edge592:                                   ; preds = %.loopexit490, %346
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #9
  call void @_ZN18HighsCutGenerationD2Ev(ptr noundef nonnull align 8 dereferenceable(288) %27) #9
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %27) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #9
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  call void @_ZNSt6vectorI7RowTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  ret void

360:                                              ; preds = %._crit_edge541
  %361 = landingpad { ptr, i32 }
          cleanup
  br label %881

362:                                              ; preds = %.lr.ph591, %.loopexit490
  %storemerge589 = phi i32 [ 0, %.lr.ph591 ], [ %879, %.loopexit490 ]
  %363 = sext i32 %storemerge589 to i64
  %364 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI7RowTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %363) #9
  %365 = load i8, ptr %364, align 1, !tbaa !44
  switch i8 %365, label %382 [
    i8 -2, label %.loopexit490
    i8 0, label %366
    i8 1, label %378
    i8 -1, label %380
  ]

366:                                              ; preds = %362
  %367 = load i32, ptr %33, align 4, !tbaa !384
  %368 = sext i32 %367 to i64
  %369 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %348, i64 noundef %368) #9
  %370 = load double, ptr %369, align 8, !tbaa !43
  %371 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %372 = getelementptr inbounds i8, ptr %371, i64 26152
  %373 = load double, ptr %372, align 8, !tbaa !396
  %374 = fcmp ugt double %370, %373
  %375 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 0) #9
  br i1 %374, label %377, label %376

376:                                              ; preds = %366
  store double 1.000000e+00, ptr %375, align 8, !tbaa !43
  br label %383

377:                                              ; preds = %366
  store double -1.000000e+00, ptr %375, align 8, !tbaa !43
  br label %383

378:                                              ; preds = %362
  %379 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 0) #9
  store double 1.000000e+00, ptr %379, align 8, !tbaa !43
  br label %383

380:                                              ; preds = %362
  %381 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 0) #9
  store double -1.000000e+00, ptr %381, align 8, !tbaa !43
  br label %383

382:                                              ; preds = %362
  call void @__assert_fail(ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.52, i32 noundef 197, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

383:                                              ; preds = %376, %377, %380, %378
  %.sink = phi double [ -1.000000e+00, %376 ], [ 1.000000e+00, %377 ], [ 1.000000e+00, %380 ], [ -1.000000e+00, %378 ]
  %384 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef 1) #9
  store double %.sink, ptr %384, align 8, !tbaa !43
  br label %385

385:                                              ; preds = %871, %383
  %indvars.iv651 = phi i64 [ %indvars.iv.next652, %871 ], [ 0, %383 ]
  %386 = call noundef zeroext i1 @_ZN17HighsLpAggregator7isEmptyEv(ptr noundef nonnull align 8 dereferenceable(56) %2)
  br i1 %386, label %390, label %387

387:                                              ; preds = %385
  call void @__assert_fail(ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.52, i32 noundef 203, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

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

390:                                              ; preds = %385
  %391 = load i32, ptr %33, align 4, !tbaa !384
  %392 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt5arrayIdLm2EEixEm(ptr noundef nonnull align 8 dereferenceable(16) %32, i64 noundef %indvars.iv651) #9
  %393 = load double, ptr %392, align 8, !tbaa !43
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %2, i32 noundef %391, double noundef %393)
          to label %394 unwind label %388

394:                                              ; preds = %390
  %395 = load i32, ptr %33, align 4, !tbaa !384
  store i32 %395, ptr %30, align 16, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %34) #9
  store i32 1, ptr %34, align 4, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #9
  store ptr %34, ptr %35, align 8, !tbaa !386
  store ptr %30, ptr %349, align 8, !tbaa !386
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %36) #9
  store i8 0, ptr %36, align 1, !tbaa !397
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #9
  %396 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %397 = getelementptr inbounds i8, ptr %396, i64 26144
  %398 = load double, ptr %397, align 8, !tbaa !46
  %399 = fdiv double 1.000000e+00, %398
  store double %399, ptr %37, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #9
  %400 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %401 = getelementptr inbounds i8, ptr %400, i64 26144
  %402 = load double, ptr %401, align 8, !tbaa !46
  store double %402, ptr %38, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #9
  store ptr %37, ptr %39, align 8, !tbaa !386
  store ptr %38, ptr %350, align 8, !tbaa !386
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #9
  store ptr %34, ptr %40, align 8, !tbaa !386
  store ptr %36, ptr %351, align 8, !tbaa !386
  store ptr %33, ptr %352, align 8, !tbaa !386
  store ptr %35, ptr %353, align 8, !tbaa !386
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %41) #9
  store ptr %0, ptr %41, align 8, !tbaa !398
  store ptr %35, ptr %354, align 8, !tbaa !386
  store ptr %39, ptr %355, align 8, !tbaa !386
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  %.old = load i32, ptr %34, align 4, !tbaa !384
  %.not410.old = icmp eq i32 %.old, 6
  br i1 %.not410.old, label %.loopexit672, label %.preheader671

.preheader671:                                    ; preds = %394, %534
  invoke void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29, i1 noundef zeroext false)
          to label %403 unwind label %408

403:                                              ; preds = %.preheader671
  %404 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #9
  store i32 -1, ptr %42, align 4, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #9
  store double 0.000000e+00, ptr %43, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #9
  store i32 -1, ptr %44, align 4, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #9
  store double 0.000000e+00, ptr %45, align 8, !tbaa !43
  %405 = and i64 %404, 4294967295
  %.not411542 = icmp eq i64 %405, 0
  br i1 %.not411542, label %._crit_edge549.thread, label %.lr.ph548.preheader

.lr.ph548.preheader:                              ; preds = %403
  %406 = and i64 %404, 4294967295
  br label %.lr.ph548

._crit_edge549:                                   ; preds = %479
  %407 = trunc nuw i8 %.1373 to i1
  br i1 %407, label %534, label %._crit_edge549.thread, !llvm.loop !400

408:                                              ; preds = %.preheader671
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %876

.lr.ph548:                                        ; preds = %.lr.ph548.preheader, %479
  %indvars.iv619 = phi i64 [ 0, %.lr.ph548.preheader ], [ %indvars.iv.next620, %479 ]
  %.0366545 = phi double [ 0.000000e+00, %.lr.ph548.preheader ], [ %.2368, %479 ]
  %.0369544 = phi double [ 0.000000e+00, %.lr.ph548.preheader ], [ %.2371, %479 ]
  %.0372543 = phi i8 [ 0, %.lr.ph548.preheader ], [ %.1373, %479 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #9
  %410 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv619) #9
  %411 = load i32, ptr %410, align 4, !tbaa !384
  store i32 %411, ptr %46, align 4, !tbaa !384
  %412 = load i32, ptr %84, align 8, !tbaa !383
  %.not435 = icmp slt i32 %411, %412
  br i1 %.not435, label %413, label %479

413:                                              ; preds = %.lr.ph548
  %414 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %411)
  %415 = fcmp oeq double %414, 0.000000e+00
  br i1 %415, label %479, label %416

416:                                              ; preds = %413
  %417 = load i32, ptr %46, align 4, !tbaa !384
  %418 = invoke noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425) %1, i32 noundef %417)
          to label %419 unwind label %420

419:                                              ; preds = %416
  br i1 %418, label %479, label %422

420:                                              ; preds = %463, %447, %427, %416
  %421 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  br label %537

422:                                              ; preds = %419
  %423 = load i32, ptr %46, align 4, !tbaa !384
  %424 = sext i32 %423 to i64
  %425 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %424) #9
  %426 = load i32, ptr %425, align 8, !tbaa !388
  %.not436 = icmp eq i32 %426, -1
  br i1 %.not436, label %441, label %427

427:                                              ; preds = %422
  %428 = load i32, ptr %46, align 4, !tbaa !384
  %429 = sext i32 %428 to i64
  %430 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %429) #9
  %431 = load i32, ptr %430, align 8, !tbaa !388
  %432 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv619) #9
  %433 = load double, ptr %432, align 8, !tbaa !43
  %434 = fneg double %433
  %435 = load i32, ptr %46, align 4, !tbaa !384
  %436 = sext i32 %435 to i64
  %437 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorISt4pairIidESaIS1_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %436) #9
  %438 = getelementptr inbounds i8, ptr %437, i64 8
  %439 = load double, ptr %438, align 8, !tbaa !390
  %440 = fdiv double %434, %439
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %2, i32 noundef %431, double noundef %440)
          to label %479 unwind label %420

441:                                              ; preds = %422
  %442 = trunc nuw i8 %.0372543 to i1
  br i1 %442, label %479, label %443

443:                                              ; preds = %441
  %444 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv619) #9
  %445 = load double, ptr %444, align 8, !tbaa !43
  %446 = fcmp olt double %445, 0.000000e+00
  br i1 %446, label %447, label %463

447:                                              ; preds = %443
  %448 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %19)
          to label %449 unwind label %420

449:                                              ; preds = %447
  br i1 %448, label %479, label %450

450:                                              ; preds = %449
  %451 = load i32, ptr %42, align 4, !tbaa !384
  %452 = icmp eq i32 %451, -1
  br i1 %452, label %457, label %453

453:                                              ; preds = %450
  %454 = load i32, ptr %46, align 4, !tbaa !384
  %455 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %454)
  %456 = fcmp ogt double %455, %.0369544
  br i1 %456, label %457, label %479

457:                                              ; preds = %453, %450
  %458 = load i32, ptr %46, align 4, !tbaa !384
  store i32 %458, ptr %42, align 4, !tbaa !384
  %459 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv619) #9
  %460 = load double, ptr %459, align 8, !tbaa !43
  store double %460, ptr %43, align 8, !tbaa !43
  %461 = load i32, ptr %46, align 4, !tbaa !384
  %462 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %461)
  br label %479

463:                                              ; preds = %443
  %464 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32) %40, ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %22)
          to label %465 unwind label %420

465:                                              ; preds = %463
  br i1 %464, label %479, label %466

466:                                              ; preds = %465
  %467 = load i32, ptr %44, align 4, !tbaa !384
  %468 = icmp eq i32 %467, -1
  br i1 %468, label %473, label %469

469:                                              ; preds = %466
  %470 = load i32, ptr %46, align 4, !tbaa !384
  %471 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %470)
  %472 = fcmp ogt double %471, %.0366545
  br i1 %472, label %473, label %479

473:                                              ; preds = %469, %466
  %474 = load i32, ptr %46, align 4, !tbaa !384
  store i32 %474, ptr %44, align 4, !tbaa !384
  %475 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv619) #9
  %476 = load double, ptr %475, align 8, !tbaa !43
  store double %476, ptr %45, align 8, !tbaa !43
  %477 = load i32, ptr %46, align 4, !tbaa !384
  %478 = call noundef double @_ZNK18HighsTransformedLp13boundDistanceEi(ptr noundef nonnull align 8 dereferenceable(248) %3, i32 noundef %477)
  br label %479

479:                                              ; preds = %457, %453, %473, %469, %465, %449, %441, %427, %.lr.ph548, %413, %419
  %.1373 = phi i8 [ %.0372543, %419 ], [ %.0372543, %413 ], [ %.0372543, %.lr.ph548 ], [ 1, %427 ], [ %.0372543, %441 ], [ %.0372543, %449 ], [ %.0372543, %465 ], [ %.0372543, %469 ], [ %.0372543, %473 ], [ %.0372543, %453 ], [ %.0372543, %457 ]
  %.2371 = phi double [ %.0369544, %419 ], [ %.0369544, %413 ], [ %.0369544, %.lr.ph548 ], [ %.0369544, %427 ], [ %.0369544, %441 ], [ %.0369544, %449 ], [ %.0369544, %465 ], [ %.0369544, %469 ], [ %.0369544, %473 ], [ %.0369544, %453 ], [ %462, %457 ]
  %.2368 = phi double [ %.0366545, %419 ], [ %.0366545, %413 ], [ %.0366545, %.lr.ph548 ], [ %.0366545, %427 ], [ %.0366545, %441 ], [ %.0366545, %449 ], [ %.0366545, %465 ], [ %.0366545, %469 ], [ %478, %473 ], [ %.0366545, %453 ], [ %.0366545, %457 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #9
  %indvars.iv.next620 = add nuw nsw i64 %indvars.iv619, 1
  %.not411 = icmp eq i64 %indvars.iv.next620, %406
  br i1 %.not411, label %._crit_edge549, label %.lr.ph548, !llvm.loop !401

._crit_edge549.thread:                            ; preds = %403, %._crit_edge549
  %.0366.lcssa657 = phi double [ %.2368, %._crit_edge549 ], [ 0.000000e+00, %403 ]
  %.0369.lcssa656 = phi double [ %.2371, %._crit_edge549 ], [ 0.000000e+00, %403 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #9
  store double 0.000000e+00, ptr %47, align 8, !tbaa !43
  %480 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288) %27, ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(8) %47, i1 noundef zeroext false)
          to label %481 unwind label %490

481:                                              ; preds = %._crit_edge549.thread
  invoke void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56) %2, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29, i1 noundef zeroext true)
          to label %482 unwind label %490

482:                                              ; preds = %481
  %483 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  %.not = xor i1 %483, true
  %484 = load i32, ptr %42, align 4
  %485 = icmp ne i32 %484, -1
  %or.cond = select i1 %.not, i1 true, i1 %485
  %486 = load i32, ptr %44, align 4
  %487 = icmp ne i32 %486, -1
  %or.cond6 = select i1 %or.cond, i1 true, i1 %487
  br i1 %or.cond6, label %488, label %492

488:                                              ; preds = %482
  %489 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE12emplace_backIJRS2_RS4_EEERS5_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %492 unwind label %490

490:                                              ; preds = %492, %488, %481, %._crit_edge549.thread
  %491 = landingpad { ptr, i32 }
          cleanup
  br label %536

492:                                              ; preds = %488, %482
  store double 0.000000e+00, ptr %47, align 8, !tbaa !43
  %493 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288) %27, ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(8) %47, i1 noundef zeroext false)
          to label %494 unwind label %490

494:                                              ; preds = %492
  %495 = or i1 %480, %493
  br i1 %495, label %533, label %496

496:                                              ; preds = %494
  %497 = load i32, ptr %42, align 4, !tbaa !384
  %498 = icmp eq i32 %497, -1
  %499 = load i32, ptr %44, align 4
  %500 = icmp eq i32 %499, -1
  %or.cond8 = select i1 %498, i1 %500, i1 false
  br i1 %or.cond8, label %533, label %501

501:                                              ; preds = %496
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #9
  store i32 -1, ptr %48, align 4, !tbaa !384
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #9
  store double 0.000000e+00, ptr %49, align 8, !tbaa !43
  br i1 %500, label %509, label %502

502:                                              ; preds = %501
  br i1 %498, label %520, label %503

503:                                              ; preds = %502
  %504 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %505 = getelementptr inbounds i8, ptr %504, i64 26144
  %506 = load double, ptr %505, align 8, !tbaa !46
  %507 = fsub double %.0366.lcssa657, %506
  %508 = fcmp ult double %.0369.lcssa656, %507
  br i1 %508, label %520, label %509

509:                                              ; preds = %503, %501
  %510 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %42, ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %511 unwind label %515

511:                                              ; preds = %509
  br i1 %510, label %523, label %512

512:                                              ; preds = %511
  %513 = load i32, ptr %44, align 4, !tbaa !384
  %514 = icmp eq i32 %513, -1
  br i1 %514, label %532, label %517

515:                                              ; preds = %523, %520, %517, %509
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #9
  br label %536

517:                                              ; preds = %512
  %518 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %519 unwind label %515

519:                                              ; preds = %517
  br i1 %518, label %523, label %532

520:                                              ; preds = %503, %502
  %521 = invoke noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24) %41, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 8 dereferenceable(8) %45, ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 8 dereferenceable(8) %49)
          to label %522 unwind label %515

522:                                              ; preds = %520
  br i1 %521, label %523, label %532

523:                                              ; preds = %522, %511, %519
  %524 = load i32, ptr %48, align 4, !tbaa !384
  %525 = load i32, ptr %34, align 4, !tbaa !384
  %526 = sext i32 %525 to i64
  %527 = getelementptr inbounds [6 x i32], ptr %30, i64 0, i64 %526
  store i32 %524, ptr %527, align 4, !tbaa !384
  %528 = load double, ptr %49, align 8, !tbaa !43
  invoke void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56) %2, i32 noundef %524, double noundef %528)
          to label %529 unwind label %515

529:                                              ; preds = %523
  %530 = load i32, ptr %34, align 4, !tbaa !384
  %531 = add nsw i32 %530, 1
  store i32 %531, ptr %34, align 4, !tbaa !384
  br label %532

532:                                              ; preds = %522, %519, %512, %529
  %.0374 = phi i32 [ 0, %529 ], [ 30, %512 ], [ 30, %519 ], [ 30, %522 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #9
  br label %533

533:                                              ; preds = %494, %496, %532
  %.1375 = phi i32 [ %.0374, %532 ], [ 30, %496 ], [ 30, %494 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #9
  br label %534

534:                                              ; preds = %._crit_edge549, %533
  %.2376 = phi i32 [ %.1375, %533 ], [ 29, %._crit_edge549 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  %switch = icmp eq i32 %.2376, 30
  %535 = load i32, ptr %34, align 4
  %.not410 = icmp eq i32 %535, 6
  %or.cond670 = select i1 %switch, i1 true, i1 %.not410
  br i1 %or.cond670, label %.loopexit672, label %.preheader671

536:                                              ; preds = %515, %490
  %.pn413 = phi { ptr, i32 } [ %516, %515 ], [ %491, %490 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #9
  br label %537

537:                                              ; preds = %536, %420
  %.pn437 = phi { ptr, i32 } [ %421, %420 ], [ %.pn413, %536 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #9
  br label %876

.loopexit672:                                     ; preds = %534, %394
  %538 = call noundef i64 @_ZNKSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  %539 = trunc i64 %538 to i32
  %540 = icmp sgt i32 %539, 1
  br i1 %540, label %541, label %870

541:                                              ; preds = %.loopexit672
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #9
  invoke void @_ZN14HighsHashTableIiiEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50)
          to label %542 unwind label %564

542:                                              ; preds = %541
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #9
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #9
  call void @_ZNSt6vectorIhSaIhEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  %543 = load i32, ptr %84, align 8, !tbaa !383
  %544 = load i32, ptr %86, align 4, !tbaa !5
  %545 = add nsw i32 %544, %543
  %546 = sext i32 %545 to i64
  invoke void @_ZNSt6vectorIiSaIiEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %546)
          to label %547 unwind label %566

547:                                              ; preds = %542
  %548 = load i32, ptr %84, align 8, !tbaa !383
  %549 = load i32, ptr %86, align 4, !tbaa !5
  %550 = add nsw i32 %549, %548
  %551 = sext i32 %550 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef %551)
          to label %552 unwind label %566

552:                                              ; preds = %547
  %553 = load i32, ptr %84, align 8, !tbaa !383
  %554 = load i32, ptr %86, align 4, !tbaa !5
  %555 = add nsw i32 %554, %553
  %556 = sext i32 %555 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %556)
          to label %557 unwind label %566

557:                                              ; preds = %552
  %558 = load i32, ptr %84, align 8, !tbaa !383
  %559 = load i32, ptr %86, align 4, !tbaa !5
  %560 = add nsw i32 %559, %558
  %561 = sext i32 %560 to i64
  invoke void @_ZNSt6vectorIhSaIhEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %561)
          to label %562 unwind label %566

562:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #9
  %563 = and i64 %538, 2147483647
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %56) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %563, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %.lr.ph559.preheader unwind label %568

.lr.ph559.preheader:                              ; preds = %562
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %58) #9
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #9
  store double 1.000000e+00, ptr %59, align 8, !tbaa !43
  %wide.trip.count627 = and i64 %538, 2147483647
  br label %.lr.ph559

564:                                              ; preds = %541
  %565 = landingpad { ptr, i32 }
          cleanup
  br label %869

566:                                              ; preds = %557, %552, %547, %542
  %567 = landingpad { ptr, i32 }
          cleanup
  br label %868

568:                                              ; preds = %562
  %569 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %56) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %56) #9
  br label %867

.lr.ph559:                                        ; preds = %.lr.ph559.preheader, %._crit_edge556
  %indvars.iv624 = phi i64 [ 0, %.lr.ph559.preheader ], [ %indvars.iv.next625, %._crit_edge556 ]
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #9
  store i8 0, ptr %60, align 1, !tbaa !397
  %570 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %571 = getelementptr inbounds i8, ptr %570, i64 24
  %572 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %573 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %indvars.iv624) #9
  %574 = invoke noundef zeroext i1 @_ZN18HighsTransformedLp9transformERSt6vectorIdSaIdEES3_S3_RS0_IiSaIiEERdRbb(ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(24) %571, ptr noundef nonnull align 8 dereferenceable(24) %57, ptr noundef nonnull align 8 dereferenceable(24) %58, ptr noundef nonnull align 8 dereferenceable(24) %572, ptr noundef nonnull align 8 dereferenceable(8) %573, ptr noundef nonnull align 1 dereferenceable(1) %60, i1 noundef zeroext false)
          to label %575 unwind label %576

575:                                              ; preds = %.lr.ph559
  br i1 %574, label %578, label %.thread465

576:                                              ; preds = %.lr.ph559
  %577 = landingpad { ptr, i32 }
          cleanup
  br label %695

578:                                              ; preds = %575
  %579 = icmp eq i64 %indvars.iv624, 0
  br i1 %579, label %580, label %594

580:                                              ; preds = %578
  %581 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef 0) #9
  %582 = load double, ptr %581, align 8, !tbaa !43
  %583 = fcmp ogt double %582, 0x3D06849B86A12B9B
  br i1 %583, label %.thread465, label %584

584:                                              ; preds = %580
  %585 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef 0) #9
  %586 = load double, ptr %585, align 8, !tbaa !43
  %587 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %588 = getelementptr inbounds i8, ptr %587, i64 26144
  %589 = load double, ptr %588, align 8, !tbaa !46
  %590 = fneg double %589
  %591 = fcmp ult double %586, %590
  br i1 %591, label %605, label %592

592:                                              ; preds = %584
  %593 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef 0) #9
  store double 0.000000e+00, ptr %593, align 8, !tbaa !43
  br label %605

594:                                              ; preds = %578
  %595 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %indvars.iv624) #9
  %596 = load double, ptr %595, align 8, !tbaa !43
  %597 = add nsw i64 %indvars.iv624, -1
  %598 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %597) #9
  %599 = load double, ptr %598, align 8, !tbaa !43
  %600 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %601 = getelementptr inbounds i8, ptr %600, i64 26144
  %602 = load double, ptr %601, align 8, !tbaa !46
  %603 = fsub double %599, %602
  %604 = fcmp ult double %596, %603
  br i1 %604, label %605, label %.thread465

605:                                              ; preds = %594, %584, %592
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #9
  %606 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %indvars.iv624) #9
  %607 = load double, ptr %606, align 8, !tbaa !43
  %608 = call noundef double @_ZSt3absd(double noundef %607)
  store double %608, ptr %61, align 8, !tbaa !43
  %609 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 8 dereferenceable(8) %59)
  %610 = load double, ptr %609, align 8, !tbaa !43
  store double %610, ptr %59, align 8, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #9
  %611 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %612 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %611) #9
  %613 = trunc i64 %612 to i32
  %614 = icmp sgt i32 %613, 0
  br i1 %614, label %.lr.ph555.preheader, label %._crit_edge556

.lr.ph555.preheader:                              ; preds = %605
  %wide.trip.count = and i64 %612, 2147483647
  br label %.lr.ph555

.lr.ph555:                                        ; preds = %.lr.ph555.preheader, %692
  %indvars.iv621 = phi i64 [ 0, %.lr.ph555.preheader ], [ %indvars.iv.next622, %692 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %62) #9
  %615 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %616 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %615, i64 noundef %indvars.iv621) #9
  %617 = load i32, ptr %616, align 4, !tbaa !384
  store i32 %617, ptr %62, align 4, !tbaa !384
  %618 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40) %50, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %619 unwind label %643

619:                                              ; preds = %.lr.ph555
  %620 = load i32, ptr %618, align 4, !tbaa !384
  %621 = icmp eq i32 %620, 0
  br i1 %621, label %622, label %650

622:                                              ; preds = %619
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %623 unwind label %643

623:                                              ; preds = %622
  %624 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %indvars.iv621) #9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(8) %624)
          to label %625 unwind label %643

625:                                              ; preds = %623
  %626 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %indvars.iv621) #9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(8) %626)
          to label %627 unwind label %643

627:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %63) #9
  %628 = load i32, ptr %62, align 4, !tbaa !384
  %629 = invoke noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425) %1, i32 noundef %628)
          to label %630 unwind label %645

630:                                              ; preds = %627
  %631 = zext i1 %629 to i8
  store i8 %631, ptr %63, align 1, !tbaa !402
  invoke void @_ZNSt6vectorIhSaIhEE9push_backEOh(ptr noundef nonnull align 8 dereferenceable(24) %54, ptr noundef nonnull align 1 dereferenceable(1) %63)
          to label %632 unwind label %645

632:                                              ; preds = %630
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #9
  %633 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEE4backEv(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  %634 = load i8, ptr %633, align 1, !tbaa !402
  %.not419 = icmp eq i8 %634, 0
  br i1 %.not419, label %647, label %635

635:                                              ; preds = %632
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #9
  %636 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %637 = getelementptr inbounds i8, ptr %636, i64 24
  %638 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %637, i64 noundef %indvars.iv621) #9
  %639 = load double, ptr %638, align 8, !tbaa !43
  %640 = call noundef double @_ZSt3absd(double noundef %639)
  store double %640, ptr %64, align 8, !tbaa !43
  %641 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %64, ptr noundef nonnull align 8 dereferenceable(8) %59)
  %642 = load double, ptr %641, align 8, !tbaa !43
  store double %642, ptr %59, align 8, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #9
  br label %647

643:                                              ; preds = %625, %623, %622, %.lr.ph555
  %644 = landingpad { ptr, i32 }
          cleanup
  br label %693

645:                                              ; preds = %630, %627
  %646 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %63) #9
  br label %693

647:                                              ; preds = %635, %632
  %648 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  %649 = trunc i64 %648 to i32
  store i32 %649, ptr %618, align 4, !tbaa !384
  br label %692

650:                                              ; preds = %619
  %651 = add nsw i32 %620, -1
  %652 = sext i32 %651 to i64
  %653 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %652) #9
  %654 = load i32, ptr %653, align 4, !tbaa !384
  %655 = load i32, ptr %62, align 4, !tbaa !384
  %656 = icmp eq i32 %654, %655
  br i1 %656, label %658, label %657

657:                                              ; preds = %650
  call void @__assert_fail(ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.52, i32 noundef 451, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

658:                                              ; preds = %650
  %659 = load i32, ptr %618, align 4, !tbaa !384
  %660 = add nsw i32 %659, -1
  %661 = sext i32 %660 to i64
  %662 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef %661) #9
  %663 = load double, ptr %662, align 8, !tbaa !43
  %664 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %58, i64 noundef %indvars.iv621) #9
  %665 = load double, ptr %664, align 8, !tbaa !43
  %666 = fcmp oeq double %663, %665
  br i1 %666, label %668, label %667

667:                                              ; preds = %658
  call void @__assert_fail(ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.52, i32 noundef 452, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

668:                                              ; preds = %658
  %669 = load i32, ptr %618, align 4, !tbaa !384
  %670 = add nsw i32 %669, -1
  %671 = sext i32 %670 to i64
  %672 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %53, i64 noundef %671) #9
  %673 = load double, ptr %672, align 8, !tbaa !43
  %674 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %57, i64 noundef %indvars.iv621) #9
  %675 = load double, ptr %674, align 8, !tbaa !43
  %676 = fcmp oeq double %673, %675
  br i1 %676, label %678, label %677

677:                                              ; preds = %668
  call void @__assert_fail(ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.52, i32 noundef 453, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

678:                                              ; preds = %668
  %679 = load i32, ptr %618, align 4, !tbaa !384
  %680 = add nsw i32 %679, -1
  %681 = sext i32 %680 to i64
  %682 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %681) #9
  %683 = load i8, ptr %682, align 1, !tbaa !402
  %.not415 = icmp eq i8 %683, 0
  br i1 %.not415, label %692, label %684

684:                                              ; preds = %678
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #9
  %685 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv624) #9
  %686 = getelementptr inbounds i8, ptr %685, i64 24
  %687 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %686, i64 noundef %indvars.iv621) #9
  %688 = load double, ptr %687, align 8, !tbaa !43
  %689 = call noundef double @_ZSt3absd(double noundef %688)
  store double %689, ptr %65, align 8, !tbaa !43
  %690 = call 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) %59)
  %691 = load double, ptr %690, align 8, !tbaa !43
  store double %691, ptr %59, align 8, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #9
  br label %692

692:                                              ; preds = %678, %684, %647
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  %indvars.iv.next622 = add nuw nsw i64 %indvars.iv621, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next622, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge556, label %.lr.ph555, !llvm.loop !403

693:                                              ; preds = %645, %643
  %.pn416 = phi { ptr, i32 } [ %646, %645 ], [ %644, %643 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %62) #9
  br label %695

.thread465:                                       ; preds = %575, %580, %594
  %694 = trunc nuw nsw i64 %indvars.iv624 to i32
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #9
  br label %.loopexit489

._crit_edge556:                                   ; preds = %692, %605
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #9
  %indvars.iv.next625 = add nuw nsw i64 %indvars.iv624, 1
  %exitcond628.not = icmp eq i64 %indvars.iv.next625, %wide.trip.count627
  br i1 %exitcond628.not, label %.loopexit489, label %.lr.ph559, !llvm.loop !404

695:                                              ; preds = %693, %576
  %.pn416.pn = phi { ptr, i32 } [ %.pn416, %693 ], [ %577, %576 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #9
  br label %866

.loopexit489:                                     ; preds = %._crit_edge556, %.thread465
  %.2364 = phi i32 [ %694, %.thread465 ], [ %539, %._crit_edge556 ]
  %696 = icmp sgt i32 %.2364, 1
  br i1 %696, label %697, label %865

697:                                              ; preds = %.loopexit489
  %698 = load double, ptr %59, align 8, !tbaa !43
  %699 = fadd double %698, 1.000000e+00
  %700 = call double @log2(double noundef %699) #9
  %701 = call double @llvm.ceil.f64(double %700)
  %702 = call double @exp2(double noundef %701) #9
  store double %702, ptr %59, align 8, !tbaa !43
  %703 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  %704 = trunc i64 %703 to i32
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %66) #9
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %66, double noundef 0.000000e+00)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #9
  %sext = shl i64 %703, 32
  %705 = ashr exact i64 %sext, 32
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %68) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %705, ptr noundef nonnull align 1 dereferenceable(1) %68)
          to label %706 unwind label %712

706:                                              ; preds = %697
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %69) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #9
  call void @_ZNSaIdEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  invoke void @_ZNSt6vectorIdSaIdEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %705, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %707 unwind label %714

707:                                              ; preds = %706
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #9
  call void @_ZNSaI12HighsCDoubleEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  invoke void @_ZNSt6vectorI12HighsCDoubleSaIS0_EEC2EmRKS1_(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %705, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %708 unwind label %716

708:                                              ; preds = %707
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %73) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %74) #9
  call void @_ZNSaI12HighsCDoubleEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  invoke void @_ZNSt6vectorI12HighsCDoubleSaIS0_EEC2EmRKS1_(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %705, ptr noundef nonnull align 1 dereferenceable(1) %74)
          to label %.lr.ph584.preheader unwind label %718

.lr.ph584.preheader:                              ; preds = %708
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #9
  %709 = load double, ptr %59, align 8, !tbaa !43
  %710 = fdiv double -1.000000e+00, %709
  %wide.trip.count649 = zext nneg i32 %.2364 to i64
  %711 = icmp sgt i32 %704, 0
  %wide.trip.count637 = and i64 %703, 2147483647
  br label %.lr.ph584

712:                                              ; preds = %697
  %713 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %68) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %68) #9
  br label %864

714:                                              ; preds = %706
  %715 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIdED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  br label %863

716:                                              ; preds = %707
  %717 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  br label %862

718:                                              ; preds = %708
  %719 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorI12HighsCDoubleED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %74) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %74) #9
  br label %861

.lr.ph584:                                        ; preds = %.lr.ph584.preheader, %.thread468
  %indvars.iv647 = phi i64 [ 0, %.lr.ph584.preheader ], [ %indvars.iv.next648, %.thread468 ]
  %.0349580 = phi double [ 0.000000e+00, %.lr.ph584.preheader ], [ %722, %.thread468 ]
  %720 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %55, i64 noundef %indvars.iv647) #9
  %721 = load double, ptr %720, align 8, !tbaa !43
  %722 = fmul double %710, %721
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %75) #9
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %76) #9
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %76, double noundef %722)
  %723 = invoke { double, double } @_ZNK12HighsCDoublemiEd(ptr noundef nonnull align 8 dereferenceable(16) %76, double noundef %.0349580)
          to label %724 unwind label %732

724:                                              ; preds = %.lr.ph584
  %725 = extractvalue { double, double } %723, 0
  store double %725, ptr %75, align 8
  %726 = extractvalue { double, double } %723, 1
  store double %726, ptr %356, align 8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #9
  %727 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv647) #9
  %728 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %727) #9
  %729 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %.preheader488 unwind label %734

.preheader488:                                    ; preds = %724
  %730 = trunc i64 %728 to i32
  %731 = icmp sgt i32 %730, 0
  br i1 %731, label %.lr.ph561.preheader, label %._crit_edge562

.lr.ph561.preheader:                              ; preds = %.preheader488
  %wide.trip.count632 = and i64 %728, 2147483647
  br label %.lr.ph561

._crit_edge562:                                   ; preds = %809, %.preheader488
  %.not420 = icmp eq i64 %indvars.iv647, 0
  br i1 %.not420, label %.thread468, label %810

732:                                              ; preds = %.lr.ph584
  %733 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %76) #9
  br label %860

734:                                              ; preds = %724
  %735 = landingpad { ptr, i32 }
          cleanup
  br label %860

.lr.ph561:                                        ; preds = %.lr.ph561.preheader, %809
  %indvars.iv629 = phi i64 [ 0, %.lr.ph561.preheader ], [ %indvars.iv.next630, %809 ]
  %736 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv647) #9
  %737 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %736, i64 noundef %indvars.iv629) #9
  %738 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40) %50, ptr noundef nonnull align 4 dereferenceable(4) %737)
          to label %739 unwind label %743

739:                                              ; preds = %.lr.ph561
  %740 = load i32, ptr %738, align 4, !tbaa !384
  %741 = icmp sgt i32 %740, 0
  br i1 %741, label %745, label %742

742:                                              ; preds = %739
  call void @__assert_fail(ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.52, i32 noundef 481, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPool) #10
  unreachable

743:                                              ; preds = %.lr.ph561
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %860

745:                                              ; preds = %739
  %746 = add nsw i32 %740, -1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #9
  %747 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %31, i64 noundef %indvars.iv647) #9
  %748 = getelementptr inbounds i8, ptr %747, i64 24
  %749 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %748, i64 noundef %indvars.iv629) #9
  %750 = load double, ptr %749, align 8, !tbaa !43
  %751 = fmul double %710, %750
  store double %751, ptr %77, align 8, !tbaa !43
  %752 = zext nneg i32 %746 to i64
  %753 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %54, i64 noundef %752) #9
  %754 = load i8, ptr %753, align 1, !tbaa !402
  switch i8 %754, label %809 [
    i8 0, label %755
    i8 1, label %760
  ]

755:                                              ; preds = %745
  %756 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %752) #9
  %757 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %756, ptr noundef nonnull align 8 dereferenceable(8) %77)
  %758 = load double, ptr %757, align 8, !tbaa !43
  %759 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %752) #9
  store double %758, ptr %759, align 8, !tbaa !43
  br label %809

760:                                              ; preds = %745
  %761 = load double, ptr %77, align 8, !tbaa !43
  %762 = call double @llvm.floor.f64(double %761)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #9
  %763 = fsub double %761, %762
  store double %763, ptr %78, align 8, !tbaa !43
  %764 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %752) #9
  %765 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %764, ptr noundef nonnull align 8 dereferenceable(8) %78)
  %766 = load double, ptr %765, align 8, !tbaa !43
  %767 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %752) #9
  store double %766, ptr %767, align 8, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %79) #9
  %768 = invoke { double, double } @_ZNK12HighsCDoublemlEd(ptr noundef nonnull align 8 dereferenceable(16) %75, double noundef %762)
          to label %769 unwind label %794

769:                                              ; preds = %760
  %770 = extractvalue { double, double } %768, 0
  store double %770, ptr %79, align 8
  %771 = extractvalue { double, double } %768, 1
  store double %771, ptr %357, align 8
  %772 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %752) #9
  %773 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %772, ptr noundef nonnull align 8 dereferenceable(16) %79)
          to label %774 unwind label %794

774:                                              ; preds = %769
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #9
  %775 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %752) #9
  %776 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLERKS_(ptr noundef nonnull align 8 dereferenceable(16) %775, ptr noundef nonnull align 8 dereferenceable(16) %75)
          to label %777 unwind label %792

777:                                              ; preds = %774
  %778 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %752) #9
  %779 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %752) #9
  %780 = load double, ptr %779, align 8, !tbaa !43
  %781 = invoke noundef zeroext i1 @_ZNK12HighsCDoubleltEd(ptr noundef nonnull align 8 dereferenceable(16) %778, double noundef %780)
          to label %782 unwind label %792

782:                                              ; preds = %777
  br i1 %781, label %783, label %798

783:                                              ; preds = %782
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %80) #9
  %784 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %752) #9
  %785 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %752) #9
  %786 = invoke { double, double } @_ZNK12HighsCDoubleplERKS_(ptr noundef nonnull align 8 dereferenceable(16) %784, ptr noundef nonnull align 8 dereferenceable(16) %785)
          to label %787 unwind label %796

787:                                              ; preds = %783
  %788 = extractvalue { double, double } %786, 0
  store double %788, ptr %80, align 8
  %789 = extractvalue { double, double } %786, 1
  store double %789, ptr %359, align 8
  %790 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %80)
  %791 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %752) #9
  store double %790, ptr %791, align 8, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #9
  br label %807

792:                                              ; preds = %777, %774
  %793 = landingpad { ptr, i32 }
          cleanup
  br label %808

794:                                              ; preds = %769, %760
  %795 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %79) #9
  br label %808

796:                                              ; preds = %783
  %797 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %80) #9
  br label %808

798:                                              ; preds = %782
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %81) #9
  %799 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt6vectorI12HighsCDoubleSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %752) #9
  %800 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %752) #9
  %801 = load double, ptr %800, align 8, !tbaa !43
  %802 = call { double, double } @_ZNK12HighsCDoubleplEd(ptr noundef nonnull align 8 dereferenceable(16) %799, double noundef %801)
  %803 = extractvalue { double, double } %802, 0
  store double %803, ptr %81, align 8
  %804 = extractvalue { double, double } %802, 1
  store double %804, ptr %358, align 8
  %805 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %81)
  %806 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %752) #9
  store double %805, ptr %806, align 8, !tbaa !43
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %81) #9
  br label %807

807:                                              ; preds = %798, %787
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #9
  br label %809

808:                                              ; preds = %796, %794, %792
  %.pn421 = phi { ptr, i32 } [ %797, %796 ], [ %793, %792 ], [ %795, %794 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #9
  br label %860

809:                                              ; preds = %807, %755, %745
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #9
  %indvars.iv.next630 = add nuw nsw i64 %indvars.iv629, 1
  %exitcond633.not = icmp eq i64 %indvars.iv.next630, %wide.trip.count632
  br i1 %exitcond633.not, label %._crit_edge562, label %.lr.ph561, !llvm.loop !405

810:                                              ; preds = %._crit_edge562
  %811 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %66)
  br i1 %711, label %.lr.ph566, label %._crit_edge567

._crit_edge567:                                   ; preds = %.lr.ph566, %810
  %.0309.lcssa = phi double [ %811, %810 ], [ %824, %.lr.ph566 ]
  %812 = load double, ptr %59, align 8, !tbaa !43
  %813 = fmul double %.0309.lcssa, %812
  %814 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %815 = getelementptr inbounds i8, ptr %814, i64 26144
  %816 = load double, ptr %815, align 8, !tbaa !46
  %817 = fmul double %816, 1.000000e+01
  %818 = fcmp ule double %813, %817
  br i1 %818, label %.thread468, label %825

.lr.ph566:                                        ; preds = %810, %.lr.ph566
  %indvars.iv634 = phi i64 [ %indvars.iv.next635, %.lr.ph566 ], [ 0, %810 ]
  %.0309563 = phi double [ %824, %.lr.ph566 ], [ %811, %810 ]
  %819 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %52, i64 noundef %indvars.iv634) #9
  %820 = load double, ptr %819, align 8, !tbaa !43
  %821 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv634) #9
  %822 = load double, ptr %821, align 8, !tbaa !43
  %823 = fneg double %820
  %824 = call double @llvm.fmuladd.f64(double %823, double %822, double %.0309563)
  %indvars.iv.next635 = add nuw nsw i64 %indvars.iv634, 1
  %exitcond638.not = icmp eq i64 %indvars.iv.next635, %wide.trip.count637
  br i1 %exitcond638.not, label %._crit_edge567, label %.lr.ph566, !llvm.loop !406

825:                                              ; preds = %._crit_edge567
  %826 = load double, ptr %59, align 8, !tbaa !43
  %827 = fneg double %826
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #9
  %828 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %66)
  %829 = fmul double %828, %827
  store double %829, ptr %82, align 8, !tbaa !43
  br i1 %711, label %.lr.ph571.preheader, label %._crit_edge576

.lr.ph571.preheader:                              ; preds = %825
  %wide.trip.count642 = and i64 %703, 2147483647
  br label %.lr.ph571

.preheader:                                       ; preds = %.lr.ph571
  br i1 %711, label %.lr.ph575.preheader, label %._crit_edge576

.lr.ph575.preheader:                              ; preds = %.preheader
  %830 = and i64 %703, 2147483647
  br label %.lr.ph575

831:                                              ; preds = %857, %854, %853, %._crit_edge576
  %832 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #9
  br label %860

.lr.ph571:                                        ; preds = %.lr.ph571.preheader, %.lr.ph571
  %indvars.iv639 = phi i64 [ 0, %.lr.ph571.preheader ], [ %indvars.iv.next640, %.lr.ph571 ]
  %833 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv639) #9
  %834 = load double, ptr %833, align 8, !tbaa !43
  %835 = fmul double %834, %827
  store double %835, ptr %833, align 8, !tbaa !43
  %indvars.iv.next640 = add nuw nsw i64 %indvars.iv639, 1
  %exitcond643.not = icmp eq i64 %indvars.iv.next640, %wide.trip.count642
  br i1 %exitcond643.not, label %.preheader, label %.lr.ph571, !llvm.loop !407

._crit_edge576:                                   ; preds = %851, %825, %.preheader
  %.1352.lcssa = phi i32 [ %704, %.preheader ], [ %704, %825 ], [ %.2353, %851 ]
  %836 = sext i32 %.1352.lcssa to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %836)
          to label %853 unwind label %831

.lr.ph575:                                        ; preds = %.lr.ph575.preheader, %851
  %indvars.iv644 = phi i64 [ %830, %.lr.ph575.preheader ], [ %indvars.iv.next645, %851 ]
  %.1352573 = phi i32 [ %704, %.lr.ph575.preheader ], [ %.2353, %851 ]
  %indvars.iv.next645 = add nsw i64 %indvars.iv644, -1
  %837 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv.next645) #9
  %838 = load double, ptr %837, align 8, !tbaa !43
  %839 = call noundef double @_ZSt3absd(double noundef %838)
  %840 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %146) #9
  %841 = getelementptr inbounds i8, ptr %840, i64 26152
  %842 = load double, ptr %841, align 8, !tbaa !396
  %843 = fcmp ugt double %839, %842
  br i1 %843, label %851, label %844

844:                                              ; preds = %.lr.ph575
  %845 = add nsw i32 %.1352573, -1
  %846 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv.next645) #9
  %847 = sext i32 %845 to i64
  %848 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %847) #9
  call void @_ZSt4swapIdENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 8 dereferenceable(8) %846, ptr noundef nonnull align 8 dereferenceable(8) %848) #9
  %849 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %indvars.iv.next645) #9
  %850 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %847) #9
  call void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4) %849, ptr noundef nonnull align 4 dereferenceable(4) %850) #9
  br label %851

851:                                              ; preds = %.lr.ph575, %844
  %.2353 = phi i32 [ %845, %844 ], [ %.1352573, %.lr.ph575 ]
  %852 = icmp ugt i64 %indvars.iv644, 1
  br i1 %852, label %.lr.ph575, label %._crit_edge576, !llvm.loop !408

853:                                              ; preds = %._crit_edge576
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %51, i64 noundef %836)
          to label %854 unwind label %831

854:                                              ; preds = %853
  %855 = invoke noundef zeroext i1 @_ZN18HighsTransformedLp11untransformERSt6vectorIdSaIdEERS0_IiSaIiEERdb(ptr noundef nonnull align 8 dereferenceable(248) %3, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(8) %82, i1 noundef zeroext false)
          to label %856 unwind label %831

856:                                              ; preds = %854
  br i1 %855, label %857, label %859

857:                                              ; preds = %856
  %858 = invoke noundef zeroext i1 @_ZN18HighsCutGeneration17finalizeAndAddCutERSt6vectorIiSaIiEERS0_IdSaIdEERd(ptr noundef nonnull align 8 dereferenceable(288) %27, ptr noundef nonnull align 8 dereferenceable(24) %51, ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %859 unwind label %831

859:                                              ; preds = %856, %857
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #9
  br label %.loopexit

.thread468:                                       ; preds = %._crit_edge567, %._crit_edge562
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #9
  %indvars.iv.next648 = add nuw nsw i64 %indvars.iv647, 1
  %exitcond650.not = icmp eq i64 %indvars.iv.next648, %wide.trip.count649
  br i1 %exitcond650.not, label %.loopexit, label %.lr.ph584, !llvm.loop !409

860:                                              ; preds = %734, %831, %808, %743, %732
  %.pn421.pn.pn.pn = phi { ptr, i32 } [ %733, %732 ], [ %832, %831 ], [ %735, %734 ], [ %.pn421, %808 ], [ %744, %743 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %75) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  br label %861

.loopexit:                                        ; preds = %.thread468, %859
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %73) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #9
  br label %865

861:                                              ; preds = %860, %718
  %.pn421.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn, %860 ], [ %719, %718 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %73) #9
  call void @_ZNSt6vectorI12HighsCDoubleSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %71) #9
  br label %862

862:                                              ; preds = %861, %716
  %.pn421.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn, %861 ], [ %717, %716 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %71) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %69) #9
  br label %863

863:                                              ; preds = %862, %714
  %.pn421.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn, %862 ], [ %715, %714 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %69) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %67) #9
  br label %864

864:                                              ; preds = %863, %712
  %.pn421.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn.pn, %863 ], [ %713, %712 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %66) #9
  br label %866

865:                                              ; preds = %.loopexit, %.loopexit489
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #9
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #9
  call void @_ZN14HighsHashTableIiiED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #9
  br label %870

866:                                              ; preds = %864, %695
  %.pn421.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn.pn.pn, %864 ], [ %.pn416.pn, %695 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %58) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %57) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %55) #9
  br label %867

867:                                              ; preds = %866, %568
  %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn.pn.pn.pn, %866 ], [ %569, %568 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #9
  br label %868

868:                                              ; preds = %867, %566
  %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn, %867 ], [ %567, %566 ]
  call void @_ZNSt6vectorIhSaIhEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %52) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %51) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #9
  call void @_ZN14HighsHashTableIiiED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %50) #9
  br label %869

869:                                              ; preds = %868, %564
  %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %868 ], [ %565, %564 ]
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #9
  br label %876

870:                                              ; preds = %865, %.loopexit672
  invoke void @_ZN17HighsLpAggregator5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %2)
          to label %871 unwind label %874

871:                                              ; preds = %870
  %872 = load i8, ptr %36, align 1, !tbaa !397, !range !410, !noundef !411
  %873 = trunc nuw i8 %872 to i1
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  %indvars.iv.next652 = add nuw nsw i64 %indvars.iv651, 1
  %.not409 = icmp ne i64 %indvars.iv.next652, 2
  %or.cond594.not = select i1 %873, i1 %.not409, i1 false
  br i1 %or.cond594.not, label %385, label %.loopexit490, !llvm.loop !412

874:                                              ; preds = %870
  %875 = landingpad { ptr, i32 }
          cleanup
  br label %876

876:                                              ; preds = %869, %874, %537, %408
  %.pn437.pn = phi { ptr, i32 } [ %.pn437, %537 ], [ %409, %408 ], [ %.pn421.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %869 ], [ %875, %874 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %41) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %36) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #9
  br label %877

877:                                              ; preds = %876, %388
  %.pn437.pn.pn = phi { ptr, i32 } [ %.pn437.pn, %876 ], [ %389, %388 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #9
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #9
  call void @_ZNSt6vectorISt4pairIS_IiSaIiEES_IdSaIdEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %31) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #9
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #9
  call void @_ZN18HighsCutGenerationD2Ev(ptr noundef nonnull align 8 dereferenceable(288) %27) #9
  br label %881

.loopexit490:                                     ; preds = %871, %362
  %878 = load i32, ptr %33, align 4, !tbaa !384
  %879 = add nsw i32 %878, 1
  store i32 %879, ptr %33, align 4, !tbaa !384
  %880 = load i32, ptr %86, align 4, !tbaa !5
  %.not408 = icmp eq i32 %879, %880
  br i1 %.not408, label %._crit_edge592, label %362, !llvm.loop !413

881:                                              ; preds = %877, %360
  %.pn437.pn.pn.pn = phi { ptr, i32 } [ %.pn437.pn.pn, %877 ], [ %361, %360 ]
  call void @llvm.lifetime.end.p0(i64 288, ptr nonnull %27) #9
  br label %882

882:                                              ; preds = %881, %320
  %.pn444 = phi { ptr, i32 } [ %321, %320 ], [ %.pn437.pn.pn.pn, %881 ]
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #9
  br label %883

883:                                              ; preds = %882, %275
  %.pn444.pn = phi { ptr, i32 } [ %.pn444, %882 ], [ %276, %275 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #9
  br label %884

884:                                              ; preds = %883, %273
  %.pn444.pn.pn = phi { ptr, i32 } [ %.pn444.pn, %883 ], [ %274, %273 ]
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #9
  call void @_ZNSt6vectorISt4pairIiiESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #9
  br label %885

885:                                              ; preds = %884, %271
  %.pn444.pn.pn.pn = phi { ptr, i32 } [ %.pn444.pn.pn, %884 ], [ %272, %271 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #9
  br label %886

886:                                              ; preds = %885, %269
  %.pn444.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn444.pn.pn.pn, %885 ], [ %270, %269 ]
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #9
  br label %887

887:                                              ; preds = %886, %210
  %.pn452 = phi { ptr, i32 } [ %211, %210 ], [ %.pn444.pn.pn.pn.pn, %886 ]
  call void @_ZNSt6vectorISt4pairIidESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #9
  br label %888

888:                                              ; preds = %887, %201
  %.pn452.pn = phi { ptr, i32 } [ %.pn452, %887 ], [ %.pn, %201 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #9
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #9
  br label %889

889:                                              ; preds = %888, %156
  %.pn452.pn.pn = phi { ptr, i32 } [ %.pn452.pn, %888 ], [ %157, %156 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #9
  br label %890

890:                                              ; preds = %889, %95
  %.pn452.pn.pn.pn = phi { ptr, i32 } [ %.pn452.pn.pn, %889 ], [ %96, %95 ]
  call void @_ZNSt6vectorI7RowTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #9
  resume { ptr, i32 } %.pn452.pn.pn.pn
}

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(920) ptr @_ZNK17HighsLpRelaxation5getLpEv(ptr noundef nonnull align 8 dereferenceable(21425)) 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 #1 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorISt4pairIiiESaIS1_EEC2EmRKS2_(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 1 dereferenceable(1)) 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 #2 align 2

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

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

declare void @_ZN18HighsCutGenerationC1ERK17HighsLpRelaxationR12HighsCutPool(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(680)) unnamed_addr #5

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

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

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

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

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

declare void @_ZN17HighsLpAggregator6addRowEid(ptr noundef nonnull align 8 dereferenceable(56), i32 noundef, double noundef) local_unnamed_addr #5

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

declare void @_ZN17HighsLpAggregator21getCurrentAggregationERSt6vectorIiSaIiEERS0_IdSaIdEEb(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), i1 noundef zeroext) local_unnamed_addr #5

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK17HighsLpRelaxation13isColIntegralEi(ptr noundef nonnull align 8 dereferenceable(21425), i32 noundef) local_unnamed_addr #1 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 #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_2clERKiRKSt6vectorISt4pairIiiESaISD_EERKSB_ISC_IidESaISI_EESH_SM_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #6 align 2

declare noundef zeroext i1 @_ZN18HighsCutGeneration11generateCutER18HighsTransformedLpRSt6vectorIiSaIiEERS2_IdSaIdEERdb(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) local_unnamed_addr #5

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef zeroext i1 @"_ZZN18HighsPathSeparator18separateLpSolutionER17HighsLpRelaxationR17HighsLpAggregatorR18HighsTransformedLpR12HighsCutPoolENK3$_3clERKiRKdRKSt6vectorISt4pairIiiESaISF_EERKSD_ISE_IidESaISK_EERiRd"(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #6 align 2

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

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

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

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

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

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

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

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

declare noundef zeroext i1 @_ZN18HighsTransformedLp9transformERSt6vectorIdSaIdEES3_S3_RS0_IiSaIiEERdRbb(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1), i1 noundef zeroext) local_unnamed_addr #5

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

; 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 #3

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN14HighsHashTableIiiEixERKi(ptr noundef nonnull align 8 dereferenceable(40), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #1 align 2

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

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

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

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

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @exp2(double noundef) local_unnamed_addr #7

; Function Attrs: mustprogress nofree nounwind willreturn memory(write)
declare double @log2(double noundef) local_unnamed_addr #7

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoublemiEd(ptr noundef nonnull align 8 dereferenceable(16), double noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoublemlEd(ptr noundef nonnull align 8 dereferenceable(16), double noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { double, double } @_ZNK12HighsCDoubleplERKS_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZSt4swapIiENSt9enable_ifIXsr6__and_ISt6__not_ISt15__is_tuple_likeIT_EESt21is_move_constructibleIS3_ESt18is_move_assignableIS3_EEE5valueEvE4typeERS3_SC_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3

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

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

declare noundef zeroext i1 @_ZN18HighsTransformedLp11untransformERSt6vectorIdSaIdEERS0_IiSaIiEERdb(ptr noundef nonnull align 8 dereferenceable(248), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8), i1 noundef zeroext) local_unnamed_addr #5

declare noundef zeroext i1 @_ZN18HighsCutGeneration17finalizeAndAddCutERSt6vectorIiSaIiEERS0_IdSaIdEERd(ptr noundef nonnull align 8 dereferenceable(288), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #5

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

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

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

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

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

declare void @_ZN17HighsLpAggregator5clearEv(ptr noundef nonnull align 8 dereferenceable(56)) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

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


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