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

; 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::__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::unique_ptr.347" = type { %"struct.std::__uniq_ptr_data.348" }
%"struct.std::__uniq_ptr_data.348" = type { %"class.std::__uniq_ptr_impl.349" }
%"class.std::__uniq_ptr_impl.349" = type { %"class.std::tuple.350" }
%"class.std::tuple.350" = type { %"struct.std::_Tuple_impl.351" }
%"struct.std::_Tuple_impl.351" = type { %"struct.std::_Head_base.354" }
%"struct.std::_Head_base.354" = type { ptr }
%"class.highs::parallel::TaskGroup" = type <{ ptr, i32, [4 x i8] }>
%"struct.std::_Bit_reference" = type { ptr, i64 }
%"class.std::allocator" = type { i8 }
%struct.HighsCutSet = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = 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.HighsSeparation = type { i32, i32, %"class.std::vector.431", %struct.HighsCutSet, ptr }
%"class.std::vector.431" = type { %"struct.std::_Vector_base.432" }
%"struct.std::_Vector_base.432" = type { %"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsCDouble = type { double, double }
%"class.std::vector.46" = type { %"struct.std::_Vector_base.47" }
%"struct.std::_Vector_base.47" = 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 }
%struct.HighsMipSolverData = type <{ ptr, %class.HighsCutPool, %class.HighsConflictPool, %class.HighsDomain, %class.HighsLpRelaxation, %class.HighsPseudocost, %class.HighsCliqueTable, %class.HighsImplications, %class.HighsPrimalHeuristics, %class.HighsRedcostFixing, %class.HighsObjectiveFunction, %"class.presolve::HighsPostsolveStack", i32, [4 x i8], %class.HighsLp, i8, i8, i8, i8, i32, i8, [3 x i8], i32, i32, i32, i32, [4 x i8], %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.13", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %struct.HighsSymmetries, %"class.std::shared_ptr.310", double, double, double, i64, %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", 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.8", %class.HighsNodeQueue, %struct.HighsPrimaDualIntegral, [8 x i8] }>
%class.HighsCutPool = type { %class.HighsDynamicRowMatrix, %"class.std::vector.8", %"class.std::vector.21", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.13", %"class.std::unordered_multimap", %"class.std::vector.31", %"class.std::set", double, double, double, i32, i32, i32, i32, i32, %"class.std::vector.3", %"class.std::vector.36" }
%class.HighsDynamicRowMatrix = type { %"class.std::vector", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.13", %"class.std::set", %"class.std::vector.3" }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, int>, std::allocator<std::pair<int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.21" = type { %"struct.std::_Vector_base.22" }
%"struct.std::_Vector_base.22" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_multimap" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::vector.31" = type { %"struct.std::_Vector_base.32" }
%"struct.std::_Vector_base.32" = type { %"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomain::CutpoolPropagation *, std::allocator<HighsDomain::CutpoolPropagation *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.36" = type { %"struct.std::_Vector_base.37" }
%"struct.std::_Vector_base.37" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsConflictPool = type { i32, i32, %"class.std::vector.3", %"class.std::vector.21", %"class.std::vector.41", %"class.std::vector.46", %"class.std::vector", %"class.std::set", %"class.std::vector.3", %"class.std::vector.51" }
%"class.std::vector.41" = type { %"struct.std::_Vector_base.42" }
%"struct.std::_Vector_base.42" = 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.51" = type { %"struct.std::_Vector_base.52" }
%"struct.std::_Vector_base.52" = 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.13", %"class.std::vector.3", %"class.std::vector", %"class.std::vector.46", %"class.std::vector.56", %"class.std::vector.61", %"class.std::vector.66", %"class.std::vector.66", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.13", %"class.std::vector.3", %"struct.HighsDomain::ObjectivePropagation", ptr, %"class.std::deque", %"class.std::deque.84", i8, %"struct.HighsDomain::Reason", i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %class.HighsHashTable, i8, %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.56" = type { %"struct.std::_Vector_base.57" }
%"struct.std::_Vector_base.57" = 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.61" = type { %"struct.std::_Vector_base.62" }
%"struct.std::_Vector_base.62" = type { %"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<double, int>, std::allocator<std::pair<double, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.66" = type { %"struct.std::_Vector_base.67" }
%"struct.std::_Vector_base.67" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsDomain::ObjectivePropagation" = type { ptr, ptr, ptr, %class.HighsCDouble, i32, double, i8, %"class.std::vector.71", %"class.std::vector", %"class.std::vector.8", %"class.std::vector.76" }
%"class.std::vector.71" = type { %"struct.std::_Vector_base.72" }
%"struct.std::_Vector_base.72" = 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.76" = type { %"struct.std::_Vector_base.77" }
%"struct.std::_Vector_base.77" = 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.84" = type { %"class.std::_Deque_base.85" }
%"class.std::_Deque_base.85" = 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.89", %"struct.std::_Deque_iterator.89" }
%"struct.std::_Deque_iterator.89" = type { ptr, ptr, ptr, ptr }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%class.HighsHashTable = type { %"class.std::unique_ptr", %"class.std::unique_ptr.92", i64, i64, i64 }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.91" }
%"struct.std::_Head_base.91" = type { ptr }
%"class.std::unique_ptr.92" = type { %"struct.std::__uniq_ptr_data.93" }
%"struct.std::__uniq_ptr_data.93" = type { %"class.std::__uniq_ptr_impl.94" }
%"class.std::__uniq_ptr_impl.94" = type { %"class.std::tuple.95" }
%"class.std::tuple.95" = type { %"struct.std::_Tuple_impl.96" }
%"struct.std::_Tuple_impl.96" = type { %"struct.std::_Head_base.99" }
%"struct.std::_Head_base.99" = type { ptr }
%class.HighsLpRelaxation = type <{ ptr, %class.Highs, %"class.std::vector.230", %"class.std::vector.36", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %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.139", %class.HighsModel, %class.HighsTimer, %struct.HighsCallback, %class.HighsOptions, %class.HighsInfo, %struct.HighsRanging, %class.HighsIis, %"class.std::vector.163", i32, i32, i8, double, %"class.std::vector.8", %"class.std::vector.8", %class.HighsSparseMatrix, %class.HEkk, %struct.HighsPresolveLog, i32, i8, i32, i8, %class.PresolveComponent }
%struct.HighsSolution = type { i8, i8, %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8" }
%struct.ICrashInfo = type { i32, double, double, double, double, double, %"class.std::vector.105", %"class.std::vector.8", double }
%"class.std::vector.105" = type { %"struct.std::_Vector_base.106" }
%"struct.std::_Vector_base.106" = 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.139" = type { %"struct.std::_Vector_base.140" }
%"struct.std::_Vector_base.140" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsModel = type { %class.HighsLp, %class.HighsHessian }
%class.HighsHessian = type { i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8" }
%class.HighsTimer = type <{ ptr, double, i32, [4 x i8], %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.110", i32, i32, i32, [4 x i8] }>
%"class.std::vector.110" = type { %"struct.std::_Vector_base.111" }
%"struct.std::_Vector_base.111" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsCallback = type { %"class.std::function", ptr, ptr, %"class.std::vector.144", %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.144" = 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.148", 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.148" = type { %"struct.std::_Vector_base.149" }
%"struct.std::_Vector_base.149" = 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.153" }
%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.153" = type { %"struct.std::_Vector_base.154" }
%"struct.std::_Vector_base.154" = 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.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3" }
%class.HighsIis = type { i8, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.158" }
%"class.std::vector.158" = type { %"struct.std::_Vector_base.159" }
%"struct.std::_Vector_base.159" = 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.std::vector.163" = type { %"struct.std::_Vector_base.164" }
%"struct.std::_Vector_base.164" = 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.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8" }
%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.191, %class.HighsRandom, %"class.std::vector.8", %"class.std::vector.8", i8, %class.HighsSparseMatrix, %class.HighsSparseMatrix, %class.HSimplexNla, %struct.HotStart, double, double, double, i32, i32, i32, i32, i8, i8, i32, i32, i32, %"class.std::vector.3", %"class.std::vector.8", %struct.HighsRayRecord, %struct.HighsRayRecord, i32, i32, i32, double, %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", double, double, double, i32, i32, i8, i32, i8, i8, i8, i8, double, %"class.std::vector.210", %"class.std::vector.8", %struct.HighsSimplexStats }
%class.HighsSimplexAnalysis = type { ptr, %"class.std::vector.168", %"class.std::vector.168", 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.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.173", %"class.std::unique_ptr.178", 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.168" = type { %"struct.std::_Vector_base.169" }
%"struct.std::_Vector_base.169" = 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.173" = type { %"struct.std::_Vector_base.174" }
%"struct.std::_Vector_base.174" = 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.178" = type { %"struct.std::__uniq_ptr_data.179" }
%"struct.std::__uniq_ptr_data.179" = type { %"class.std::__uniq_ptr_impl.180" }
%"class.std::__uniq_ptr_impl.180" = type { %"class.std::tuple.181" }
%"class.std::tuple.181" = type { %"struct.std::_Tuple_impl.182" }
%"struct.std::_Tuple_impl.182" = type { %"struct.std::_Head_base.185" }
%"struct.std::_Head_base.185" = 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.8", %"class.std::vector.3", i32, [4 x i8] }>
%struct.HighsSimplexStatus = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%struct.HighsSimplexInfo = type <{ %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", i32, i32, i8, i8, [6 x i8], %struct.SimplexBasis, i32, i32, i32, [4 x i8], %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", i32, i32, i32, i32, double, double, double, double, i32, i32, double, double, double, double, double, double, double, double, double, double, i8, [7 x i8], double, double, i32, [4 x i8], double, double, double, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, [4 x i8], double, double, i32, [4 x i8], double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, i32, [4 x i8] }>
%struct.SimplexBasis = type { %"class.std::vector.3", %"class.std::vector.186", %"class.std::vector.186", i64, i32, i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.186" = type { %"struct.std::_Vector_base.187" }
%"struct.std::_Vector_base.187" = 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.191 = type { %"class.std::unique_ptr.192", %"class.std::unique_ptr.92", i64, i64, i64 }
%"class.std::unique_ptr.192" = type { %"struct.std::__uniq_ptr_data.193" }
%"struct.std::__uniq_ptr_data.193" = type { %"class.std::__uniq_ptr_impl.194" }
%"class.std::__uniq_ptr_impl.194" = type { %"class.std::tuple.195" }
%"class.std::tuple.195" = type { %"struct.std::_Tuple_impl.196" }
%"struct.std::_Tuple_impl.196" = type { %"struct.std::_Head_base.199" }
%"struct.std::_Head_base.199" = type { ptr }
%class.HighsRandom = type { i64 }
%class.HSimplexNla = type { ptr, ptr, ptr, ptr, ptr, ptr, %class.HFactor, i8, double, %struct.ProductFormUpdate, %struct.SimplexIterate }
%class.HFactor = type { double, double, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %struct.RefactorInfo, i32, i32, i32, i32, i32, i32, i32, double, i8, ptr, ptr, ptr, ptr, double, double, i32, double, %"class.std::unique_ptr.200", %struct.HighsLogOptions, i8, i8, i32, i32, ptr, i32, %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.208", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", i32, i32, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %class.HVectorBase }
%struct.RefactorInfo = type { i8, %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.186", double }
%"class.std::unique_ptr.200" = type { %"struct.std::__uniq_ptr_data.201" }
%"struct.std::__uniq_ptr_data.201" = type { %"class.std::__uniq_ptr_impl.202" }
%"class.std::__uniq_ptr_impl.202" = type { %"class.std::tuple.203" }
%"class.std::tuple.203" = type { %"struct.std::_Tuple_impl.204" }
%"struct.std::_Tuple_impl.204" = type { %"struct.std::_Head_base.207" }
%"struct.std::_Head_base.207" = type { ptr }
%"class.std::vector.208" = type { %"struct.std::_Vector_base.209" }
%"struct.std::_Vector_base.209" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.ProductFormUpdate = type { i8, i32, i32, %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8" }
%struct.SimplexIterate = type { i8, %struct.SimplexBasis, %struct.InvertibleRepresentation, %"class.std::vector.8" }
%struct.InvertibleRepresentation = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.8" }
%struct.HotStart = type { i8, %struct.RefactorInfo, %"class.std::vector.186" }
%struct.HighsRayRecord = type { i32, i32, %"class.std::vector.8" }
%"class.std::vector.210" = type { %"struct.std::_Vector_base.211" }
%"struct.std::_Vector_base.211" = 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.215" }
%"class.std::vector.215" = type { %"struct.std::_Vector_base.216" }
%"struct.std::_Vector_base.216" = 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.230" = type { %"struct.std::_Vector_base.231" }
%"struct.std::_Vector_base.231" = type { %"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsLpRelaxation::LpRow, std::allocator<HighsLpRelaxation::LpRow>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HVectorBase = type { i32, i32, %"class.std::vector.3", %"class.std::vector.8", double, %"class.std::vector.208", %"class.std::vector.3", ptr, i8, i32, %"class.std::vector.3", %"class.std::vector.8" }
%class.HighsSparseVectorSum = type { %"class.std::vector.66", %"class.std::vector.3" }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%class.HighsPseudocost = type { %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", double, double, double, double, i64, i64, i64, i32, double }
%class.HighsCliqueTable = type { %"class.std::vector.235", %"class.std::vector.240", %"class.std::vector.245", %class.HighsHashTable.250, %"class.std::set", %"class.std::vector.3", %"class.std::vector.259", %"class.std::vector.3", %"class.std::vector.235", %"class.std::vector.3", %"class.std::vector.264", %"class.std::vector.3", %"class.std::vector.269", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.41", %"class.std::vector.3", %class.HighsRandom, i32, i32, i32, i32, i8, i64 }
%"class.std::vector.240" = type { %"struct.std::_Vector_base.241" }
%"struct.std::_Vector_base.241" = 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.245" = type { %"struct.std::_Vector_base.246" }
%"struct.std::_Vector_base.246" = 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.250 = type { %"class.std::unique_ptr.251", %"class.std::unique_ptr.92", i64, i64, i64 }
%"class.std::unique_ptr.251" = type { %"struct.std::__uniq_ptr_data.252" }
%"struct.std::__uniq_ptr_data.252" = type { %"class.std::__uniq_ptr_impl.253" }
%"class.std::__uniq_ptr_impl.253" = type { %"class.std::tuple.254" }
%"class.std::tuple.254" = type { %"struct.std::_Tuple_impl.255" }
%"struct.std::_Tuple_impl.255" = type { %"struct.std::_Head_base.258" }
%"struct.std::_Head_base.258" = type { ptr }
%"class.std::vector.259" = type { %"struct.std::_Vector_base.260" }
%"struct.std::_Vector_base.260" = 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.235" = type { %"struct.std::_Vector_base.236" }
%"struct.std::_Vector_base.236" = 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.264" = type { %"struct.std::_Vector_base.265" }
%"struct.std::_Vector_base.265" = 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.269" = type { %"struct.std::_Vector_base.270" }
%"struct.std::_Vector_base.270" = 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.274", i64, %"class.std::vector.279", %"class.std::vector.279", ptr, %"class.std::vector.284", %"class.std::vector.13", %"class.std::function.289" }
%"class.std::vector.274" = type { %"struct.std::_Vector_base.275" }
%"struct.std::_Vector_base.275" = 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.279" = type { %"struct.std::_Vector_base.280" }
%"struct.std::_Vector_base.280" = 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.284" = type { %"struct.std::_Vector_base.285" }
%"struct.std::_Vector_base.285" = 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.289" = type { %"class.std::_Function_base", ptr }
%class.HighsPrimalHeuristics = type { ptr, i64, i64, i64, i64, double, i32, double, i32, %class.HighsRandom, %"class.std::vector.3" }
%class.HighsRedcostFixing = type { %"class.std::vector.291", %"class.std::vector.291" }
%"class.std::vector.291" = type { %"struct.std::_Vector_base.292" }
%"struct.std::_Vector_base.292" = type { %"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::multimap<double, int>, std::allocator<std::multimap<double, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsObjectiveFunction = type { ptr, double, i32, i32, %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.3" }
%"class.presolve::HighsPostsolveStack" = type { i64, double, double, double, double, %class.HighsDataStack, %"class.std::vector.220", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.13", %"class.std::vector.225", %"class.std::vector.225", i32, i32 }
%class.HighsDataStack = type { %"class.std::vector.208", i64 }
%"class.std::vector.220" = type { %"struct.std::_Vector_base.221" }
%"struct.std::_Vector_base.221" = 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.225" = type { %"struct.std::_Vector_base.226" }
%"struct.std::_Vector_base.226" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsLp = type { i32, i32, %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.110", %"class.std::vector.110", %"class.std::vector.115", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%"class.std::vector.115" = type { %"struct.std::_Vector_base.116" }
%"struct.std::_Vector_base.116" = 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.120" }
%"class.std::_Hashtable.120" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector.8", %"class.std::vector.8" }
%struct.HighsLpMods = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.115", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsSymmetries = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.296", %class.HighsHashTable.301, i32, i32 }
%"class.std::vector.296" = type { %"struct.std::_Vector_base.297" }
%"struct.std::_Vector_base.297" = 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.HighsHashTable.301 = type { %"class.std::unique_ptr.302", %"class.std::unique_ptr.92", i64, i64, i64 }
%"class.std::unique_ptr.302" = type { %"struct.std::__uniq_ptr_data.303" }
%"struct.std::__uniq_ptr_data.303" = type { %"class.std::__uniq_ptr_impl.304" }
%"class.std::__uniq_ptr_impl.304" = type { %"class.std::tuple.305" }
%"class.std::tuple.305" = type { %"struct.std::_Tuple_impl.306" }
%"struct.std::_Tuple_impl.306" = type { %"struct.std::_Head_base.309" }
%"struct.std::_Head_base.309" = type { ptr }
%"class.std::shared_ptr.310" = type { %"class.std::__shared_ptr.311" }
%"class.std::__shared_ptr.311" = type { ptr, %"class.std::__shared_count" }
%struct.HighsBasis = type { i8, i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::vector.100", %"class.std::vector.100" }
%"class.std::vector.100" = type { %"struct.std::_Vector_base.101" }
%"struct.std::_Vector_base.101" = 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.313", %"class.std::vector.321", %"class.std::priority_queue", %"class.std::unique_ptr.331", %"class.std::unique_ptr.331", i64, i64, i64, i64, i64, i64, i64, double, i32, [4 x i8] }>
%"class.std::unique_ptr.313" = type { %"struct.std::__uniq_ptr_data.314" }
%"struct.std::__uniq_ptr_data.314" = type { %"class.std::__uniq_ptr_impl.315" }
%"class.std::__uniq_ptr_impl.315" = type { %"class.std::tuple.316" }
%"class.std::tuple.316" = type { %"struct.std::_Tuple_impl.317" }
%"struct.std::_Tuple_impl.317" = type { %"struct.std::_Head_base.320" }
%"struct.std::_Head_base.320" = type { ptr }
%"class.std::vector.321" = type { %"struct.std::_Vector_base.322" }
%"struct.std::_Vector_base.322" = 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.326", [8 x i8] }>
%"class.std::vector.326" = type { %"struct.std::_Vector_base.327" }
%"struct.std::_Vector_base.327" = 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.331" = type { %"struct.std::__uniq_ptr_data.332" }
%"struct.std::__uniq_ptr_data.332" = type { %"class.std::__uniq_ptr_impl.333" }
%"class.std::__uniq_ptr_impl.333" = type { %"class.std::tuple.334" }
%"class.std::tuple.334" = type { %"struct.std::_Tuple_impl.335" }
%"struct.std::_Tuple_impl.335" = type { %"struct.std::_Head_base.338" }
%"struct.std::_Head_base.338" = type { ptr }
%struct.HighsPrimaDualIntegral = type { double, double, double, double, double }
%class.HighsMipSolver = type { ptr, ptr, ptr, ptr, i32, %"class.std::vector.8", double, double, double, double, double, double, double, i64, i64, double, ptr, %"class.std::vector.163", i8, i32, i32, ptr, ptr, ptr, ptr, %"class.std::unique_ptr.339", %class.HighsMipAnalysis, %class.HighsTimer }
%"class.std::unique_ptr.339" = type { %"struct.std::__uniq_ptr_data.340" }
%"struct.std::__uniq_ptr_data.340" = type { %"class.std::__uniq_ptr_impl.341" }
%"class.std::__uniq_ptr_impl.341" = type { %"class.std::tuple.342" }
%"class.std::tuple.342" = type { %"struct.std::_Tuple_impl.343" }
%"struct.std::_Tuple_impl.343" = type { %"struct.std::_Head_base.346" }
%"struct.std::_Head_base.346" = type { ptr }
%class.HighsMipAnalysis = type { ptr, %"class.std::__cxx11::basic_string", %struct.HighsTimerClock, i8, %"class.std::vector.8", %"class.std::vector.8" }
%struct.HighsTimerClock = type { ptr, %"class.std::vector.3" }

@_ZL15kHighsOffStringB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZL14kHighsOnStringB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [80 x i8], align 1
@stdout = external global ptr, align 8
@.str.107 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [17 x i8], align 1
@__PRETTY_FUNCTION__._ZN18HighsMipSolverData16evaluateRootNodeEv = external hidden unnamed_addr constant [44 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [43 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData30startAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12)) #2 align 2

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

declare i32 @fflush(ptr noundef) #5

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData22startSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #6

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData23finishSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801)) #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)) #7

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData24updatePrimalDualIntegralEddddbb(ptr noundef nonnull align 8 dereferenceable(26801), double noundef, double noundef, double noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext) #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) #2 align 2

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801), i64 noundef) #2 align 2

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

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

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

declare noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5

declare noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) #5

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

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

declare void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #5

declare void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) #5

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801)) #2 align 2

declare void @_ZN21HighsPrimalHeuristics18randomizedRoundingERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(24)) #5

declare void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104)) #5

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN18HighsMipSolverData16evaluateRootNodeEv(ptr noundef nonnull align 8 dereferenceable(26801) %0) #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca ptr, align 8
  %3 = alloca i8, align 1
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::unique_ptr.347", align 8
  %7 = alloca %"class.highs::parallel::TaskGroup", align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca i8, align 1
  %14 = alloca %"struct.std::_Bit_reference", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca i32, align 4
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::allocator", align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca i32, align 4
  %31 = alloca i8, align 1
  %32 = alloca i8, align 1
  %33 = alloca %struct.HighsCutSet, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca double, align 8
  %37 = alloca %"class.std::vector.8", align 8
  %38 = alloca %"class.std::vector.8", align 8
  %39 = alloca i32, align 4
  %40 = alloca double, align 8
  %41 = alloca i32, align 4
  %42 = alloca %class.HighsSeparation, align 8
  %43 = alloca double, align 8
  %44 = alloca i32, align 4
  %45 = alloca i8, align 1
  %46 = alloca %class.HighsCDouble, align 8
  %47 = alloca ptr, align 8
  %48 = alloca i32, align 4
  %49 = alloca double, align 8
  %50 = alloca %class.HighsCDouble, align 8
  %51 = alloca %class.HighsCDouble, align 8
  %52 = alloca %class.HighsCDouble, align 8
  %53 = alloca %class.HighsCDouble, align 8
  %54 = alloca i32, align 4
  %55 = alloca double, align 8
  %56 = alloca %class.HighsCDouble, align 8
  %57 = alloca %class.HighsCDouble, align 8
  %58 = alloca double, align 8
  %59 = alloca double, align 8
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca %"struct.std::_Bit_reference", align 8
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i8, align 1
  %66 = alloca i32, align 4
  %67 = alloca i8, align 1
  %68 = alloca %"struct.std::_Bit_reference", align 8
  %69 = alloca i8, align 1
  %70 = alloca i32, align 4
  %71 = alloca i8, align 1
  %72 = alloca i32, align 4
  %73 = alloca i8, align 1
  %74 = alloca %"struct.std::_Bit_reference", align 8
  %75 = alloca %class.HighsCDouble, align 8
  %76 = alloca i8, align 1
  %77 = alloca i32, align 4
  %78 = alloca i8, align 1
  %79 = alloca %"struct.std::_Bit_reference", align 8
  %80 = alloca double, align 8
  %81 = alloca %"class.std::vector.46", align 8
  %82 = alloca %"class.std::vector.3", align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  %83 = load ptr, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %3) #10
  store i8 1, ptr %3, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #10
  %84 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %85 = load ptr, ptr %84, align 8, !tbaa !11
  %86 = getelementptr inbounds %class.HighsMipSolver, ptr %85, i32 0, i32 18
  %87 = load i8, ptr %86, align 8, !tbaa !379, !range !389, !noundef !390
  %88 = trunc i8 %87 to i1
  %89 = zext i1 %88 to i64
  %90 = select i1 %88, i32 5, i32 2147483647
  store i32 %90, ptr %4, align 4, !tbaa !391
  %91 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 22
  %92 = load i32, ptr %91, align 4, !tbaa !392
  %93 = icmp eq i32 %92, 0
  br i1 %93, label %94, label %102

94:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #10
  %95 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 51
  %96 = load i32, ptr %95, align 4, !tbaa !393
  %97 = call noundef double @_ZSt4sqrtIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_(i32 noundef %96)
  %98 = fmul double 2.000000e+00, %97
  %99 = fptosi double %98 to i32
  store i32 %99, ptr %5, align 4, !tbaa !391
  %100 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %5, ptr noundef nonnull align 4 dereferenceable(4) %4)
  %101 = load i32, ptr %100, align 4, !tbaa !391
  store i32 %101, ptr %4, align 4, !tbaa !391
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #10
  br label %102

102:                                              ; preds = %94, %1
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #10
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EEC2IS3_vEEv(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %7) #10
  invoke void @_ZN5highs8parallel9TaskGroupC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %103 unwind label %119

103:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #10
  %104 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %105 = load ptr, ptr %104, align 8, !tbaa !11
  %106 = getelementptr inbounds %class.HighsMipSolver, ptr %105, i32 0, i32 26
  store ptr %106, ptr %10, align 8, !tbaa !5
  br label %107

107:                                              ; preds = %1878, %103
  %108 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %108, i32 noundef 35)
          to label %109 unwind label %123

109:                                              ; preds = %107
  %110 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 20
  %111 = load i8, ptr %110, align 8, !tbaa !394, !range !389, !noundef !390
  %112 = trunc i8 %111 to i1
  br i1 %112, label %113, label %127

113:                                              ; preds = %109
  %114 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %114, i32 noundef 19)
          to label %115 unwind label %123

115:                                              ; preds = %113
  invoke void @_ZN18HighsMipSolverData22startSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %116 unwind label %123

116:                                              ; preds = %115
  %117 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %117, i32 noundef 19)
          to label %118 unwind label %123

118:                                              ; preds = %116
  br label %127

119:                                              ; preds = %102
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %8, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %9, align 4
  br label %1891

123:                                              ; preds = %160, %158, %156, %154, %151, %150, %148, %146, %136, %116, %115, %113, %107
  %124 = landingpad { ptr, i32 }
          cleanup
  %125 = extractvalue { ptr, i32 } %124, 0
  store ptr %125, ptr %8, align 8
  %126 = extractvalue { ptr, i32 } %124, 1
  store i32 %126, ptr %9, align 4
  br label %1890

127:                                              ; preds = %118, %109
  %128 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 17
  %129 = load i8, ptr %128, align 2, !tbaa !395, !range !389, !noundef !390
  %130 = trunc i8 %129 to i1
  br i1 %130, label %154, label %131

131:                                              ; preds = %127
  %132 = load ptr, ptr %10, align 8, !tbaa !5
  %133 = getelementptr inbounds %class.HighsMipAnalysis, ptr %132, i32 0, i32 3
  %134 = load i8, ptr %133, align 8, !tbaa !396, !range !389, !noundef !390
  %135 = trunc i8 %134 to i1
  br i1 %135, label %136, label %148

136:                                              ; preds = %131
  %137 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %138 = load ptr, ptr %137, align 8, !tbaa !11
  %139 = getelementptr inbounds %class.HighsMipSolver, ptr %138, i32 0, i32 1
  %140 = load ptr, ptr %139, align 8, !tbaa !397
  %141 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %140, i32 0, i32 130
  %142 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %143 = load ptr, ptr %142, align 8, !tbaa !11
  %144 = getelementptr inbounds %class.HighsMipSolver, ptr %143, i32 0, i32 27
  %145 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %144, i32 noundef 0)
          to label %146 unwind label %123

146:                                              ; preds = %136
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %141, i32 noundef 1, ptr noundef @.str.136, double noundef %145)
          to label %147 unwind label %123

147:                                              ; preds = %146
  br label %148

148:                                              ; preds = %147, %131
  %149 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %149, i32 noundef 20)
          to label %150 unwind label %123

150:                                              ; preds = %148
  invoke void @_ZN18HighsMipSolverData30startAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %151 unwind label %123

151:                                              ; preds = %150
  %152 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %152, i32 noundef 20)
          to label %153 unwind label %123

153:                                              ; preds = %151
  br label %154

154:                                              ; preds = %153, %127
  %155 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %155, i32 noundef 2147483647)
          to label %156 unwind label %123

156:                                              ; preds = %154
  %157 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation9loadModelEv(ptr noundef nonnull align 8 dereferenceable(21425) %157)
          to label %158 unwind label %123

158:                                              ; preds = %156
  %159 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  invoke void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %159)
          to label %160 unwind label %123

160:                                              ; preds = %158
  %161 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %162 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %163 = load double, ptr %162, align 8, !tbaa !398
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %161, double noundef %163)
          to label %164 unwind label %123

164:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #10
  %165 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %166 = load double, ptr %165, align 8, !tbaa !399
  store double %166, ptr %11, align 8, !tbaa !400
  %167 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #10
  %168 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  %169 = invoke noundef double @_ZNK11HighsDomain22getObjectiveLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(824) %168)
          to label %170 unwind label %197

170:                                              ; preds = %164
  store double %169, ptr %12, align 8, !tbaa !400
  %171 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %167, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %172 unwind label %197

172:                                              ; preds = %170
  %173 = load double, ptr %171, align 8, !tbaa !400
  %174 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  store double %173, ptr %174, align 8, !tbaa !399
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %13) #10
  %175 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %176 = load double, ptr %175, align 8, !tbaa !399
  %177 = load double, ptr %11, align 8, !tbaa !400
  %178 = fcmp une double %176, %177
  %179 = zext i1 %178 to i8
  store i8 %179, ptr %13, align 1, !tbaa !9
  %180 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %181 = load ptr, ptr %180, align 8, !tbaa !11
  %182 = getelementptr inbounds %class.HighsMipSolver, ptr %181, i32 0, i32 18
  %183 = load i8, ptr %182, align 8, !tbaa !379, !range !389, !noundef !390
  %184 = trunc i8 %183 to i1
  br i1 %184, label %205, label %185

185:                                              ; preds = %172
  %186 = load i8, ptr %13, align 1, !tbaa !9, !range !389, !noundef !390
  %187 = trunc i8 %186 to i1
  br i1 %187, label %188, label %205

188:                                              ; preds = %185
  %189 = load double, ptr %11, align 8, !tbaa !400
  %190 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %191 = load double, ptr %190, align 8, !tbaa !399
  %192 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 76
  %193 = load double, ptr %192, align 8, !tbaa !401
  %194 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 76
  %195 = load double, ptr %194, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData24updatePrimalDualIntegralEddddbb(ptr noundef nonnull align 8 dereferenceable(26801) %83, double noundef %189, double noundef %191, double noundef %193, double noundef %195, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %196 unwind label %201

196:                                              ; preds = %188
  br label %205

197:                                              ; preds = %170, %164
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %8, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #10
  br label %1889

201:                                              ; preds = %342, %319, %294, %278, %253, %234, %205, %188
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %8, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %9, align 4
  br label %1888

205:                                              ; preds = %196, %185, %172
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %206 unwind label %201

206:                                              ; preds = %205
  %207 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %208 = load ptr, ptr %207, align 8, !tbaa !11
  %209 = getelementptr inbounds %class.HighsMipSolver, ptr %208, i32 0, i32 18
  %210 = load i8, ptr %209, align 8, !tbaa !379, !range !389, !noundef !390
  %211 = trunc i8 %210 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #10
  br i1 %211, label %232, label %212

212:                                              ; preds = %206
  %213 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %214 = load ptr, ptr %213, align 8, !tbaa !11
  %215 = getelementptr inbounds %class.HighsMipSolver, ptr %214, i32 0, i32 0
  %216 = load ptr, ptr %215, align 8, !tbaa !402
  %217 = getelementptr inbounds %struct.HighsCallback, ptr %216, i32 0, i32 0
  %218 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %217) #10
  br i1 %218, label %219, label %232

219:                                              ; preds = %212
  %220 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %221 = load ptr, ptr %220, align 8, !tbaa !11
  %222 = getelementptr inbounds %class.HighsMipSolver, ptr %221, i32 0, i32 0
  %223 = load ptr, ptr %222, align 8, !tbaa !402
  %224 = getelementptr inbounds %struct.HighsCallback, ptr %223, i32 0, i32 3
  %225 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %224, i64 noundef 9)
          to label %226 unwind label %244

226:                                              ; preds = %219
  %227 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0
  %228 = extractvalue { ptr, i64 } %225, 0
  store ptr %228, ptr %227, align 8
  %229 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1
  %230 = extractvalue { ptr, i64 } %225, 1
  store i64 %230, ptr %229, align 8
  %231 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %14) #10
  br label %232

232:                                              ; preds = %226, %212, %206
  %233 = phi i1 [ false, %212 ], [ false, %206 ], [ %231, %226 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #10
  br i1 %233, label %234, label %248

234:                                              ; preds = %232
  %235 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %236 = load ptr, ptr %235, align 8, !tbaa !11
  %237 = getelementptr inbounds %class.HighsMipSolver, ptr %236, i32 0, i32 25
  %238 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %237) #10
  %239 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %240 = load ptr, ptr %239, align 8, !tbaa !11
  %241 = getelementptr inbounds %class.HighsMipSolver, ptr %240, i32 0, i32 6
  %242 = load double, ptr %241, align 8, !tbaa !403
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %238, double noundef %242, i32 noundef 2)
          to label %243 unwind label %201

243:                                              ; preds = %234
  br label %248

244:                                              ; preds = %219
  %245 = landingpad { ptr, i32 }
          cleanup
  %246 = extractvalue { ptr, i32 } %245, 0
  store ptr %246, ptr %8, align 8
  %247 = extractvalue { ptr, i32 } %245, 1
  store i32 %247, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #10
  br label %1888

248:                                              ; preds = %243, %232
  %249 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %250 = getelementptr inbounds %struct.HighsBasis, ptr %249, i32 0, i32 0
  %251 = load i8, ptr %250, align 8, !tbaa !404, !range !389, !noundef !390
  %252 = trunc i8 %251 to i1
  br i1 %252, label %253, label %270

253:                                              ; preds = %248
  %254 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %255 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %254)
          to label %256 unwind label %201

256:                                              ; preds = %253
  %257 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef @.str.137, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %258 unwind label %261

258:                                              ; preds = %256
  %259 = invoke noundef i32 @_ZN5Highs8setBasisERK10HighsBasisRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %255, ptr noundef nonnull align 8 dereferenceable(96) %257, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %260 unwind label %265

260:                                              ; preds = %258
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #10
  br label %311

261:                                              ; preds = %256
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %8, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %9, align 4
  br label %269

265:                                              ; preds = %258
  %266 = landingpad { ptr, i32 }
          cleanup
  %267 = extractvalue { ptr, i32 } %266, 0
  store ptr %267, ptr %8, align 8
  %268 = extractvalue { ptr, i32 } %266, 1
  store i32 %268, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #10
  br label %269

269:                                              ; preds = %265, %261
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #10
  br label %1888

270:                                              ; preds = %248
  %271 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %272 = load ptr, ptr %271, align 8, !tbaa !11
  %273 = getelementptr inbounds %class.HighsMipSolver, ptr %272, i32 0, i32 1
  %274 = load ptr, ptr %273, align 8, !tbaa !397
  %275 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %274, i32 0, i32 128
  %276 = load i8, ptr %275, align 8, !tbaa !405, !range !389, !noundef !390
  %277 = trunc i8 %276 to i1
  br i1 %277, label %278, label %294

278:                                              ; preds = %270
  %279 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %280 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %279)
          to label %281 unwind label %201

281:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %282 unwind label %285

282:                                              ; preds = %281
  %283 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %280, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %284 unwind label %289

284:                                              ; preds = %282
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #10
  br label %310

285:                                              ; preds = %281
  %286 = landingpad { ptr, i32 }
          cleanup
  %287 = extractvalue { ptr, i32 } %286, 0
  store ptr %287, ptr %8, align 8
  %288 = extractvalue { ptr, i32 } %286, 1
  store i32 %288, ptr %9, align 4
  br label %293

289:                                              ; preds = %282
  %290 = landingpad { ptr, i32 }
          cleanup
  %291 = extractvalue { ptr, i32 } %290, 0
  store ptr %291, ptr %8, align 8
  %292 = extractvalue { ptr, i32 } %290, 1
  store i32 %292, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #10
  br label %293

293:                                              ; preds = %289, %285
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #10
  br label %1888

294:                                              ; preds = %270
  %295 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %296 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %295)
          to label %297 unwind label %201

297:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 32, ptr %19) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %298 unwind label %301

298:                                              ; preds = %297
  %299 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %296, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14kHighsOnStringB5cxx11)
          to label %300 unwind label %305

300:                                              ; preds = %298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #10
  br label %310

301:                                              ; preds = %297
  %302 = landingpad { ptr, i32 }
          cleanup
  %303 = extractvalue { ptr, i32 } %302, 0
  store ptr %303, ptr %8, align 8
  %304 = extractvalue { ptr, i32 } %302, 1
  store i32 %304, ptr %9, align 4
  br label %309

305:                                              ; preds = %298
  %306 = landingpad { ptr, i32 }
          cleanup
  %307 = extractvalue { ptr, i32 } %306, 0
  store ptr %307, ptr %8, align 8
  %308 = extractvalue { ptr, i32 } %306, 1
  store i32 %308, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #10
  br label %309

309:                                              ; preds = %305, %301
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %19) #10
  br label %1888

310:                                              ; preds = %300, %284
  br label %311

311:                                              ; preds = %310, %260
  %312 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %313 = load ptr, ptr %312, align 8, !tbaa !11
  %314 = getelementptr inbounds %class.HighsMipSolver, ptr %313, i32 0, i32 1
  %315 = load ptr, ptr %314, align 8, !tbaa !397
  %316 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %315, i32 0, i32 24
  %317 = load i32, ptr %316, align 4, !tbaa !406
  %318 = icmp ne i32 %317, 0
  br i1 %318, label %319, label %342

319:                                              ; preds = %311
  %320 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %321 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %320)
          to label %322 unwind label %201

322:                                              ; preds = %319
  call void @llvm.lifetime.start.p0(i64 32, ptr %21) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef @.str.107, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %323 unwind label %333

323:                                              ; preds = %322
  %324 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %325 = load ptr, ptr %324, align 8, !tbaa !11
  %326 = getelementptr inbounds %class.HighsMipSolver, ptr %325, i32 0, i32 1
  %327 = load ptr, ptr %326, align 8, !tbaa !397
  %328 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %327, i32 0, i32 42
  %329 = load i8, ptr %328, align 8, !tbaa !407, !range !389, !noundef !390
  %330 = trunc i8 %329 to i1
  %331 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928) %321, ptr noundef nonnull align 8 dereferenceable(32) %21, i1 noundef zeroext %330)
          to label %332 unwind label %337

332:                                              ; preds = %323
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #10
  br label %342

333:                                              ; preds = %322
  %334 = landingpad { ptr, i32 }
          cleanup
  %335 = extractvalue { ptr, i32 } %334, 0
  store ptr %335, ptr %8, align 8
  %336 = extractvalue { ptr, i32 } %334, 1
  store i32 %336, ptr %9, align 4
  br label %341

337:                                              ; preds = %323
  %338 = landingpad { ptr, i32 }
          cleanup
  %339 = extractvalue { ptr, i32 } %338, 0
  store ptr %339, ptr %8, align 8
  %340 = extractvalue { ptr, i32 } %338, 1
  store i32 %340, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #10
  br label %341

341:                                              ; preds = %337, %333
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %21) #10
  br label %1888

342:                                              ; preds = %332, %311
  %343 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %343, i32 noundef 21)
          to label %344 unwind label %201

344:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #10
  %345 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %346 unwind label %356

346:                                              ; preds = %344
  store i32 %345, ptr %23, align 4, !tbaa !408
  %347 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %347, i32 noundef 21)
          to label %348 unwind label %356

348:                                              ; preds = %346
  %349 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 22
  %350 = load i32, ptr %349, align 4, !tbaa !392
  %351 = icmp eq i32 %350, 0
  br i1 %351, label %352, label %360

352:                                              ; preds = %348
  %353 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 64
  %354 = load i64, ptr %353, align 8, !tbaa !409
  %355 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 56
  store i64 %354, ptr %355, align 8, !tbaa !410
  br label %360

356:                                              ; preds = %644, %640, %639, %628, %562, %555, %550, %548, %546, %544, %542, %539, %535, %484, %463, %455, %451, %449, %446, %440, %437, %431, %424, %421, %417, %414, %384, %372, %366, %360, %346, %344
  %357 = landingpad { ptr, i32 }
          cleanup
  %358 = extractvalue { ptr, i32 } %357, 0
  store ptr %358, ptr %8, align 8
  %359 = extractvalue { ptr, i32 } %357, 1
  store i32 %359, ptr %9, align 4
  br label %1887

360:                                              ; preds = %352, %348
  %361 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %362 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %361)
          to label %363 unwind label %356

363:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 32, ptr %24) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef @.str.107, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %364 unwind label %387

364:                                              ; preds = %363
  %365 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928) %362, ptr noundef nonnull align 8 dereferenceable(32) %24, i1 noundef zeroext false)
          to label %366 unwind label %391

366:                                              ; preds = %364
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #10
  %367 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %368 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %367)
          to label %369 unwind label %356

369:                                              ; preds = %366
  call void @llvm.lifetime.start.p0(i64 32, ptr %26) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %27)
          to label %370 unwind label %396

370:                                              ; preds = %369
  %371 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %368, ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %372 unwind label %400

372:                                              ; preds = %370
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  %373 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %374 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %373)
          to label %375 unwind label %356

375:                                              ; preds = %372
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #10
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #10
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %376 unwind label %405

376:                                              ; preds = %375
  %377 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %374, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %378 unwind label %409

378:                                              ; preds = %376
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #10
  %379 = load i32, ptr %23, align 4, !tbaa !408
  %380 = icmp eq i32 %379, 2
  br i1 %380, label %384, label %381

381:                                              ; preds = %378
  %382 = load i32, ptr %23, align 4, !tbaa !408
  %383 = icmp eq i32 %382, 6
  br i1 %383, label %384, label %414

384:                                              ; preds = %381, %378
  %385 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %385)
          to label %386 unwind label %356

386:                                              ; preds = %384
  store i32 1, ptr %30, align 4
  br label %1878

387:                                              ; preds = %363
  %388 = landingpad { ptr, i32 }
          cleanup
  %389 = extractvalue { ptr, i32 } %388, 0
  store ptr %389, ptr %8, align 8
  %390 = extractvalue { ptr, i32 } %388, 1
  store i32 %390, ptr %9, align 4
  br label %395

391:                                              ; preds = %364
  %392 = landingpad { ptr, i32 }
          cleanup
  %393 = extractvalue { ptr, i32 } %392, 0
  store ptr %393, ptr %8, align 8
  %394 = extractvalue { ptr, i32 } %392, 1
  store i32 %394, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #10
  br label %395

395:                                              ; preds = %391, %387
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %24) #10
  br label %1887

396:                                              ; preds = %369
  %397 = landingpad { ptr, i32 }
          cleanup
  %398 = extractvalue { ptr, i32 } %397, 0
  store ptr %398, ptr %8, align 8
  %399 = extractvalue { ptr, i32 } %397, 1
  store i32 %399, ptr %9, align 4
  br label %404

400:                                              ; preds = %370
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %8, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #10
  br label %404

404:                                              ; preds = %400, %396
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %27) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %26) #10
  br label %1887

405:                                              ; preds = %375
  %406 = landingpad { ptr, i32 }
          cleanup
  %407 = extractvalue { ptr, i32 } %406, 0
  store ptr %407, ptr %8, align 8
  %408 = extractvalue { ptr, i32 } %406, 1
  store i32 %408, ptr %9, align 4
  br label %413

409:                                              ; preds = %376
  %410 = landingpad { ptr, i32 }
          cleanup
  %411 = extractvalue { ptr, i32 } %410, 0
  store ptr %411, ptr %8, align 8
  %412 = extractvalue { ptr, i32 } %410, 1
  store i32 %412, ptr %9, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #10
  br label %413

413:                                              ; preds = %409, %405
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #10
  br label %1887

414:                                              ; preds = %381
  %415 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %416 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %415)
          to label %417 unwind label %356

417:                                              ; preds = %414
  %418 = getelementptr inbounds %struct.HighsSolution, ptr %416, i32 0, i32 2
  %419 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 45
  %420 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIdSaIdEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %419, ptr noundef nonnull align 8 dereferenceable(24) %418)
          to label %421 unwind label %356

421:                                              ; preds = %417
  %422 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %423 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %422)
          to label %424 unwind label %356

424:                                              ; preds = %421
  %425 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 47
  store double %423, ptr %425, align 8, !tbaa !411
  %426 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 47
  %427 = load double, ptr %426, align 8, !tbaa !411
  %428 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  store double %427, ptr %428, align 8, !tbaa !412
  %429 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %430 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %429)
          to label %431 unwind label %356

431:                                              ; preds = %424
  %432 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %430)
          to label %433 unwind label %356

433:                                              ; preds = %431
  %434 = getelementptr inbounds %struct.HighsBasis, ptr %432, i32 0, i32 0
  %435 = load i8, ptr %434, align 8, !tbaa !413, !range !389, !noundef !390
  %436 = trunc i8 %435 to i1
  br i1 %436, label %437, label %455

437:                                              ; preds = %433
  %438 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %439 = invoke noundef i32 @_ZNK17HighsLpRelaxation7numRowsEv(ptr noundef nonnull align 8 dereferenceable(21425) %438)
          to label %440 unwind label %356

440:                                              ; preds = %437
  %441 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %442 = load ptr, ptr %441, align 8, !tbaa !11
  %443 = invoke noundef i32 @_ZNK14HighsMipSolver6numRowEv(ptr noundef nonnull align 8 dereferenceable(496) %442)
          to label %444 unwind label %356

444:                                              ; preds = %440
  %445 = icmp eq i32 %439, %443
  br i1 %445, label %446, label %455

446:                                              ; preds = %444
  %447 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %448 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %447)
          to label %449 unwind label %356

449:                                              ; preds = %446
  %450 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %448)
          to label %451 unwind label %356

451:                                              ; preds = %449
  %452 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %453 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN10HighsBasisaSERKS_(ptr noundef nonnull align 8 dereferenceable(96) %452, ptr noundef nonnull align 8 dereferenceable(96) %450)
          to label %454 unwind label %356

454:                                              ; preds = %451
  br label %484

455:                                              ; preds = %444, %433
  %456 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %457 = getelementptr inbounds %struct.HighsBasis, ptr %456, i32 0, i32 7
  %458 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %459 = load ptr, ptr %458, align 8, !tbaa !11
  %460 = invoke noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %459)
          to label %461 unwind label %356

461:                                              ; preds = %455
  %462 = sext i32 %460 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #10
  store i8 4, ptr %31, align 1, !tbaa !414
  invoke void @_ZNSt6vectorI16HighsBasisStatusSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %457, i64 noundef %462, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %463 unwind label %476

463:                                              ; preds = %461
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #10
  %464 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %465 = getelementptr inbounds %struct.HighsBasis, ptr %464, i32 0, i32 8
  %466 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %467 = load ptr, ptr %466, align 8, !tbaa !11
  %468 = invoke noundef i32 @_ZNK14HighsMipSolver6numRowEv(ptr noundef nonnull align 8 dereferenceable(496) %467)
          to label %469 unwind label %356

469:                                              ; preds = %463
  %470 = sext i32 %468 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #10
  store i8 1, ptr %32, align 1, !tbaa !414
  invoke void @_ZNSt6vectorI16HighsBasisStatusSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %465, i64 noundef %470, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %471 unwind label %480

471:                                              ; preds = %469
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #10
  %472 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %473 = getelementptr inbounds %struct.HighsBasis, ptr %472, i32 0, i32 0
  store i8 1, ptr %473, align 8, !tbaa !404
  %474 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 48
  %475 = getelementptr inbounds %struct.HighsBasis, ptr %474, i32 0, i32 2
  store i8 1, ptr %475, align 2, !tbaa !416
  br label %484

476:                                              ; preds = %461
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %8, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #10
  br label %1887

480:                                              ; preds = %469
  %481 = landingpad { ptr, i32 }
          cleanup
  %482 = extractvalue { ptr, i32 } %481, 0
  store ptr %482, ptr %8, align 8
  %483 = extractvalue { ptr, i32 } %481, 1
  store i32 %483, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #10
  br label %1887

484:                                              ; preds = %471, %454
  %485 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 1
  %486 = invoke noundef i32 @_ZNK12HighsCutPool10getNumCutsEv(ptr noundef nonnull align 8 dereferenceable(680) %485)
          to label %487 unwind label %356

487:                                              ; preds = %484
  %488 = icmp ne i32 %486, 0
  br i1 %488, label %489, label %526

489:                                              ; preds = %487
  %490 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 22
  %491 = load i32, ptr %490, align 4, !tbaa !392
  %492 = icmp ne i32 %491, 0
  br i1 %492, label %493, label %494

493:                                              ; preds = %489
  br label %496

494:                                              ; preds = %489
  call void @__assert_fail(ptr noundef @.str.138, ptr noundef @.str.85, i32 noundef 1851, ptr noundef @__PRETTY_FUNCTION__._ZN18HighsMipSolverData16evaluateRootNodeEv) #11
  unreachable

495:                                              ; No predecessors!
  br label %496

496:                                              ; preds = %495, %493
  call void @llvm.lifetime.start.p0(i64 144, ptr %33) #10
  call void @_ZN11HighsCutSetC2Ev(ptr noundef nonnull align 8 dereferenceable(144) %33) #10
  %497 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %497, i32 noundef 22)
          to label %498 unwind label %518

498:                                              ; preds = %496
  %499 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 1
  invoke void @_ZN12HighsCutPool26separateLpCutsAfterRestartER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(680) %499, ptr noundef nonnull align 8 dereferenceable(144) %33)
          to label %500 unwind label %518

500:                                              ; preds = %498
  %501 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %501, i32 noundef 22)
          to label %502 unwind label %518

502:                                              ; preds = %500
  %503 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation7addCutsER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(21425) %503, ptr noundef nonnull align 8 dereferenceable(144) %33)
          to label %504 unwind label %518

504:                                              ; preds = %502
  %505 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %505, i32 noundef 21)
          to label %506 unwind label %518

506:                                              ; preds = %504
  %507 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %508 unwind label %518

508:                                              ; preds = %506
  store i32 %507, ptr %23, align 4, !tbaa !408
  %509 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %509, i32 noundef 21)
          to label %510 unwind label %518

510:                                              ; preds = %508
  %511 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation18removeObsoleteRowsEb(ptr noundef nonnull align 8 dereferenceable(21425) %511, i1 noundef zeroext true)
          to label %512 unwind label %518

512:                                              ; preds = %510
  %513 = load i32, ptr %23, align 4, !tbaa !408
  %514 = icmp eq i32 %513, 2
  br i1 %514, label %515, label %522

515:                                              ; preds = %512
  %516 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %516)
          to label %517 unwind label %518

517:                                              ; preds = %515
  store i32 1, ptr %30, align 4
  br label %523

518:                                              ; preds = %515, %510, %508, %506, %504, %502, %500, %498, %496
  %519 = landingpad { ptr, i32 }
          cleanup
  %520 = extractvalue { ptr, i32 } %519, 0
  store ptr %520, ptr %8, align 8
  %521 = extractvalue { ptr, i32 } %519, 1
  store i32 %521, ptr %9, align 4
  call void @_ZN11HighsCutSetD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %33) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %33) #10
  br label %1887

522:                                              ; preds = %512
  store i32 0, ptr %30, align 4
  br label %523

523:                                              ; preds = %522, %517
  call void @_ZN11HighsCutSetD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %33) #10
  call void @llvm.lifetime.end.p0(i64 144, ptr %33) #10
  %524 = load i32, ptr %30, align 4
  switch i32 %524, label %1878 [
    i32 0, label %525
  ]

525:                                              ; preds = %523
  br label %526

526:                                              ; preds = %525, %487
  %527 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  store i32 10000, ptr %34, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %528 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 53
  %529 = load double, ptr %528, align 8, !tbaa !417
  %530 = fmul double 1.000000e+01, %529
  %531 = fptosi double %530 to i32
  store i32 %531, ptr %35, align 4, !tbaa !391
  %532 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %533 unwind label %558

533:                                              ; preds = %526
  %534 = load i32, ptr %532, align 4, !tbaa !391
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %527, i32 noundef %534)
          to label %535 unwind label %558

535:                                              ; preds = %533
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  %536 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 55
  store double 0xFFF0000000000000, ptr %536, align 8, !tbaa !418
  %537 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 54
  store double 0.000000e+00, ptr %537, align 8, !tbaa !419
  %538 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %538, i32 noundef 23)
          to label %539 unwind label %356

539:                                              ; preds = %535
  %540 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  %541 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 45
  invoke void @_ZN21HighsPrimalHeuristics18randomizedRoundingERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104) %540, ptr noundef nonnull align 8 dereferenceable(24) %541)
          to label %542 unwind label %356

542:                                              ; preds = %539
  %543 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %543, i32 noundef 23)
          to label %544 unwind label %356

544:                                              ; preds = %542
  %545 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %545)
          to label %546 unwind label %356

546:                                              ; preds = %544
  %547 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %547, i32 noundef 21)
          to label %548 unwind label %356

548:                                              ; preds = %546
  %549 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %550 unwind label %356

550:                                              ; preds = %548
  store i32 %549, ptr %23, align 4, !tbaa !408
  %551 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %551, i32 noundef 21)
          to label %552 unwind label %356

552:                                              ; preds = %550
  %553 = load i32, ptr %23, align 4, !tbaa !408
  %554 = icmp eq i32 %553, 2
  br i1 %554, label %555, label %562

555:                                              ; preds = %552
  %556 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %556)
          to label %557 unwind label %356

557:                                              ; preds = %555
  store i32 1, ptr %30, align 4
  br label %1878

558:                                              ; preds = %533, %526
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %8, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1887

562:                                              ; preds = %552
  %563 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 47
  %564 = load double, ptr %563, align 8, !tbaa !411
  %565 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  store double %564, ptr %565, align 8, !tbaa !412
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %566 unwind label %356

566:                                              ; preds = %562
  %567 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %568 = load ptr, ptr %567, align 8, !tbaa !11
  %569 = getelementptr inbounds %class.HighsMipSolver, ptr %568, i32 0, i32 1
  %570 = load ptr, ptr %569, align 8, !tbaa !397
  %571 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %570, i32 0, i32 108
  %572 = load i8, ptr %571, align 1, !tbaa !420, !range !389, !noundef !390
  %573 = trunc i8 %572 to i1
  br i1 %573, label %574, label %623

574:                                              ; preds = %566
  %575 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %576 = load ptr, ptr %575, align 8, !tbaa !11
  %577 = getelementptr inbounds %class.HighsMipSolver, ptr %576, i32 0, i32 1
  %578 = load ptr, ptr %577, align 8, !tbaa !397
  %579 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %578, i32 0, i32 1
  %580 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %579, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #10
  br i1 %580, label %581, label %623

581:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #10
  %582 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %583 unwind label %612

583:                                              ; preds = %581
  store double %582, ptr %36, align 8, !tbaa !400
  %584 = load double, ptr %36, align 8, !tbaa !400
  %585 = fcmp oge double %584, 1.000000e+01
  br i1 %585, label %586, label %619

586:                                              ; preds = %583
  invoke void @_ZN5highs8parallel9TaskGroup6cancelEv(ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %587 unwind label %612

587:                                              ; preds = %586
  %588 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %589 = load ptr, ptr %588, align 8, !tbaa !11
  %590 = getelementptr inbounds %class.HighsMipSolver, ptr %589, i32 0, i32 1
  %591 = load ptr, ptr %590, align 8, !tbaa !397
  %592 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %591, i32 0, i32 130
  %593 = load double, ptr %36, align 8, !tbaa !400
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %592, i32 noundef 1, ptr noundef @.str.139, double noundef %593)
          to label %594 unwind label %612

594:                                              ; preds = %587
  invoke void @_ZNK5highs8parallel9TaskGroup8taskWaitEv(ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %595 unwind label %612

595:                                              ; preds = %594
  %596 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %596, i32 noundef 24)
          to label %597 unwind label %612

597:                                              ; preds = %595
  invoke void @_ZN18HighsMipSolverData14performRestartEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %598 unwind label %612

598:                                              ; preds = %597
  %599 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %599, i32 noundef 24)
          to label %600 unwind label %612

600:                                              ; preds = %598
  %601 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 23
  %602 = load i32, ptr %601, align 8, !tbaa !421
  %603 = add nsw i32 %602, 1
  store i32 %603, ptr %601, align 8, !tbaa !421
  %604 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %605 = load ptr, ptr %604, align 8, !tbaa !11
  %606 = getelementptr inbounds %class.HighsMipSolver, ptr %605, i32 0, i32 4
  %607 = load i32, ptr %606, align 8, !tbaa !422
  %608 = icmp eq i32 %607, 0
  br i1 %608, label %609, label %616

609:                                              ; preds = %600
  %610 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %610)
          to label %611 unwind label %612

611:                                              ; preds = %609
  store i32 2, ptr %30, align 4
  br label %620

612:                                              ; preds = %616, %609, %598, %597, %595, %594, %587, %586, %581
  %613 = landingpad { ptr, i32 }
          cleanup
  %614 = extractvalue { ptr, i32 } %613, 0
  store ptr %614, ptr %8, align 8
  %615 = extractvalue { ptr, i32 } %613, 1
  store i32 %615, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  br label %1887

616:                                              ; preds = %600
  %617 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %617)
          to label %618 unwind label %612

618:                                              ; preds = %616
  store i32 1, ptr %30, align 4
  br label %620

619:                                              ; preds = %583
  store i32 0, ptr %30, align 4
  br label %620

620:                                              ; preds = %619, %618, %611
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #10
  %621 = load i32, ptr %30, align 4
  switch i32 %621, label %1878 [
    i32 0, label %622
  ]

622:                                              ; preds = %620
  br label %623

623:                                              ; preds = %622, %574, %566
  %624 = load ptr, ptr %10, align 8, !tbaa !5
  %625 = getelementptr inbounds %class.HighsMipAnalysis, ptr %624, i32 0, i32 3
  %626 = load i8, ptr %625, align 8, !tbaa !396, !range !389, !noundef !390
  %627 = trunc i8 %626 to i1
  br i1 %627, label %628, label %644

628:                                              ; preds = %623
  %629 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %630 = load ptr, ptr %629, align 8, !tbaa !11
  %631 = getelementptr inbounds %class.HighsMipSolver, ptr %630, i32 0, i32 1
  %632 = load ptr, ptr %631, align 8, !tbaa !397
  %633 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %632, i32 0, i32 130
  %634 = load ptr, ptr %10, align 8, !tbaa !5
  %635 = getelementptr inbounds %class.HighsMipAnalysis, ptr %634, i32 0, i32 2
  %636 = getelementptr inbounds %struct.HighsTimerClock, ptr %635, i32 0, i32 0
  %637 = load ptr, ptr %636, align 8, !tbaa !423
  %638 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %637, i32 noundef 0)
          to label %639 unwind label %356

639:                                              ; preds = %628
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %633, i32 noundef 1, ptr noundef @.str.140, double noundef %638)
          to label %640 unwind label %356

640:                                              ; preds = %639
  %641 = load ptr, ptr @stdout, align 8, !tbaa !5
  %642 = invoke i32 @fflush(ptr noundef %641)
          to label %643 unwind label %356

643:                                              ; preds = %640
  br label %644

644:                                              ; preds = %643, %623
  %645 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %645, i32 noundef 25)
          to label %646 unwind label %356

646:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 24, ptr %37) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %38) #10
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #10
  %647 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %648 = load ptr, ptr %647, align 8, !tbaa !11
  %649 = invoke noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %648)
          to label %650 unwind label %688

650:                                              ; preds = %646
  %651 = sext i32 %649 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %651)
          to label %652 unwind label %688

652:                                              ; preds = %650
  %653 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %654 = load ptr, ptr %653, align 8, !tbaa !11
  %655 = invoke noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %654)
          to label %656 unwind label %688

656:                                              ; preds = %652
  %657 = sext i32 %655 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %657)
          to label %658 unwind label %688

658:                                              ; preds = %656
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  store i32 0, ptr %39, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #10
  store double 0.000000e+00, ptr %40, align 8, !tbaa !400
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  store i32 0, ptr %41, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 184, ptr %42) #10
  %659 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %660 = load ptr, ptr %659, align 8, !tbaa !11
  invoke void @_ZN15HighsSeparationC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 8 dereferenceable(496) %660)
          to label %661 unwind label %692

661:                                              ; preds = %658
  %662 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN15HighsSeparation15setLpRelaxationEP17HighsLpRelaxation(ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef %662)
          to label %663 unwind label %696

663:                                              ; preds = %661
  br label %664

664:                                              ; preds = %1084, %663
  %665 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %666 = load i32, ptr %23, align 4, !tbaa !408
  %667 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %666)
          to label %668 unwind label %696

668:                                              ; preds = %664
  br i1 %667, label %669, label %677

669:                                              ; preds = %668
  %670 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %671 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %670)
          to label %672 unwind label %696

672:                                              ; preds = %669
  %673 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIidESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #10
  br i1 %673, label %677, label %674

674:                                              ; preds = %672
  %675 = load i32, ptr %39, align 4, !tbaa !391
  %676 = icmp slt i32 %675, 3
  br label %677

677:                                              ; preds = %674, %672, %668
  %678 = phi i1 [ false, %672 ], [ false, %668 ], [ %676, %674 ]
  br i1 %678, label %679, label %1092

679:                                              ; preds = %677
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %680 unwind label %696

680:                                              ; preds = %679
  %681 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %682 unwind label %696

682:                                              ; preds = %680
  br i1 %681, label %683, label %700

683:                                              ; preds = %682
  %684 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %684, i32 noundef 25)
          to label %685 unwind label %696

685:                                              ; preds = %683
  %686 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %686)
          to label %687 unwind label %696

687:                                              ; preds = %685
  store i32 1, ptr %30, align 4
  br label %1877

688:                                              ; preds = %656, %652, %650, %646
  %689 = landingpad { ptr, i32 }
          cleanup
  %690 = extractvalue { ptr, i32 } %689, 0
  store ptr %690, ptr %8, align 8
  %691 = extractvalue { ptr, i32 } %689, 1
  store i32 %691, ptr %9, align 4
  br label %1886

692:                                              ; preds = %658
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %8, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %9, align 4
  br label %1885

696:                                              ; preds = %1600, %1588, %1586, %1349, %1346, %1344, %1342, %1340, %1338, %1334, %1323, %1321, %1318, %1315, %1311, %1304, %1277, %1248, %1181, %1178, %1176, %1174, %1172, %1170, %1168, %1167, %1165, %1158, %1155, %1138, %1134, %1132, %1129, %1126, %1121, %1119, %1117, %1115, %1111, %1110, %1099, %1092, %705, %685, %683, %680, %679, %669, %664, %661
  %697 = landingpad { ptr, i32 }
          cleanup
  %698 = extractvalue { ptr, i32 } %697, 0
  store ptr %698, ptr %8, align 8
  %699 = extractvalue { ptr, i32 } %697, 1
  store i32 %699, ptr %9, align 4
  br label %1884

700:                                              ; preds = %682
  %701 = load i32, ptr %41, align 4, !tbaa !391
  %702 = load i32, ptr %4, align 4, !tbaa !391
  %703 = icmp eq i32 %701, %702
  br i1 %703, label %704, label %705

704:                                              ; preds = %700
  br label %1092

705:                                              ; preds = %700
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %706 unwind label %696

706:                                              ; preds = %705
  %707 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %708 = load ptr, ptr %707, align 8, !tbaa !11
  %709 = getelementptr inbounds %class.HighsMipSolver, ptr %708, i32 0, i32 18
  %710 = load i8, ptr %709, align 8, !tbaa !379, !range !389, !noundef !390
  %711 = trunc i8 %710 to i1
  br i1 %711, label %733, label %712

712:                                              ; preds = %706
  %713 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %714 = load ptr, ptr %713, align 8, !tbaa !11
  %715 = getelementptr inbounds %class.HighsMipSolver, ptr %714, i32 0, i32 1
  %716 = load ptr, ptr %715, align 8, !tbaa !397
  %717 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %716, i32 0, i32 1
  %718 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %717, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #10
  br i1 %718, label %719, label %733

719:                                              ; preds = %712
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #10
  %720 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %721 unwind label %725

721:                                              ; preds = %719
  store double %720, ptr %43, align 8, !tbaa !400
  %722 = load double, ptr %43, align 8, !tbaa !400
  %723 = fcmp oge double %722, 1.000000e+01
  br i1 %723, label %724, label %729

724:                                              ; preds = %721
  store i32 -1, ptr %39, align 4, !tbaa !391
  store i32 4, ptr %30, align 4
  br label %730

725:                                              ; preds = %719
  %726 = landingpad { ptr, i32 }
          cleanup
  %727 = extractvalue { ptr, i32 } %726, 0
  store ptr %727, ptr %8, align 8
  %728 = extractvalue { ptr, i32 } %726, 1
  store i32 %728, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  br label %1884

729:                                              ; preds = %721
  store i32 0, ptr %30, align 4
  br label %730

730:                                              ; preds = %729, %724
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #10
  %731 = load i32, ptr %30, align 4
  switch i32 %731, label %1897 [
    i32 0, label %732
    i32 4, label %1092
  ]

732:                                              ; preds = %730
  br label %733

733:                                              ; preds = %732, %712, %706
  %734 = load i32, ptr %41, align 4, !tbaa !391
  %735 = add nsw i32 %734, 1
  store i32 %735, ptr %41, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %736 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %736, i32 noundef 53)
          to label %737 unwind label %750

737:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #10
  %738 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 4 dereferenceable(4) %44, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %739 unwind label %754

739:                                              ; preds = %737
  %740 = zext i1 %738 to i8
  store i8 %740, ptr %45, align 1, !tbaa !9
  %741 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %741, i32 noundef 53)
          to label %742 unwind label %754

742:                                              ; preds = %739
  %743 = load i8, ptr %45, align 1, !tbaa !9, !range !389, !noundef !390
  %744 = trunc i8 %743 to i1
  br i1 %744, label %745, label %758

745:                                              ; preds = %742
  %746 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %746, i32 noundef 25)
          to label %747 unwind label %754

747:                                              ; preds = %745
  %748 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %748)
          to label %749 unwind label %754

749:                                              ; preds = %747
  store i32 1, ptr %30, align 4
  br label %1082

750:                                              ; preds = %733
  %751 = landingpad { ptr, i32 }
          cleanup
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %8, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %9, align 4
  br label %1091

754:                                              ; preds = %811, %809, %804, %802, %800, %797, %795, %792, %790, %788, %786, %784, %782, %781, %779, %776, %774, %771, %747, %745, %739, %737
  %755 = landingpad { ptr, i32 }
          cleanup
  %756 = extractvalue { ptr, i32 } %755, 0
  store ptr %756, ptr %8, align 8
  %757 = extractvalue { ptr, i32 } %755, 1
  store i32 %757, ptr %9, align 4
  br label %1090

758:                                              ; preds = %742
  %759 = load i32, ptr %41, align 4, !tbaa !391
  %760 = icmp sge i32 %759, 5
  br i1 %760, label %761, label %815

761:                                              ; preds = %758
  %762 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %763 = load ptr, ptr %762, align 8, !tbaa !11
  %764 = getelementptr inbounds %class.HighsMipSolver, ptr %763, i32 0, i32 18
  %765 = load i8, ptr %764, align 8, !tbaa !379, !range !389, !noundef !390
  %766 = trunc i8 %765 to i1
  br i1 %766, label %815, label %767

767:                                              ; preds = %761
  %768 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 17
  %769 = load i8, ptr %768, align 2, !tbaa !395, !range !389, !noundef !390
  %770 = trunc i8 %769 to i1
  br i1 %770, label %815, label %771

771:                                              ; preds = %767
  %772 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %773 unwind label %754

773:                                              ; preds = %771
  br i1 %772, label %774, label %779

774:                                              ; preds = %773
  %775 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %775, i32 noundef 25)
          to label %776 unwind label %754

776:                                              ; preds = %774
  %777 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %777)
          to label %778 unwind label %754

778:                                              ; preds = %776
  store i32 1, ptr %30, align 4
  br label %1082

779:                                              ; preds = %773
  %780 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %780, i32 noundef 54)
          to label %781 unwind label %754

781:                                              ; preds = %779
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %782 unwind label %754

782:                                              ; preds = %781
  %783 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %783, i32 noundef 54)
          to label %784 unwind label %754

784:                                              ; preds = %782
  %785 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %785, i32 noundef 55)
          to label %786 unwind label %754

786:                                              ; preds = %784
  %787 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104) %787)
          to label %788 unwind label %754

788:                                              ; preds = %786
  %789 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %789, i32 noundef 55)
          to label %790 unwind label %754

790:                                              ; preds = %788
  %791 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %791)
          to label %792 unwind label %754

792:                                              ; preds = %790
  %793 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %794 unwind label %754

794:                                              ; preds = %792
  br i1 %793, label %795, label %800

795:                                              ; preds = %794
  %796 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %796, i32 noundef 25)
          to label %797 unwind label %754

797:                                              ; preds = %795
  %798 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %798)
          to label %799 unwind label %754

799:                                              ; preds = %797
  store i32 1, ptr %30, align 4
  br label %1082

800:                                              ; preds = %794
  %801 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %801, i32 noundef 56)
          to label %802 unwind label %754

802:                                              ; preds = %800
  %803 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %804 unwind label %754

804:                                              ; preds = %802
  store i32 %803, ptr %23, align 4, !tbaa !408
  %805 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %805, i32 noundef 56)
          to label %806 unwind label %754

806:                                              ; preds = %804
  %807 = load i32, ptr %23, align 4, !tbaa !408
  %808 = icmp eq i32 %807, 2
  br i1 %808, label %809, label %814

809:                                              ; preds = %806
  %810 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %810, i32 noundef 25)
          to label %811 unwind label %754

811:                                              ; preds = %809
  %812 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %812)
          to label %813 unwind label %754

813:                                              ; preds = %811
  store i32 1, ptr %30, align 4
  br label %1082

814:                                              ; preds = %806
  br label %815

815:                                              ; preds = %814, %767, %761, %758
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #10
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %46, double noundef 0.000000e+00)
          to label %816 unwind label %829

816:                                              ; preds = %815
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #10
  %817 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %818 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %817)
          to label %819 unwind label %833

819:                                              ; preds = %816
  %820 = getelementptr inbounds %struct.HighsSolution, ptr %818, i32 0, i32 2
  store ptr %820, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  store i32 0, ptr %48, align 4, !tbaa !391
  br label %821

821:                                              ; preds = %867, %819
  %822 = load i32, ptr %48, align 4, !tbaa !391
  %823 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %824 = load ptr, ptr %823, align 8, !tbaa !11
  %825 = invoke noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %824)
          to label %826 unwind label %837

826:                                              ; preds = %821
  %827 = icmp ne i32 %822, %825
  br i1 %827, label %841, label %828

828:                                              ; preds = %826
  store i32 5, ptr %30, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %870

829:                                              ; preds = %815
  %830 = landingpad { ptr, i32 }
          cleanup
  %831 = extractvalue { ptr, i32 } %830, 0
  store ptr %831, ptr %8, align 8
  %832 = extractvalue { ptr, i32 } %830, 1
  store i32 %832, ptr %9, align 4
  br label %1089

833:                                              ; preds = %816
  %834 = landingpad { ptr, i32 }
          cleanup
  %835 = extractvalue { ptr, i32 } %834, 0
  store ptr %835, ptr %8, align 8
  %836 = extractvalue { ptr, i32 } %834, 1
  store i32 %836, ptr %9, align 4
  br label %1088

837:                                              ; preds = %841, %821
  %838 = landingpad { ptr, i32 }
          cleanup
  %839 = extractvalue { ptr, i32 } %838, 0
  store ptr %839, ptr %8, align 8
  %840 = extractvalue { ptr, i32 } %838, 1
  store i32 %840, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %1088

841:                                              ; preds = %826
  %842 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 45
  %843 = load i32, ptr %48, align 4, !tbaa !391
  %844 = sext i32 %843 to i64
  %845 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %842, i64 noundef %844) #10
  %846 = load double, ptr %845, align 8, !tbaa !400
  %847 = load ptr, ptr %47, align 8, !tbaa !5
  %848 = load i32, ptr %48, align 4, !tbaa !391
  %849 = sext i32 %848 to i64
  %850 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %847, i64 noundef %849) #10
  %851 = load double, ptr %850, align 8, !tbaa !400
  %852 = fsub double %846, %851
  %853 = load i32, ptr %48, align 4, !tbaa !391
  %854 = sext i32 %853 to i64
  %855 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %854) #10
  store double %852, ptr %855, align 8, !tbaa !400
  %856 = load i32, ptr %48, align 4, !tbaa !391
  %857 = sext i32 %856 to i64
  %858 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %857) #10
  %859 = load double, ptr %858, align 8, !tbaa !400
  %860 = load i32, ptr %48, align 4, !tbaa !391
  %861 = sext i32 %860 to i64
  %862 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %861) #10
  %863 = load double, ptr %862, align 8, !tbaa !400
  %864 = fmul double %859, %863
  %865 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %46, double noundef %864)
          to label %866 unwind label %837

866:                                              ; preds = %841
  br label %867

867:                                              ; preds = %866
  %868 = load i32, ptr %48, align 4, !tbaa !391
  %869 = add nsw i32 %868, 1
  store i32 %869, ptr %48, align 4, !tbaa !391
  br label %821, !llvm.loop !424

870:                                              ; preds = %828
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #10
  %871 = invoke { double, double } @_Z4sqrtRK12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %872 unwind label %895

872:                                              ; preds = %870
  %873 = getelementptr inbounds { double, double }, ptr %51, i32 0, i32 0
  %874 = extractvalue { double, double } %871, 0
  store double %874, ptr %873, align 8
  %875 = getelementptr inbounds { double, double }, ptr %51, i32 0, i32 1
  %876 = extractvalue { double, double } %871, 1
  store double %876, ptr %875, align 8
  %877 = invoke { double, double } @_ZdvdRK12HighsCDouble(double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(16) %51)
          to label %878 unwind label %895

878:                                              ; preds = %872
  %879 = getelementptr inbounds { double, double }, ptr %50, i32 0, i32 0
  %880 = extractvalue { double, double } %877, 0
  store double %880, ptr %879, align 8
  %881 = getelementptr inbounds { double, double }, ptr %50, i32 0, i32 1
  %882 = extractvalue { double, double } %877, 1
  store double %882, ptr %881, align 8
  %883 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %50)
          to label %884 unwind label %895

884:                                              ; preds = %878
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #10
  store double %883, ptr %49, align 8, !tbaa !400
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #10
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %52, double noundef 0.000000e+00)
          to label %885 unwind label %899

885:                                              ; preds = %884
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %46, ptr align 8 %52, i64 16, i1 false), !tbaa.struct !426
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #10
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %53, double noundef 0.000000e+00)
          to label %886 unwind label %903

886:                                              ; preds = %885
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  store i32 0, ptr %54, align 4, !tbaa !391
  br label %887

887:                                              ; preds = %951, %886
  %888 = load i32, ptr %54, align 4, !tbaa !391
  %889 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %890 = load ptr, ptr %889, align 8, !tbaa !11
  %891 = invoke noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %890)
          to label %892 unwind label %907

892:                                              ; preds = %887
  %893 = icmp ne i32 %888, %891
  br i1 %893, label %911, label %894

894:                                              ; preds = %892
  store i32 8, ptr %30, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %954

895:                                              ; preds = %878, %872, %870
  %896 = landingpad { ptr, i32 }
          cleanup
  %897 = extractvalue { ptr, i32 } %896, 0
  store ptr %897, ptr %8, align 8
  %898 = extractvalue { ptr, i32 } %896, 1
  store i32 %898, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #10
  br label %1087

899:                                              ; preds = %884
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %8, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #10
  br label %1087

903:                                              ; preds = %885
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %8, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %9, align 4
  br label %1086

907:                                              ; preds = %939, %911, %887
  %908 = landingpad { ptr, i32 }
          cleanup
  %909 = extractvalue { ptr, i32 } %908, 0
  store ptr %909, ptr %8, align 8
  %910 = extractvalue { ptr, i32 } %908, 1
  store i32 %910, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %1086

911:                                              ; preds = %892
  %912 = load double, ptr %49, align 8, !tbaa !400
  %913 = load i32, ptr %54, align 4, !tbaa !391
  %914 = sext i32 %913 to i64
  %915 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %914) #10
  %916 = load double, ptr %915, align 8, !tbaa !400
  %917 = load i32, ptr %54, align 4, !tbaa !391
  %918 = sext i32 %917 to i64
  %919 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %918) #10
  %920 = load double, ptr %919, align 8, !tbaa !400
  %921 = fneg double %920
  %922 = call double @llvm.fmuladd.f64(double %912, double %916, double %921)
  %923 = load i32, ptr %41, align 4, !tbaa !391
  %924 = sitofp i32 %923 to double
  %925 = fdiv double %922, %924
  %926 = load i32, ptr %54, align 4, !tbaa !391
  %927 = sext i32 %926 to i64
  %928 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %927) #10
  store double %925, ptr %928, align 8, !tbaa !400
  %929 = load i32, ptr %54, align 4, !tbaa !391
  %930 = sext i32 %929 to i64
  %931 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %930) #10
  %932 = load double, ptr %931, align 8, !tbaa !400
  %933 = load i32, ptr %54, align 4, !tbaa !391
  %934 = sext i32 %933 to i64
  %935 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %934) #10
  %936 = load double, ptr %935, align 8, !tbaa !400
  %937 = fmul double %932, %936
  %938 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %46, double noundef %937)
          to label %939 unwind label %907

939:                                              ; preds = %911
  %940 = load i32, ptr %54, align 4, !tbaa !391
  %941 = sext i32 %940 to i64
  %942 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %37, i64 noundef %941) #10
  %943 = load double, ptr %942, align 8, !tbaa !400
  %944 = load i32, ptr %54, align 4, !tbaa !391
  %945 = sext i32 %944 to i64
  %946 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %38, i64 noundef %945) #10
  %947 = load double, ptr %946, align 8, !tbaa !400
  %948 = fmul double %943, %947
  %949 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %53, double noundef %948)
          to label %950 unwind label %907

950:                                              ; preds = %939
  br label %951

951:                                              ; preds = %950
  %952 = load i32, ptr %54, align 4, !tbaa !391
  %953 = add nsw i32 %952, 1
  store i32 %953, ptr %54, align 4, !tbaa !391
  br label %887, !llvm.loop !427

954:                                              ; preds = %894
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #10
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #10
  %955 = invoke { double, double } @_Z4sqrtRK12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(16) %46)
          to label %956 unwind label %973

956:                                              ; preds = %954
  %957 = getelementptr inbounds { double, double }, ptr %57, i32 0, i32 0
  %958 = extractvalue { double, double } %955, 0
  store double %958, ptr %957, align 8
  %959 = getelementptr inbounds { double, double }, ptr %57, i32 0, i32 1
  %960 = extractvalue { double, double } %955, 1
  store double %960, ptr %959, align 8
  %961 = invoke { double, double } @_ZNK12HighsCDoubledvERKS_(ptr noundef nonnull align 8 dereferenceable(16) %53, ptr noundef nonnull align 8 dereferenceable(16) %57)
          to label %962 unwind label %973

962:                                              ; preds = %956
  %963 = getelementptr inbounds { double, double }, ptr %56, i32 0, i32 0
  %964 = extractvalue { double, double } %961, 0
  store double %964, ptr %963, align 8
  %965 = getelementptr inbounds { double, double }, ptr %56, i32 0, i32 1
  %966 = extractvalue { double, double } %961, 1
  store double %966, ptr %965, align 8
  %967 = invoke noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %56)
          to label %968 unwind label %973

968:                                              ; preds = %962
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #10
  store double %967, ptr %55, align 8, !tbaa !400
  %969 = load i32, ptr %41, align 4, !tbaa !391
  %970 = icmp eq i32 %969, 1
  br i1 %970, label %971, label %977

971:                                              ; preds = %968
  %972 = load double, ptr %55, align 8, !tbaa !400
  store double %972, ptr %40, align 8, !tbaa !400
  br label %1013

973:                                              ; preds = %962, %956, %954
  %974 = landingpad { ptr, i32 }
          cleanup
  %975 = extractvalue { ptr, i32 } %974, 0
  store ptr %975, ptr %8, align 8
  %976 = extractvalue { ptr, i32 } %974, 1
  store i32 %976, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #10
  br label %1085

977:                                              ; preds = %968
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #10
  store double 0x3FD5555555555555, ptr %58, align 8, !tbaa !400
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #10
  %978 = load double, ptr %58, align 8, !tbaa !400
  %979 = fsub double 1.000000e+00, %978
  %980 = load double, ptr %40, align 8, !tbaa !400
  %981 = load double, ptr %58, align 8, !tbaa !400
  %982 = load double, ptr %55, align 8, !tbaa !400
  %983 = fmul double %981, %982
  %984 = call double @llvm.fmuladd.f64(double %979, double %980, double %983)
  store double %984, ptr %59, align 8, !tbaa !400
  %985 = load double, ptr %59, align 8, !tbaa !400
  %986 = load double, ptr %40, align 8, !tbaa !400
  %987 = fmul double %986, 1.010000e+00
  %988 = fcmp olt double %985, %987
  br i1 %988, label %989, label %1010

989:                                              ; preds = %977
  %990 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %991 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %990)
          to label %992 unwind label %1006

992:                                              ; preds = %989
  %993 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 47
  %994 = load double, ptr %993, align 8, !tbaa !411
  %995 = fsub double %991, %994
  %996 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  %997 = load double, ptr %996, align 8, !tbaa !412
  %998 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 47
  %999 = load double, ptr %998, align 8, !tbaa !411
  %1000 = fsub double %997, %999
  %1001 = fmul double %1000, 1.001000e+00
  %1002 = fcmp ole double %995, %1001
  br i1 %1002, label %1003, label %1010

1003:                                             ; preds = %992
  %1004 = load i32, ptr %39, align 4, !tbaa !391
  %1005 = add nsw i32 %1004, 1
  store i32 %1005, ptr %39, align 4, !tbaa !391
  br label %1011

1006:                                             ; preds = %989
  %1007 = landingpad { ptr, i32 }
          cleanup
  %1008 = extractvalue { ptr, i32 } %1007, 0
  store ptr %1008, ptr %8, align 8
  %1009 = extractvalue { ptr, i32 } %1007, 1
  store i32 %1009, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  br label %1085

1010:                                             ; preds = %992, %977
  store i32 0, ptr %39, align 4, !tbaa !391
  br label %1011

1011:                                             ; preds = %1010, %1003
  %1012 = load double, ptr %59, align 8, !tbaa !400
  store double %1012, ptr %40, align 8, !tbaa !400
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #10
  br label %1013

1013:                                             ; preds = %1011, %971
  %1014 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1015 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %1014)
          to label %1016 unwind label %1030

1016:                                             ; preds = %1013
  %1017 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  store double %1015, ptr %1017, align 8, !tbaa !412
  %1018 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #10
  store i32 10000, ptr %60, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %1019 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 53
  %1020 = load double, ptr %1019, align 8, !tbaa !417
  %1021 = fmul double 1.000000e+01, %1020
  %1022 = fptosi double %1021 to i32
  store i32 %1022, ptr %61, align 4, !tbaa !391
  %1023 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 4 dereferenceable(4) %61)
          to label %1024 unwind label %1034

1024:                                             ; preds = %1016
  %1025 = load i32, ptr %1023, align 4, !tbaa !391
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %1018, i32 noundef %1025)
          to label %1026 unwind label %1034

1026:                                             ; preds = %1024
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  %1027 = load i32, ptr %44, align 4, !tbaa !391
  %1028 = icmp eq i32 %1027, 0
  br i1 %1028, label %1029, label %1038

1029:                                             ; preds = %1026
  store i32 4, ptr %30, align 4
  br label %1081

1030:                                             ; preds = %1066, %1013
  %1031 = landingpad { ptr, i32 }
          cleanup
  %1032 = extractvalue { ptr, i32 } %1031, 0
  store ptr %1032, ptr %8, align 8
  %1033 = extractvalue { ptr, i32 } %1031, 1
  store i32 %1033, ptr %9, align 4
  br label %1085

1034:                                             ; preds = %1024, %1016
  %1035 = landingpad { ptr, i32 }
          cleanup
  %1036 = extractvalue { ptr, i32 } %1035, 0
  store ptr %1036, ptr %8, align 8
  %1037 = extractvalue { ptr, i32 } %1035, 1
  store i32 %1037, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #10
  br label %1085

1038:                                             ; preds = %1026
  %1039 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1040 = load ptr, ptr %1039, align 8, !tbaa !11
  %1041 = getelementptr inbounds %class.HighsMipSolver, ptr %1040, i32 0, i32 18
  %1042 = load i8, ptr %1041, align 8, !tbaa !379, !range !389, !noundef !390
  %1043 = trunc i8 %1042 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #10
  br i1 %1043, label %1064, label %1044

1044:                                             ; preds = %1038
  %1045 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1046 = load ptr, ptr %1045, align 8, !tbaa !11
  %1047 = getelementptr inbounds %class.HighsMipSolver, ptr %1046, i32 0, i32 0
  %1048 = load ptr, ptr %1047, align 8, !tbaa !402
  %1049 = getelementptr inbounds %struct.HighsCallback, ptr %1048, i32 0, i32 0
  %1050 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1049) #10
  br i1 %1050, label %1051, label %1064

1051:                                             ; preds = %1044
  %1052 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1053 = load ptr, ptr %1052, align 8, !tbaa !11
  %1054 = getelementptr inbounds %class.HighsMipSolver, ptr %1053, i32 0, i32 0
  %1055 = load ptr, ptr %1054, align 8, !tbaa !402
  %1056 = getelementptr inbounds %struct.HighsCallback, ptr %1055, i32 0, i32 3
  %1057 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %1056, i64 noundef 9)
          to label %1058 unwind label %1076

1058:                                             ; preds = %1051
  %1059 = getelementptr inbounds { ptr, i64 }, ptr %62, i32 0, i32 0
  %1060 = extractvalue { ptr, i64 } %1057, 0
  store ptr %1060, ptr %1059, align 8
  %1061 = getelementptr inbounds { ptr, i64 }, ptr %62, i32 0, i32 1
  %1062 = extractvalue { ptr, i64 } %1057, 1
  store i64 %1062, ptr %1061, align 8
  %1063 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %62) #10
  br label %1064

1064:                                             ; preds = %1058, %1044, %1038
  %1065 = phi i1 [ false, %1044 ], [ false, %1038 ], [ %1063, %1058 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #10
  br i1 %1065, label %1066, label %1080

1066:                                             ; preds = %1064
  %1067 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1068 = load ptr, ptr %1067, align 8, !tbaa !11
  %1069 = getelementptr inbounds %class.HighsMipSolver, ptr %1068, i32 0, i32 25
  %1070 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1069) #10
  %1071 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1072 = load ptr, ptr %1071, align 8, !tbaa !11
  %1073 = getelementptr inbounds %class.HighsMipSolver, ptr %1072, i32 0, i32 6
  %1074 = load double, ptr %1073, align 8, !tbaa !403
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %1070, double noundef %1074, i32 noundef 3)
          to label %1075 unwind label %1030

1075:                                             ; preds = %1066
  br label %1080

1076:                                             ; preds = %1051
  %1077 = landingpad { ptr, i32 }
          cleanup
  %1078 = extractvalue { ptr, i32 } %1077, 0
  store ptr %1078, ptr %8, align 8
  %1079 = extractvalue { ptr, i32 } %1077, 1
  store i32 %1079, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #10
  br label %1085

1080:                                             ; preds = %1075, %1064
  store i32 0, ptr %30, align 4
  br label %1081

1081:                                             ; preds = %1080, %1029
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #10
  br label %1082

1082:                                             ; preds = %1081, %813, %799, %778, %749
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  %1083 = load i32, ptr %30, align 4
  switch i32 %1083, label %1877 [
    i32 0, label %1084
    i32 4, label %1092
  ]

1084:                                             ; preds = %1082
  br label %664, !llvm.loop !428

1085:                                             ; preds = %1076, %1034, %1030, %1006, %973
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #10
  br label %1086

1086:                                             ; preds = %1085, %907, %903
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #10
  br label %1087

1087:                                             ; preds = %1086, %899, %895
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #10
  br label %1088

1088:                                             ; preds = %1087, %837, %833
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #10
  br label %1089

1089:                                             ; preds = %1088, %829
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #10
  br label %1090

1090:                                             ; preds = %1089, %754
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #10
  br label %1091

1091:                                             ; preds = %1090, %750
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %1884

1092:                                             ; preds = %1082, %730, %704, %677
  %1093 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1093, i32 noundef 25)
          to label %1094 unwind label %696

1094:                                             ; preds = %1092
  %1095 = load ptr, ptr %10, align 8, !tbaa !5
  %1096 = getelementptr inbounds %class.HighsMipAnalysis, ptr %1095, i32 0, i32 3
  %1097 = load i8, ptr %1096, align 8, !tbaa !396, !range !389, !noundef !390
  %1098 = trunc i8 %1097 to i1
  br i1 %1098, label %1099, label %1115

1099:                                             ; preds = %1094
  %1100 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1101 = load ptr, ptr %1100, align 8, !tbaa !11
  %1102 = getelementptr inbounds %class.HighsMipSolver, ptr %1101, i32 0, i32 1
  %1103 = load ptr, ptr %1102, align 8, !tbaa !397
  %1104 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1103, i32 0, i32 130
  %1105 = load ptr, ptr %10, align 8, !tbaa !5
  %1106 = getelementptr inbounds %class.HighsMipAnalysis, ptr %1105, i32 0, i32 2
  %1107 = getelementptr inbounds %struct.HighsTimerClock, ptr %1106, i32 0, i32 0
  %1108 = load ptr, ptr %1107, align 8, !tbaa !423
  %1109 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %1108, i32 noundef 0)
          to label %1110 unwind label %696

1110:                                             ; preds = %1099
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1104, i32 noundef 1, ptr noundef @.str.141, double noundef %1109)
          to label %1111 unwind label %696

1111:                                             ; preds = %1110
  %1112 = load ptr, ptr @stdout, align 8, !tbaa !5
  %1113 = invoke i32 @fflush(ptr noundef %1112)
          to label %1114 unwind label %696

1114:                                             ; preds = %1111
  br label %1115

1115:                                             ; preds = %1114, %1094
  %1116 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %1116, i32 noundef 2147483647)
          to label %1117 unwind label %696

1117:                                             ; preds = %1115
  %1118 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1118, i32 noundef 21)
          to label %1119 unwind label %696

1119:                                             ; preds = %1117
  %1120 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1121 unwind label %696

1121:                                             ; preds = %1119
  store i32 %1120, ptr %23, align 4, !tbaa !408
  %1122 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1122, i32 noundef 21)
          to label %1123 unwind label %696

1123:                                             ; preds = %1121
  %1124 = load i32, ptr %23, align 4, !tbaa !408
  %1125 = icmp eq i32 %1124, 2
  br i1 %1125, label %1126, label %1129

1126:                                             ; preds = %1123
  %1127 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1127)
          to label %1128 unwind label %696

1128:                                             ; preds = %1126
  store i32 1, ptr %30, align 4
  br label %1877

1129:                                             ; preds = %1123
  %1130 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1131 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %1130)
          to label %1132 unwind label %696

1132:                                             ; preds = %1129
  %1133 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %1131)
          to label %1134 unwind label %696

1134:                                             ; preds = %1132
  %1135 = getelementptr inbounds %struct.HighsSolution, ptr %1133, i32 0, i32 2
  %1136 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 46
  %1137 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIdSaIdEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %1136, ptr noundef nonnull align 8 dereferenceable(24) %1135)
          to label %1138 unwind label %696

1138:                                             ; preds = %1134
  %1139 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1140 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %1139)
          to label %1141 unwind label %696

1141:                                             ; preds = %1138
  %1142 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  store double %1140, ptr %1142, align 8, !tbaa !412
  %1143 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  store i32 10000, ptr %63, align 4, !tbaa !391
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %1144 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 53
  %1145 = load double, ptr %1144, align 8, !tbaa !417
  %1146 = fmul double 1.000000e+01, %1145
  %1147 = fptosi double %1146 to i32
  store i32 %1147, ptr %64, align 4, !tbaa !391
  %1148 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %63, ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %1149 unwind label %1161

1149:                                             ; preds = %1141
  %1150 = load i32, ptr %1148, align 4, !tbaa !391
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %1143, i32 noundef %1150)
          to label %1151 unwind label %1161

1151:                                             ; preds = %1149
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  %1152 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 17
  %1153 = load i8, ptr %1152, align 2, !tbaa !395, !range !389, !noundef !390
  %1154 = trunc i8 %1153 to i1
  br i1 %1154, label %1248, label %1155

1155:                                             ; preds = %1151
  %1156 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1157 unwind label %696

1157:                                             ; preds = %1155
  br i1 %1156, label %1158, label %1165

1158:                                             ; preds = %1157
  %1159 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1159)
          to label %1160 unwind label %696

1160:                                             ; preds = %1158
  store i32 1, ptr %30, align 4
  br label %1877

1161:                                             ; preds = %1149, %1141
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %8, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %1884

1165:                                             ; preds = %1157
  %1166 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1166, i32 noundef 26)
          to label %1167 unwind label %696

1167:                                             ; preds = %1165
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %1168 unwind label %696

1168:                                             ; preds = %1167
  %1169 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1169, i32 noundef 26)
          to label %1170 unwind label %696

1170:                                             ; preds = %1168
  %1171 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1171, i32 noundef 27)
          to label %1172 unwind label %696

1172:                                             ; preds = %1170
  %1173 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104) %1173)
          to label %1174 unwind label %696

1174:                                             ; preds = %1172
  %1175 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1175, i32 noundef 27)
          to label %1176 unwind label %696

1176:                                             ; preds = %1174
  %1177 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %1177)
          to label %1178 unwind label %696

1178:                                             ; preds = %1176
  %1179 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1180 unwind label %696

1180:                                             ; preds = %1178
  br i1 %1179, label %1181, label %1184

1181:                                             ; preds = %1180
  %1182 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1182)
          to label %1183 unwind label %696

1183:                                             ; preds = %1181
  store i32 1, ptr %30, align 4
  br label %1877

1184:                                             ; preds = %1180
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #10
  %1185 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  %1186 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %1185)
          to label %1187 unwind label %1202

1187:                                             ; preds = %1184
  %1188 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1186) #10
  %1189 = xor i1 %1188, true
  %1190 = zext i1 %1189 to i8
  store i8 %1190, ptr %65, align 1, !tbaa !9
  %1191 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1191, i32 noundef 21)
          to label %1192 unwind label %1202

1192:                                             ; preds = %1187
  %1193 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1194 unwind label %1202

1194:                                             ; preds = %1192
  store i32 %1193, ptr %23, align 4, !tbaa !408
  %1195 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1195, i32 noundef 21)
          to label %1196 unwind label %1202

1196:                                             ; preds = %1194
  %1197 = load i32, ptr %23, align 4, !tbaa !408
  %1198 = icmp eq i32 %1197, 2
  br i1 %1198, label %1199, label %1206

1199:                                             ; preds = %1196
  %1200 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1200)
          to label %1201 unwind label %1202

1201:                                             ; preds = %1199
  store i32 1, ptr %30, align 4
  br label %1244

1202:                                             ; preds = %1209, %1199, %1194, %1192, %1187, %1184
  %1203 = landingpad { ptr, i32 }
          cleanup
  %1204 = extractvalue { ptr, i32 } %1203, 0
  store ptr %1204, ptr %8, align 8
  %1205 = extractvalue { ptr, i32 } %1203, 1
  store i32 %1205, ptr %9, align 4
  br label %1247

1206:                                             ; preds = %1196
  %1207 = load i8, ptr %65, align 1, !tbaa !9, !range !389, !noundef !390
  %1208 = trunc i8 %1207 to i1
  br i1 %1208, label %1209, label %1243

1209:                                             ; preds = %1206
  %1210 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1211 = load i32, ptr %23, align 4, !tbaa !408
  %1212 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %1211)
          to label %1213 unwind label %1202

1213:                                             ; preds = %1209
  br i1 %1212, label %1214, label %1243

1214:                                             ; preds = %1213
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %1215 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1215, i32 noundef 28)
          to label %1216 unwind label %1227

1216:                                             ; preds = %1214
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #10
  %1217 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 4 dereferenceable(4) %66, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %1218 unwind label %1231

1218:                                             ; preds = %1216
  %1219 = zext i1 %1217 to i8
  store i8 %1219, ptr %67, align 1, !tbaa !9
  %1220 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1220, i32 noundef 28)
          to label %1221 unwind label %1231

1221:                                             ; preds = %1218
  %1222 = load i8, ptr %67, align 1, !tbaa !9, !range !389, !noundef !390
  %1223 = trunc i8 %1222 to i1
  br i1 %1223, label %1224, label %1235

1224:                                             ; preds = %1221
  %1225 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1225)
          to label %1226 unwind label %1231

1226:                                             ; preds = %1224
  store i32 1, ptr %30, align 4
  br label %1239

1227:                                             ; preds = %1214
  %1228 = landingpad { ptr, i32 }
          cleanup
  %1229 = extractvalue { ptr, i32 } %1228, 0
  store ptr %1229, ptr %8, align 8
  %1230 = extractvalue { ptr, i32 } %1228, 1
  store i32 %1230, ptr %9, align 4
  br label %1242

1231:                                             ; preds = %1235, %1224, %1218, %1216
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %8, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #10
  br label %1242

1235:                                             ; preds = %1221
  %1236 = load i32, ptr %41, align 4, !tbaa !391
  %1237 = add nsw i32 %1236, 1
  store i32 %1237, ptr %41, align 4, !tbaa !391
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1238 unwind label %1231

1238:                                             ; preds = %1235
  store i32 0, ptr %30, align 4
  br label %1239

1239:                                             ; preds = %1238, %1226
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  %1240 = load i32, ptr %30, align 4
  switch i32 %1240, label %1244 [
    i32 0, label %1241
  ]

1241:                                             ; preds = %1239
  br label %1243

1242:                                             ; preds = %1231, %1227
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %1247

1243:                                             ; preds = %1241, %1213, %1206
  store i32 0, ptr %30, align 4
  br label %1244

1244:                                             ; preds = %1243, %1239, %1201
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #10
  %1245 = load i32, ptr %30, align 4
  switch i32 %1245, label %1877 [
    i32 0, label %1246
  ]

1246:                                             ; preds = %1244
  br label %1248

1247:                                             ; preds = %1242, %1202
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #10
  br label %1884

1248:                                             ; preds = %1246, %1151
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1249 unwind label %696

1249:                                             ; preds = %1248
  %1250 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1251 = load ptr, ptr %1250, align 8, !tbaa !11
  %1252 = getelementptr inbounds %class.HighsMipSolver, ptr %1251, i32 0, i32 18
  %1253 = load i8, ptr %1252, align 8, !tbaa !379, !range !389, !noundef !390
  %1254 = trunc i8 %1253 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #10
  br i1 %1254, label %1275, label %1255

1255:                                             ; preds = %1249
  %1256 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1257 = load ptr, ptr %1256, align 8, !tbaa !11
  %1258 = getelementptr inbounds %class.HighsMipSolver, ptr %1257, i32 0, i32 0
  %1259 = load ptr, ptr %1258, align 8, !tbaa !402
  %1260 = getelementptr inbounds %struct.HighsCallback, ptr %1259, i32 0, i32 0
  %1261 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1260) #10
  br i1 %1261, label %1262, label %1275

1262:                                             ; preds = %1255
  %1263 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1264 = load ptr, ptr %1263, align 8, !tbaa !11
  %1265 = getelementptr inbounds %class.HighsMipSolver, ptr %1264, i32 0, i32 0
  %1266 = load ptr, ptr %1265, align 8, !tbaa !402
  %1267 = getelementptr inbounds %struct.HighsCallback, ptr %1266, i32 0, i32 3
  %1268 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %1267, i64 noundef 9)
          to label %1269 unwind label %1287

1269:                                             ; preds = %1262
  %1270 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 0
  %1271 = extractvalue { ptr, i64 } %1268, 0
  store ptr %1271, ptr %1270, align 8
  %1272 = getelementptr inbounds { ptr, i64 }, ptr %68, i32 0, i32 1
  %1273 = extractvalue { ptr, i64 } %1268, 1
  store i64 %1273, ptr %1272, align 8
  %1274 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %68) #10
  br label %1275

1275:                                             ; preds = %1269, %1255, %1249
  %1276 = phi i1 [ false, %1255 ], [ false, %1249 ], [ %1274, %1269 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #10
  br i1 %1276, label %1277, label %1291

1277:                                             ; preds = %1275
  %1278 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1279 = load ptr, ptr %1278, align 8, !tbaa !11
  %1280 = getelementptr inbounds %class.HighsMipSolver, ptr %1279, i32 0, i32 25
  %1281 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1280) #10
  %1282 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1283 = load ptr, ptr %1282, align 8, !tbaa !11
  %1284 = getelementptr inbounds %class.HighsMipSolver, ptr %1283, i32 0, i32 6
  %1285 = load double, ptr %1284, align 8, !tbaa !403
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %1281, double noundef %1285, i32 noundef 4)
          to label %1286 unwind label %696

1286:                                             ; preds = %1277
  br label %1291

1287:                                             ; preds = %1262
  %1288 = landingpad { ptr, i32 }
          cleanup
  %1289 = extractvalue { ptr, i32 } %1288, 0
  store ptr %1289, ptr %8, align 8
  %1290 = extractvalue { ptr, i32 } %1288, 1
  store i32 %1290, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #10
  br label %1884

1291:                                             ; preds = %1286, %1275
  %1292 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1293 = load ptr, ptr %1292, align 8, !tbaa !11
  %1294 = getelementptr inbounds %class.HighsMipSolver, ptr %1293, i32 0, i32 18
  %1295 = load i8, ptr %1294, align 8, !tbaa !379, !range !389, !noundef !390
  %1296 = trunc i8 %1295 to i1
  br i1 %1296, label %1315, label %1297

1297:                                             ; preds = %1291
  %1298 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1299 = load ptr, ptr %1298, align 8, !tbaa !11
  %1300 = getelementptr inbounds %class.HighsMipSolver, ptr %1299, i32 0, i32 0
  %1301 = load ptr, ptr %1300, align 8, !tbaa !402
  %1302 = getelementptr inbounds %struct.HighsCallback, ptr %1301, i32 0, i32 0
  %1303 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1302) #10
  br i1 %1303, label %1304, label %1315

1304:                                             ; preds = %1297
  %1305 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1306 = load ptr, ptr %1305, align 8, !tbaa !11
  %1307 = getelementptr inbounds %class.HighsMipSolver, ptr %1306, i32 0, i32 0
  %1308 = load ptr, ptr %1307, align 8, !tbaa !402
  %1309 = invoke noundef zeroext i1 @_ZN13HighsCallback14callbackActiveEi(ptr noundef nonnull align 8 dereferenceable(256) %1308, i32 noundef 7)
          to label %1310 unwind label %696

1310:                                             ; preds = %1304
  br i1 %1309, label %1311, label %1315

1311:                                             ; preds = %1310
  %1312 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1313 = load ptr, ptr %1312, align 8, !tbaa !11
  invoke void @_ZNK14HighsMipSolver18callbackGetCutPoolEv(ptr noundef nonnull align 8 dereferenceable(496) %1313)
          to label %1314 unwind label %696

1314:                                             ; preds = %1311
  br label %1315

1315:                                             ; preds = %1314, %1310, %1297, %1291
  %1316 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1317 unwind label %696

1317:                                             ; preds = %1315
  br i1 %1316, label %1318, label %1321

1318:                                             ; preds = %1317
  %1319 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1319)
          to label %1320 unwind label %696

1320:                                             ; preds = %1318
  store i32 1, ptr %30, align 4
  br label %1877

1321:                                             ; preds = %1317
  %1322 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1322, i32 noundef 35)
          to label %1323 unwind label %696

1323:                                             ; preds = %1321
  %1324 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1324, i32 noundef 36)
          to label %1325 unwind label %696

1325:                                             ; preds = %1323
  br label %1326

1326:                                             ; preds = %1325
  %1327 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 46
  %1328 = call noundef zeroext i1 @_ZNKSt6vectorIdSaIdEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1327) #10
  br i1 %1328, label %1329, label %1330

1329:                                             ; preds = %1326
  br label %1586

1330:                                             ; preds = %1326
  %1331 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %1332 = load double, ptr %1331, align 8, !tbaa !398
  %1333 = fcmp une double %1332, 0x7FF0000000000000
  br i1 %1333, label %1334, label %1338

1334:                                             ; preds = %1330
  %1335 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1336 unwind label %696

1336:                                             ; preds = %1334
  br i1 %1335, label %1338, label %1337

1337:                                             ; preds = %1336
  br label %1586

1338:                                             ; preds = %1336, %1330
  %1339 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1339, i32 noundef 29)
          to label %1340 unwind label %696

1340:                                             ; preds = %1338
  %1341 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15rootReducedCostEv(ptr noundef nonnull align 8 dereferenceable(104) %1341)
          to label %1342 unwind label %696

1342:                                             ; preds = %1340
  %1343 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1343, i32 noundef 29)
          to label %1344 unwind label %696

1344:                                             ; preds = %1342
  %1345 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %1345)
          to label %1346 unwind label %696

1346:                                             ; preds = %1344
  %1347 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1348 unwind label %696

1348:                                             ; preds = %1346
  br i1 %1347, label %1349, label %1352

1349:                                             ; preds = %1348
  %1350 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1350)
          to label %1351 unwind label %696

1351:                                             ; preds = %1349
  store i32 1, ptr %30, align 4
  br label %1877

1352:                                             ; preds = %1348
  call void @llvm.lifetime.start.p0(i64 1, ptr %69) #10
  %1353 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  %1354 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %1353)
          to label %1355 unwind label %1370

1355:                                             ; preds = %1352
  %1356 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1354) #10
  %1357 = xor i1 %1356, true
  %1358 = zext i1 %1357 to i8
  store i8 %1358, ptr %69, align 1, !tbaa !9
  %1359 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1359, i32 noundef 21)
          to label %1360 unwind label %1370

1360:                                             ; preds = %1355
  %1361 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1362 unwind label %1370

1362:                                             ; preds = %1360
  store i32 %1361, ptr %23, align 4, !tbaa !408
  %1363 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1363, i32 noundef 21)
          to label %1364 unwind label %1370

1364:                                             ; preds = %1362
  %1365 = load i32, ptr %23, align 4, !tbaa !408
  %1366 = icmp eq i32 %1365, 2
  br i1 %1366, label %1367, label %1374

1367:                                             ; preds = %1364
  %1368 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1368)
          to label %1369 unwind label %1370

1369:                                             ; preds = %1367
  store i32 1, ptr %30, align 4
  br label %1582

1370:                                             ; preds = %1578, %1573, %1571, %1569, %1566, %1563, %1561, %1559, %1557, %1555, %1552, %1549, %1461, %1455, %1450, %1448, %1443, %1440, %1437, %1434, %1432, %1430, %1427, %1425, %1422, %1419, %1415, %1377, %1367, %1362, %1360, %1355, %1352
  %1371 = landingpad { ptr, i32 }
          cleanup
  %1372 = extractvalue { ptr, i32 } %1371, 0
  store ptr %1372, ptr %8, align 8
  %1373 = extractvalue { ptr, i32 } %1371, 1
  store i32 %1373, ptr %9, align 4
  br label %1610

1374:                                             ; preds = %1364
  %1375 = load i8, ptr %69, align 1, !tbaa !9, !range !389, !noundef !390
  %1376 = trunc i8 %1375 to i1
  br i1 %1376, label %1377, label %1411

1377:                                             ; preds = %1374
  %1378 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1379 = load i32, ptr %23, align 4, !tbaa !408
  %1380 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %1379)
          to label %1381 unwind label %1370

1381:                                             ; preds = %1377
  br i1 %1380, label %1382, label %1411

1382:                                             ; preds = %1381
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #10
  %1383 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1383, i32 noundef 30)
          to label %1384 unwind label %1395

1384:                                             ; preds = %1382
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #10
  %1385 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 4 dereferenceable(4) %70, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %1386 unwind label %1399

1386:                                             ; preds = %1384
  %1387 = zext i1 %1385 to i8
  store i8 %1387, ptr %71, align 1, !tbaa !9
  %1388 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1388, i32 noundef 30)
          to label %1389 unwind label %1399

1389:                                             ; preds = %1386
  %1390 = load i8, ptr %71, align 1, !tbaa !9, !range !389, !noundef !390
  %1391 = trunc i8 %1390 to i1
  br i1 %1391, label %1392, label %1403

1392:                                             ; preds = %1389
  %1393 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1393)
          to label %1394 unwind label %1399

1394:                                             ; preds = %1392
  store i32 1, ptr %30, align 4
  br label %1407

1395:                                             ; preds = %1382
  %1396 = landingpad { ptr, i32 }
          cleanup
  %1397 = extractvalue { ptr, i32 } %1396, 0
  store ptr %1397, ptr %8, align 8
  %1398 = extractvalue { ptr, i32 } %1396, 1
  store i32 %1398, ptr %9, align 4
  br label %1410

1399:                                             ; preds = %1403, %1392, %1386, %1384
  %1400 = landingpad { ptr, i32 }
          cleanup
  %1401 = extractvalue { ptr, i32 } %1400, 0
  store ptr %1401, ptr %8, align 8
  %1402 = extractvalue { ptr, i32 } %1400, 1
  store i32 %1402, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #10
  br label %1410

1403:                                             ; preds = %1389
  %1404 = load i32, ptr %41, align 4, !tbaa !391
  %1405 = add nsw i32 %1404, 1
  store i32 %1405, ptr %41, align 4, !tbaa !391
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1406 unwind label %1399

1406:                                             ; preds = %1403
  store i32 0, ptr %30, align 4
  br label %1407

1407:                                             ; preds = %1406, %1394
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  %1408 = load i32, ptr %30, align 4
  switch i32 %1408, label %1582 [
    i32 0, label %1409
  ]

1409:                                             ; preds = %1407
  br label %1411

1410:                                             ; preds = %1399, %1395
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #10
  br label %1610

1411:                                             ; preds = %1409, %1381, %1374
  %1412 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %1413 = load double, ptr %1412, align 8, !tbaa !398
  %1414 = fcmp une double %1413, 0x7FF0000000000000
  br i1 %1414, label %1415, label %1419

1415:                                             ; preds = %1411
  %1416 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1417 unwind label %1370

1417:                                             ; preds = %1415
  br i1 %1416, label %1419, label %1418

1418:                                             ; preds = %1417
  store i32 11, ptr %30, align 4
  br label %1582

1419:                                             ; preds = %1417, %1411
  %1420 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1421 unwind label %1370

1421:                                             ; preds = %1419
  br i1 %1420, label %1422, label %1425

1422:                                             ; preds = %1421
  %1423 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1423)
          to label %1424 unwind label %1370

1424:                                             ; preds = %1422
  store i32 1, ptr %30, align 4
  br label %1582

1425:                                             ; preds = %1421
  %1426 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1426, i32 noundef 31)
          to label %1427 unwind label %1370

1427:                                             ; preds = %1425
  %1428 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  %1429 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 46
  invoke void @_ZN21HighsPrimalHeuristics4RENSERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104) %1428, ptr noundef nonnull align 8 dereferenceable(24) %1429)
          to label %1430 unwind label %1370

1430:                                             ; preds = %1427
  %1431 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1431, i32 noundef 31)
          to label %1432 unwind label %1370

1432:                                             ; preds = %1430
  %1433 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %1433)
          to label %1434 unwind label %1370

1434:                                             ; preds = %1432
  %1435 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1436 unwind label %1370

1436:                                             ; preds = %1434
  br i1 %1435, label %1437, label %1440

1437:                                             ; preds = %1436
  %1438 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1438)
          to label %1439 unwind label %1370

1439:                                             ; preds = %1437
  store i32 1, ptr %30, align 4
  br label %1582

1440:                                             ; preds = %1436
  %1441 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  %1442 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %1441)
          to label %1443 unwind label %1370

1443:                                             ; preds = %1440
  %1444 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1442) #10
  %1445 = xor i1 %1444, true
  %1446 = zext i1 %1445 to i8
  store i8 %1446, ptr %69, align 1, !tbaa !9
  %1447 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1447, i32 noundef 21)
          to label %1448 unwind label %1370

1448:                                             ; preds = %1443
  %1449 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1450 unwind label %1370

1450:                                             ; preds = %1448
  store i32 %1449, ptr %23, align 4, !tbaa !408
  %1451 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1451, i32 noundef 21)
          to label %1452 unwind label %1370

1452:                                             ; preds = %1450
  %1453 = load i32, ptr %23, align 4, !tbaa !408
  %1454 = icmp eq i32 %1453, 2
  br i1 %1454, label %1455, label %1458

1455:                                             ; preds = %1452
  %1456 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1456)
          to label %1457 unwind label %1370

1457:                                             ; preds = %1455
  store i32 1, ptr %30, align 4
  br label %1582

1458:                                             ; preds = %1452
  %1459 = load i8, ptr %69, align 1, !tbaa !9, !range !389, !noundef !390
  %1460 = trunc i8 %1459 to i1
  br i1 %1460, label %1461, label %1538

1461:                                             ; preds = %1458
  %1462 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1463 = load i32, ptr %23, align 4, !tbaa !408
  %1464 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %1463)
          to label %1465 unwind label %1370

1465:                                             ; preds = %1461
  br i1 %1464, label %1466, label %1538

1466:                                             ; preds = %1465
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %1467 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1467, i32 noundef 32)
          to label %1468 unwind label %1479

1468:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #10
  %1469 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 4 dereferenceable(4) %72, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %1470 unwind label %1483

1470:                                             ; preds = %1468
  %1471 = zext i1 %1469 to i8
  store i8 %1471, ptr %73, align 1, !tbaa !9
  %1472 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1472, i32 noundef 32)
          to label %1473 unwind label %1483

1473:                                             ; preds = %1470
  %1474 = load i8, ptr %73, align 1, !tbaa !9, !range !389, !noundef !390
  %1475 = trunc i8 %1474 to i1
  br i1 %1475, label %1476, label %1487

1476:                                             ; preds = %1473
  %1477 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1477)
          to label %1478 unwind label %1483

1478:                                             ; preds = %1476
  store i32 1, ptr %30, align 4
  br label %1533

1479:                                             ; preds = %1466
  %1480 = landingpad { ptr, i32 }
          cleanup
  %1481 = extractvalue { ptr, i32 } %1480, 0
  store ptr %1481, ptr %8, align 8
  %1482 = extractvalue { ptr, i32 } %1480, 1
  store i32 %1482, ptr %9, align 4
  br label %1537

1483:                                             ; preds = %1518, %1487, %1476, %1470, %1468
  %1484 = landingpad { ptr, i32 }
          cleanup
  %1485 = extractvalue { ptr, i32 } %1484, 0
  store ptr %1485, ptr %8, align 8
  %1486 = extractvalue { ptr, i32 } %1484, 1
  store i32 %1486, ptr %9, align 4
  br label %1536

1487:                                             ; preds = %1473
  %1488 = load i32, ptr %41, align 4, !tbaa !391
  %1489 = add nsw i32 %1488, 1
  store i32 %1489, ptr %41, align 4, !tbaa !391
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1490 unwind label %1483

1490:                                             ; preds = %1487
  %1491 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1492 = load ptr, ptr %1491, align 8, !tbaa !11
  %1493 = getelementptr inbounds %class.HighsMipSolver, ptr %1492, i32 0, i32 18
  %1494 = load i8, ptr %1493, align 8, !tbaa !379, !range !389, !noundef !390
  %1495 = trunc i8 %1494 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #10
  br i1 %1495, label %1516, label %1496

1496:                                             ; preds = %1490
  %1497 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1498 = load ptr, ptr %1497, align 8, !tbaa !11
  %1499 = getelementptr inbounds %class.HighsMipSolver, ptr %1498, i32 0, i32 0
  %1500 = load ptr, ptr %1499, align 8, !tbaa !402
  %1501 = getelementptr inbounds %struct.HighsCallback, ptr %1500, i32 0, i32 0
  %1502 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1501) #10
  br i1 %1502, label %1503, label %1516

1503:                                             ; preds = %1496
  %1504 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1505 = load ptr, ptr %1504, align 8, !tbaa !11
  %1506 = getelementptr inbounds %class.HighsMipSolver, ptr %1505, i32 0, i32 0
  %1507 = load ptr, ptr %1506, align 8, !tbaa !402
  %1508 = getelementptr inbounds %struct.HighsCallback, ptr %1507, i32 0, i32 3
  %1509 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %1508, i64 noundef 9)
          to label %1510 unwind label %1528

1510:                                             ; preds = %1503
  %1511 = getelementptr inbounds { ptr, i64 }, ptr %74, i32 0, i32 0
  %1512 = extractvalue { ptr, i64 } %1509, 0
  store ptr %1512, ptr %1511, align 8
  %1513 = getelementptr inbounds { ptr, i64 }, ptr %74, i32 0, i32 1
  %1514 = extractvalue { ptr, i64 } %1509, 1
  store i64 %1514, ptr %1513, align 8
  %1515 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %74) #10
  br label %1516

1516:                                             ; preds = %1510, %1496, %1490
  %1517 = phi i1 [ false, %1496 ], [ false, %1490 ], [ %1515, %1510 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #10
  br i1 %1517, label %1518, label %1532

1518:                                             ; preds = %1516
  %1519 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1520 = load ptr, ptr %1519, align 8, !tbaa !11
  %1521 = getelementptr inbounds %class.HighsMipSolver, ptr %1520, i32 0, i32 25
  %1522 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1521) #10
  %1523 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1524 = load ptr, ptr %1523, align 8, !tbaa !11
  %1525 = getelementptr inbounds %class.HighsMipSolver, ptr %1524, i32 0, i32 6
  %1526 = load double, ptr %1525, align 8, !tbaa !403
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %1522, double noundef %1526, i32 noundef 5)
          to label %1527 unwind label %1483

1527:                                             ; preds = %1518
  br label %1532

1528:                                             ; preds = %1503
  %1529 = landingpad { ptr, i32 }
          cleanup
  %1530 = extractvalue { ptr, i32 } %1529, 0
  store ptr %1530, ptr %8, align 8
  %1531 = extractvalue { ptr, i32 } %1529, 1
  store i32 %1531, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #10
  br label %1536

1532:                                             ; preds = %1527, %1516
  store i32 0, ptr %30, align 4
  br label %1533

1533:                                             ; preds = %1532, %1478
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  %1534 = load i32, ptr %30, align 4
  switch i32 %1534, label %1582 [
    i32 0, label %1535
  ]

1535:                                             ; preds = %1533
  br label %1538

1536:                                             ; preds = %1528, %1483
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #10
  br label %1537

1537:                                             ; preds = %1536, %1479
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %1610

1538:                                             ; preds = %1535, %1465, %1458
  %1539 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %1540 = load double, ptr %1539, align 8, !tbaa !398
  %1541 = fcmp une double %1540, 0x7FF0000000000000
  br i1 %1541, label %1548, label %1542

1542:                                             ; preds = %1538
  %1543 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1544 = load ptr, ptr %1543, align 8, !tbaa !11
  %1545 = getelementptr inbounds %class.HighsMipSolver, ptr %1544, i32 0, i32 18
  %1546 = load i8, ptr %1545, align 8, !tbaa !379, !range !389, !noundef !390
  %1547 = trunc i8 %1546 to i1
  br i1 %1547, label %1548, label %1549

1548:                                             ; preds = %1542, %1538
  store i32 11, ptr %30, align 4
  br label %1582

1549:                                             ; preds = %1542
  %1550 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1551 unwind label %1370

1551:                                             ; preds = %1549
  br i1 %1550, label %1552, label %1555

1552:                                             ; preds = %1551
  %1553 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1553)
          to label %1554 unwind label %1370

1554:                                             ; preds = %1552
  store i32 1, ptr %30, align 4
  br label %1582

1555:                                             ; preds = %1551
  %1556 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1556, i32 noundef 33)
          to label %1557 unwind label %1370

1557:                                             ; preds = %1555
  %1558 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15feasibilityPumpEv(ptr noundef nonnull align 8 dereferenceable(104) %1558)
          to label %1559 unwind label %1370

1559:                                             ; preds = %1557
  %1560 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1560, i32 noundef 33)
          to label %1561 unwind label %1370

1561:                                             ; preds = %1559
  %1562 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 8
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %1562)
          to label %1563 unwind label %1370

1563:                                             ; preds = %1561
  %1564 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %83, i64 noundef 0)
          to label %1565 unwind label %1370

1565:                                             ; preds = %1563
  br i1 %1564, label %1566, label %1569

1566:                                             ; preds = %1565
  %1567 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1567)
          to label %1568 unwind label %1370

1568:                                             ; preds = %1566
  store i32 1, ptr %30, align 4
  br label %1582

1569:                                             ; preds = %1565
  %1570 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1570, i32 noundef 21)
          to label %1571 unwind label %1370

1571:                                             ; preds = %1569
  %1572 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1573 unwind label %1370

1573:                                             ; preds = %1571
  store i32 %1572, ptr %23, align 4, !tbaa !408
  %1574 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1574, i32 noundef 21)
          to label %1575 unwind label %1370

1575:                                             ; preds = %1573
  %1576 = load i32, ptr %23, align 4, !tbaa !408
  %1577 = icmp eq i32 %1576, 2
  br i1 %1577, label %1578, label %1581

1578:                                             ; preds = %1575
  %1579 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1579)
          to label %1580 unwind label %1370

1580:                                             ; preds = %1578
  store i32 1, ptr %30, align 4
  br label %1582

1581:                                             ; preds = %1575
  store i32 0, ptr %30, align 4
  br label %1582

1582:                                             ; preds = %1581, %1580, %1568, %1554, %1548, %1533, %1457, %1439, %1424, %1418, %1407, %1369
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #10
  %1583 = load i32, ptr %30, align 4
  switch i32 %1583, label %1877 [
    i32 0, label %1584
    i32 11, label %1586
  ]

1584:                                             ; preds = %1582
  br label %1585

1585:                                             ; preds = %1584
  br label %1586

1586:                                             ; preds = %1585, %1582, %1337, %1329
  %1587 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1587, i32 noundef 36)
          to label %1588 unwind label %696

1588:                                             ; preds = %1586
  %1589 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1589, i32 noundef 37)
          to label %1590 unwind label %696

1590:                                             ; preds = %1588
  %1591 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %1592 = load double, ptr %1591, align 8, !tbaa !399
  %1593 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %1594 = load double, ptr %1593, align 8, !tbaa !398
  %1595 = fcmp ogt double %1592, %1594
  br i1 %1595, label %1596, label %1615

1596:                                             ; preds = %1590
  %1597 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1598 = load ptr, ptr %1597, align 8, !tbaa !11
  %1599 = getelementptr inbounds %class.HighsMipSolver, ptr %1598, i32 0, i32 4
  store i32 7, ptr %1599, align 8, !tbaa !422
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #10
  invoke void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %75, double noundef 1.000000e+00)
          to label %1600 unwind label %1611

1600:                                             ; preds = %1596
  %1601 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 52
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1601, ptr align 8 %75, i64 16, i1 false), !tbaa.struct !426
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #10
  %1602 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 57
  %1603 = load i64, ptr %1602, align 8, !tbaa !429
  %1604 = add nsw i64 %1603, 1
  store i64 %1604, ptr %1602, align 8, !tbaa !429
  %1605 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 58
  %1606 = load i64, ptr %1605, align 8, !tbaa !430
  %1607 = add nsw i64 %1606, 1
  store i64 %1607, ptr %1605, align 8, !tbaa !430
  %1608 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1608)
          to label %1609 unwind label %696

1609:                                             ; preds = %1600
  store i32 1, ptr %30, align 4
  br label %1877

1610:                                             ; preds = %1537, %1410, %1370
  call void @llvm.lifetime.end.p0(i64 1, ptr %69) #10
  br label %1884

1611:                                             ; preds = %1596
  %1612 = landingpad { ptr, i32 }
          cleanup
  %1613 = extractvalue { ptr, i32 } %1612, 0
  store ptr %1613, ptr %8, align 8
  %1614 = extractvalue { ptr, i32 } %1612, 1
  store i32 %1614, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #10
  br label %1884

1615:                                             ; preds = %1590
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #10
  %1616 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 3
  %1617 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %1616)
          to label %1618 unwind label %1633

1618:                                             ; preds = %1615
  %1619 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %1617) #10
  %1620 = xor i1 %1619, true
  %1621 = zext i1 %1620 to i8
  store i8 %1621, ptr %76, align 1, !tbaa !9
  %1622 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1622, i32 noundef 21)
          to label %1623 unwind label %1633

1623:                                             ; preds = %1618
  %1624 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1625 unwind label %1633

1625:                                             ; preds = %1623
  store i32 %1624, ptr %23, align 4, !tbaa !408
  %1626 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1626, i32 noundef 21)
          to label %1627 unwind label %1633

1627:                                             ; preds = %1625
  %1628 = load i32, ptr %23, align 4, !tbaa !408
  %1629 = icmp eq i32 %1628, 2
  br i1 %1629, label %1630, label %1637

1630:                                             ; preds = %1627
  %1631 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1631)
          to label %1632 unwind label %1633

1632:                                             ; preds = %1630
  store i32 1, ptr %30, align 4
  br label %1876

1633:                                             ; preds = %1873, %1855, %1850, %1848, %1846, %1845, %1768, %1767, %1765, %1732, %1729, %1726, %1720, %1717, %1716, %1702, %1640, %1630, %1625, %1623, %1618, %1615
  %1634 = landingpad { ptr, i32 }
          cleanup
  %1635 = extractvalue { ptr, i32 } %1634, 0
  store ptr %1635, ptr %8, align 8
  %1636 = extractvalue { ptr, i32 } %1634, 1
  store i32 %1636, ptr %9, align 4
  br label %1883

1637:                                             ; preds = %1627
  %1638 = load i8, ptr %76, align 1, !tbaa !9, !range !389, !noundef !390
  %1639 = trunc i8 %1638 to i1
  br i1 %1639, label %1640, label %1674

1640:                                             ; preds = %1637
  %1641 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1642 = load i32, ptr %23, align 4, !tbaa !408
  %1643 = invoke noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %1642)
          to label %1644 unwind label %1633

1644:                                             ; preds = %1640
  br i1 %1643, label %1645, label %1674

1645:                                             ; preds = %1644
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #10
  %1646 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1646, i32 noundef 34)
          to label %1647 unwind label %1658

1647:                                             ; preds = %1645
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #10
  %1648 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(184) %42, ptr noundef nonnull align 4 dereferenceable(4) %77, ptr noundef nonnull align 4 dereferenceable(4) %23)
          to label %1649 unwind label %1662

1649:                                             ; preds = %1647
  %1650 = zext i1 %1648 to i8
  store i8 %1650, ptr %78, align 1, !tbaa !9
  %1651 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1651, i32 noundef 34)
          to label %1652 unwind label %1662

1652:                                             ; preds = %1649
  %1653 = load i8, ptr %78, align 1, !tbaa !9, !range !389, !noundef !390
  %1654 = trunc i8 %1653 to i1
  br i1 %1654, label %1655, label %1666

1655:                                             ; preds = %1652
  %1656 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1656)
          to label %1657 unwind label %1662

1657:                                             ; preds = %1655
  store i32 1, ptr %30, align 4
  br label %1670

1658:                                             ; preds = %1645
  %1659 = landingpad { ptr, i32 }
          cleanup
  %1660 = extractvalue { ptr, i32 } %1659, 0
  store ptr %1660, ptr %8, align 8
  %1661 = extractvalue { ptr, i32 } %1659, 1
  store i32 %1661, ptr %9, align 4
  br label %1673

1662:                                             ; preds = %1666, %1655, %1649, %1647
  %1663 = landingpad { ptr, i32 }
          cleanup
  %1664 = extractvalue { ptr, i32 } %1663, 0
  store ptr %1664, ptr %8, align 8
  %1665 = extractvalue { ptr, i32 } %1663, 1
  store i32 %1665, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #10
  br label %1673

1666:                                             ; preds = %1652
  %1667 = load i32, ptr %41, align 4, !tbaa !391
  %1668 = add nsw i32 %1667, 1
  store i32 %1668, ptr %41, align 4, !tbaa !391
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1669 unwind label %1662

1669:                                             ; preds = %1666
  store i32 0, ptr %30, align 4
  br label %1670

1670:                                             ; preds = %1669, %1657
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  %1671 = load i32, ptr %30, align 4
  switch i32 %1671, label %1876 [
    i32 0, label %1672
  ]

1672:                                             ; preds = %1670
  br label %1674

1673:                                             ; preds = %1662, %1658
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %1883

1674:                                             ; preds = %1672, %1644, %1637
  %1675 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1676 = load ptr, ptr %1675, align 8, !tbaa !11
  %1677 = getelementptr inbounds %class.HighsMipSolver, ptr %1676, i32 0, i32 18
  %1678 = load i8, ptr %1677, align 8, !tbaa !379, !range !389, !noundef !390
  %1679 = trunc i8 %1678 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %79) #10
  br i1 %1679, label %1700, label %1680

1680:                                             ; preds = %1674
  %1681 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1682 = load ptr, ptr %1681, align 8, !tbaa !11
  %1683 = getelementptr inbounds %class.HighsMipSolver, ptr %1682, i32 0, i32 0
  %1684 = load ptr, ptr %1683, align 8, !tbaa !402
  %1685 = getelementptr inbounds %struct.HighsCallback, ptr %1684, i32 0, i32 0
  %1686 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %1685) #10
  br i1 %1686, label %1687, label %1700

1687:                                             ; preds = %1680
  %1688 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1689 = load ptr, ptr %1688, align 8, !tbaa !11
  %1690 = getelementptr inbounds %class.HighsMipSolver, ptr %1689, i32 0, i32 0
  %1691 = load ptr, ptr %1690, align 8, !tbaa !402
  %1692 = getelementptr inbounds %struct.HighsCallback, ptr %1691, i32 0, i32 3
  %1693 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %1692, i64 noundef 9)
          to label %1694 unwind label %1712

1694:                                             ; preds = %1687
  %1695 = getelementptr inbounds { ptr, i64 }, ptr %79, i32 0, i32 0
  %1696 = extractvalue { ptr, i64 } %1693, 0
  store ptr %1696, ptr %1695, align 8
  %1697 = getelementptr inbounds { ptr, i64 }, ptr %79, i32 0, i32 1
  %1698 = extractvalue { ptr, i64 } %1693, 1
  store i64 %1698, ptr %1697, align 8
  %1699 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %79) #10
  br label %1700

1700:                                             ; preds = %1694, %1680, %1674
  %1701 = phi i1 [ false, %1680 ], [ false, %1674 ], [ %1699, %1694 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #10
  br i1 %1701, label %1702, label %1716

1702:                                             ; preds = %1700
  %1703 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1704 = load ptr, ptr %1703, align 8, !tbaa !11
  %1705 = getelementptr inbounds %class.HighsMipSolver, ptr %1704, i32 0, i32 25
  %1706 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1705) #10
  %1707 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1708 = load ptr, ptr %1707, align 8, !tbaa !11
  %1709 = getelementptr inbounds %class.HighsMipSolver, ptr %1708, i32 0, i32 6
  %1710 = load double, ptr %1709, align 8, !tbaa !403
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %1706, double noundef %1710, i32 noundef 6)
          to label %1711 unwind label %1633

1711:                                             ; preds = %1702
  br label %1716

1712:                                             ; preds = %1687
  %1713 = landingpad { ptr, i32 }
          cleanup
  %1714 = extractvalue { ptr, i32 } %1713, 0
  store ptr %1714, ptr %8, align 8
  %1715 = extractvalue { ptr, i32 } %1713, 1
  store i32 %1715, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %79) #10
  br label %1883

1716:                                             ; preds = %1711, %1700
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1717 unwind label %1633

1717:                                             ; preds = %1716
  %1718 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1719 = invoke noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %1718)
          to label %1720 unwind label %1633

1720:                                             ; preds = %1717
  %1721 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %1719)
          to label %1722 unwind label %1633

1722:                                             ; preds = %1720
  %1723 = getelementptr inbounds %struct.HighsBasis, ptr %1721, i32 0, i32 0
  %1724 = load i8, ptr %1723, align 8, !tbaa !413, !range !389, !noundef !390
  %1725 = trunc i8 %1724 to i1
  br i1 %1725, label %1726, label %1729

1726:                                             ; preds = %1722
  %1727 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  invoke void @_ZN17HighsLpRelaxation18removeObsoleteRowsEb(ptr noundef nonnull align 8 dereferenceable(21425) %1727, i1 noundef zeroext true)
          to label %1728 unwind label %1633

1728:                                             ; preds = %1726
  br label %1729

1729:                                             ; preds = %1728, %1722
  %1730 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1731 = invoke noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %1730)
          to label %1732 unwind label %1633

1732:                                             ; preds = %1729
  %1733 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 49
  store double %1731, ptr %1733, align 8, !tbaa !412
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %83, i32 noundef -1)
          to label %1734 unwind label %1633

1734:                                             ; preds = %1732
  %1735 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %1736 = load double, ptr %1735, align 8, !tbaa !399
  %1737 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 77
  %1738 = load double, ptr %1737, align 8, !tbaa !398
  %1739 = fcmp ole double %1736, %1738
  br i1 %1739, label %1740, label %1873

1740:                                             ; preds = %1734
  %1741 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1742 = load ptr, ptr %1741, align 8, !tbaa !11
  %1743 = getelementptr inbounds %class.HighsMipSolver, ptr %1742, i32 0, i32 18
  %1744 = load i8, ptr %1743, align 8, !tbaa !379, !range !389, !noundef !390
  %1745 = trunc i8 %1744 to i1
  br i1 %1745, label %1841, label %1746

1746:                                             ; preds = %1740
  %1747 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1748 = load ptr, ptr %1747, align 8, !tbaa !11
  %1749 = getelementptr inbounds %class.HighsMipSolver, ptr %1748, i32 0, i32 1
  %1750 = load ptr, ptr %1749, align 8, !tbaa !397
  %1751 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1750, i32 0, i32 108
  %1752 = load i8, ptr %1751, align 1, !tbaa !420, !range !389, !noundef !390
  %1753 = trunc i8 %1752 to i1
  br i1 %1753, label %1754, label %1841

1754:                                             ; preds = %1746
  %1755 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1756 = load ptr, ptr %1755, align 8, !tbaa !11
  %1757 = getelementptr inbounds %class.HighsMipSolver, ptr %1756, i32 0, i32 1
  %1758 = load ptr, ptr %1757, align 8, !tbaa !397
  %1759 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1758, i32 0, i32 1
  %1760 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %1759, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #10
  br i1 %1760, label %1761, label %1841

1761:                                             ; preds = %1754
  %1762 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 17
  %1763 = load i8, ptr %1762, align 2, !tbaa !395, !range !389, !noundef !390
  %1764 = trunc i8 %1763 to i1
  br i1 %1764, label %1771, label %1765

1765:                                             ; preds = %1761
  %1766 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1766, i32 noundef 26)
          to label %1767 unwind label %1633

1767:                                             ; preds = %1765
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %1768 unwind label %1633

1768:                                             ; preds = %1767
  %1769 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1769, i32 noundef 26)
          to label %1770 unwind label %1633

1770:                                             ; preds = %1768
  br label %1771

1771:                                             ; preds = %1770, %1761
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #10
  %1772 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1773 unwind label %1812

1773:                                             ; preds = %1771
  store double %1772, ptr %80, align 8, !tbaa !400
  %1774 = load double, ptr %80, align 8, !tbaa !400
  %1775 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1776 = load ptr, ptr %1775, align 8, !tbaa !11
  %1777 = getelementptr inbounds %class.HighsMipSolver, ptr %1776, i32 0, i32 18
  %1778 = load i8, ptr %1777, align 8, !tbaa !379, !range !389, !noundef !390
  %1779 = trunc i8 %1778 to i1
  %1780 = zext i1 %1779 to i32
  %1781 = sitofp i32 %1780 to double
  %1782 = call double @llvm.fmuladd.f64(double 7.500000e+00, double %1781, double 2.500000e+00)
  %1783 = fcmp oge double %1774, %1782
  br i1 %1783, label %1797, label %1784

1784:                                             ; preds = %1773
  %1785 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1786 = load ptr, ptr %1785, align 8, !tbaa !11
  %1787 = getelementptr inbounds %class.HighsMipSolver, ptr %1786, i32 0, i32 18
  %1788 = load i8, ptr %1787, align 8, !tbaa !379, !range !389, !noundef !390
  %1789 = trunc i8 %1788 to i1
  br i1 %1789, label %1837, label %1790

1790:                                             ; preds = %1784
  %1791 = load double, ptr %80, align 8, !tbaa !400
  %1792 = fcmp ogt double %1791, 0.000000e+00
  br i1 %1792, label %1793, label %1837

1793:                                             ; preds = %1790
  %1794 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 22
  %1795 = load i32, ptr %1794, align 4, !tbaa !392
  %1796 = icmp eq i32 %1795, 0
  br i1 %1796, label %1797, label %1837

1797:                                             ; preds = %1793, %1773
  invoke void @_ZN5highs8parallel9TaskGroup6cancelEv(ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %1798 unwind label %1812

1798:                                             ; preds = %1797
  %1799 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1800 = load ptr, ptr %1799, align 8, !tbaa !11
  %1801 = getelementptr inbounds %class.HighsMipSolver, ptr %1800, i32 0, i32 1
  %1802 = load ptr, ptr %1801, align 8, !tbaa !397
  %1803 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1802, i32 0, i32 130
  %1804 = load double, ptr %80, align 8, !tbaa !400
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1803, i32 noundef 1, ptr noundef @.str.139, double noundef %1804)
          to label %1805 unwind label %1812

1805:                                             ; preds = %1798
  %1806 = load i32, ptr %39, align 4, !tbaa !391
  %1807 = icmp ne i32 %1806, -1
  br i1 %1807, label %1808, label %1816

1808:                                             ; preds = %1805
  %1809 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %4, ptr noundef nonnull align 4 dereferenceable(4) %41)
          to label %1810 unwind label %1812

1810:                                             ; preds = %1808
  %1811 = load i32, ptr %1809, align 4, !tbaa !391
  store i32 %1811, ptr %4, align 4, !tbaa !391
  br label %1816

1812:                                             ; preds = %1834, %1831, %1820, %1819, %1817, %1816, %1808, %1798, %1797, %1771
  %1813 = landingpad { ptr, i32 }
          cleanup
  %1814 = extractvalue { ptr, i32 } %1813, 0
  store ptr %1814, ptr %8, align 8
  %1815 = extractvalue { ptr, i32 } %1813, 1
  store i32 %1815, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  br label %1883

1816:                                             ; preds = %1810, %1805
  invoke void @_ZNK5highs8parallel9TaskGroup8taskWaitEv(ptr noundef nonnull align 8 dereferenceable(12) %7)
          to label %1817 unwind label %1812

1817:                                             ; preds = %1816
  %1818 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1818, i32 noundef 24)
          to label %1819 unwind label %1812

1819:                                             ; preds = %1817
  invoke void @_ZN18HighsMipSolverData14performRestartEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1820 unwind label %1812

1820:                                             ; preds = %1819
  %1821 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1821, i32 noundef 24)
          to label %1822 unwind label %1812

1822:                                             ; preds = %1820
  %1823 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 23
  %1824 = load i32, ptr %1823, align 8, !tbaa !421
  %1825 = add nsw i32 %1824, 1
  store i32 %1825, ptr %1823, align 8, !tbaa !421
  %1826 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 0
  %1827 = load ptr, ptr %1826, align 8, !tbaa !11
  %1828 = getelementptr inbounds %class.HighsMipSolver, ptr %1827, i32 0, i32 4
  %1829 = load i32, ptr %1828, align 8, !tbaa !422
  %1830 = icmp eq i32 %1829, 0
  br i1 %1830, label %1831, label %1834

1831:                                             ; preds = %1822
  %1832 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1832)
          to label %1833 unwind label %1812

1833:                                             ; preds = %1831
  store i32 2, ptr %30, align 4
  br label %1838

1834:                                             ; preds = %1822
  %1835 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1835)
          to label %1836 unwind label %1812

1836:                                             ; preds = %1834
  store i32 1, ptr %30, align 4
  br label %1838

1837:                                             ; preds = %1793, %1790, %1784
  store i32 0, ptr %30, align 4
  br label %1838

1838:                                             ; preds = %1837, %1836, %1833
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #10
  %1839 = load i32, ptr %30, align 4
  switch i32 %1839, label %1876 [
    i32 0, label %1840
  ]

1840:                                             ; preds = %1838
  br label %1841

1841:                                             ; preds = %1840, %1754, %1746, %1740
  %1842 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 20
  %1843 = load i8, ptr %1842, align 8, !tbaa !394, !range !389, !noundef !390
  %1844 = trunc i8 %1843 to i1
  br i1 %1844, label %1845, label %1859

1845:                                             ; preds = %1841
  invoke void @_ZN18HighsMipSolverData23finishSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801) %83, ptr noundef nonnull align 8 dereferenceable(12) %7, ptr noundef nonnull align 8 dereferenceable(8) %6)
          to label %1846 unwind label %1633

1846:                                             ; preds = %1845
  %1847 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %1847, i32 noundef 21)
          to label %1848 unwind label %1633

1848:                                             ; preds = %1846
  %1849 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %83)
          to label %1850 unwind label %1633

1850:                                             ; preds = %1848
  store i32 %1849, ptr %23, align 4, !tbaa !408
  %1851 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1851, i32 noundef 21)
          to label %1852 unwind label %1633

1852:                                             ; preds = %1850
  %1853 = load i32, ptr %23, align 4, !tbaa !408
  %1854 = icmp eq i32 %1853, 2
  br i1 %1854, label %1855, label %1858

1855:                                             ; preds = %1852
  %1856 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1856)
          to label %1857 unwind label %1633

1857:                                             ; preds = %1855
  store i32 1, ptr %30, align 4
  br label %1876

1858:                                             ; preds = %1852
  br label %1859

1859:                                             ; preds = %1858, %1841
  %1860 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 80
  call void @llvm.lifetime.start.p0(i64 24, ptr %81) #10
  call void @llvm.memset.p0.i64(ptr align 8 %81, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #10
  call void @llvm.lifetime.start.p0(i64 24, ptr %82) #10
  call void @llvm.memset.p0.i64(ptr align 8 %82, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #10
  %1861 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 75
  %1862 = load double, ptr %1861, align 8, !tbaa !399
  %1863 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 4
  %1864 = getelementptr inbounds %struct.HighsMipSolverData, ptr %83, i32 0, i32 5
  %1865 = invoke noundef double @_ZNK17HighsLpRelaxation19computeBestEstimateERK15HighsPseudocost(ptr noundef nonnull align 8 dereferenceable(21425) %1863, ptr noundef nonnull align 8 dereferenceable(360) %1864)
          to label %1866 unwind label %1869

1866:                                             ; preds = %1859
  %1867 = invoke noundef double @_ZN14HighsNodeQueue11emplaceNodeEOSt6vectorI17HighsDomainChangeSaIS1_EEOS0_IiSaIiEEddi(ptr noundef nonnull align 8 dereferenceable(148) %1860, ptr noundef nonnull align 8 dereferenceable(24) %81, ptr noundef nonnull align 8 dereferenceable(24) %82, double noundef %1862, double noundef %1865, i32 noundef 1)
          to label %1868 unwind label %1869

1868:                                             ; preds = %1866
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #10
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %81) #10
  br label %1873

1869:                                             ; preds = %1866, %1859
  %1870 = landingpad { ptr, i32 }
          cleanup
  %1871 = extractvalue { ptr, i32 } %1870, 0
  store ptr %1871, ptr %8, align 8
  %1872 = extractvalue { ptr, i32 } %1870, 1
  store i32 %1872, ptr %9, align 4
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %82) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %82) #10
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %81) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %81) #10
  br label %1883

1873:                                             ; preds = %1868, %1734
  %1874 = load ptr, ptr %10, align 8, !tbaa !5
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %1874)
          to label %1875 unwind label %1633

1875:                                             ; preds = %1873
  store i32 0, ptr %30, align 4
  br label %1876

1876:                                             ; preds = %1875, %1857, %1838, %1670, %1632
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #10
  br label %1877

1877:                                             ; preds = %1876, %1609, %1582, %1351, %1320, %1244, %1183, %1160, %1128, %1082, %687
  call void @_ZN15HighsSeparationD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %42) #10
  call void @llvm.lifetime.end.p0(i64 184, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #10
  br label %1878

1878:                                             ; preds = %1877, %620, %557, %523, %386
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  %1879 = load i32, ptr %30, align 4
  switch i32 %1879, label %1880 [
    i32 2, label %107
  ]

1880:                                             ; preds = %1878
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  call void @_ZN5highs8parallel9TaskGroupD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %7) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #10
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #10
  %1881 = load i32, ptr %30, align 4
  switch i32 %1881, label %1897 [
    i32 0, label %1882
    i32 1, label %1882
  ]

1882:                                             ; preds = %1880, %1880
  ret void

1883:                                             ; preds = %1869, %1812, %1712, %1673, %1633
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #10
  br label %1884

1884:                                             ; preds = %1883, %1611, %1610, %1287, %1247, %1161, %1091, %725, %696
  call void @_ZN15HighsSeparationD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %42) #10
  br label %1885

1885:                                             ; preds = %1884, %692
  call void @llvm.lifetime.end.p0(i64 184, ptr %42) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %1886

1886:                                             ; preds = %1885, %688
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %38) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %38) #10
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %37) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr %37) #10
  br label %1887

1887:                                             ; preds = %1886, %612, %558, %518, %480, %476, %413, %404, %395, %356
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1888

1888:                                             ; preds = %1887, %341, %309, %293, %269, %244, %201
  call void @llvm.lifetime.end.p0(i64 1, ptr %13) #10
  br label %1889

1889:                                             ; preds = %1888, %197
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #10
  br label %1890

1890:                                             ; preds = %1889, %123
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #10
  call void @_ZN5highs8parallel9TaskGroupD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %7) #10
  br label %1891

1891:                                             ; preds = %1890, %119
  call void @llvm.lifetime.end.p0(i64 16, ptr %7) #10
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %6) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #10
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #10
  br label %1892

1892:                                             ; preds = %1891
  %1893 = load ptr, ptr %8, align 8
  %1894 = load i32, ptr %9, align 4
  %1895 = insertvalue { ptr, i32 } poison, ptr %1893, 0
  %1896 = insertvalue { ptr, i32 } %1895, i32 %1894, 1
  resume { ptr, i32 } %1896

1897:                                             ; preds = %1880, %730
  unreachable
}

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt4sqrtIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_(i32 noundef) #7

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

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

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

declare void @_ZN17HighsLpRelaxation9loadModelEv(ptr noundef nonnull align 8 dereferenceable(21425)) #5

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

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

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

declare noundef i32 @_ZN5Highs8setBasisERK10HighsBasisRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: mustprogress nounwind 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 noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928)) #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(96) ptr @_ZN10HighsBasisaSERKS_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(96)) #9 align 2

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

declare void @_ZN12HighsCutPool26separateLpCutsAfterRestartER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(680), ptr noundef nonnull align 8 dereferenceable(144)) #5

declare void @_ZN17HighsLpRelaxation7addCutsER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(144)) #5

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

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

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

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

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

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

declare void @_ZN15HighsSeparationC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #5

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

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

declare void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104)) #5

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

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

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

declare noundef zeroext i1 @_ZN13HighsCallback14callbackActiveEi(ptr noundef nonnull align 8 dereferenceable(256), i32 noundef) #5

declare void @_ZNK14HighsMipSolver18callbackGetCutPoolEv(ptr noundef nonnull align 8 dereferenceable(496)) #5

declare void @_ZN21HighsPrimalHeuristics15rootReducedCostEv(ptr noundef nonnull align 8 dereferenceable(104)) #5

declare void @_ZN21HighsPrimalHeuristics4RENSERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(24)) #5

declare void @_ZN21HighsPrimalHeuristics15feasibilityPumpEv(ptr noundef nonnull align 8 dereferenceable(104)) #5

declare noundef double @_ZN14HighsNodeQueue11emplaceNodeEOSt6vectorI17HighsDomainChangeSaIS1_EEOS0_IiSaIiEEddi(ptr noundef nonnull align 8 dereferenceable(148), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), double noundef, double noundef, i32 noundef) #5

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

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

declare noundef double @_ZNK17HighsLpRelaxation19computeBestEstimateERK15HighsPseudocost(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(360)) #5

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

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

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

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

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

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

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


; 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::__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::unique_ptr.347" = type { %"struct.std::__uniq_ptr_data.348" }
%"struct.std::__uniq_ptr_data.348" = type { %"class.std::__uniq_ptr_impl.349" }
%"class.std::__uniq_ptr_impl.349" = type { %"class.std::tuple.350" }
%"class.std::tuple.350" = type { %"struct.std::_Tuple_impl.351" }
%"struct.std::_Tuple_impl.351" = type { %"struct.std::_Head_base.354" }
%"struct.std::_Head_base.354" = type { ptr }
%"class.highs::parallel::TaskGroup" = type <{ ptr, i32, [4 x i8] }>
%"struct.std::_Bit_reference" = type { ptr, i64 }
%"class.std::allocator" = type { i8 }
%struct.HighsCutSet = type { %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = 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.HighsSeparation = type { i32, i32, %"class.std::vector.431", %struct.HighsCutSet, ptr }
%"class.std::vector.431" = type { %"struct.std::_Vector_base.432" }
%"struct.std::_Vector_base.432" = type { %"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::unique_ptr<HighsSeparator>, std::allocator<std::unique_ptr<HighsSeparator>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsCDouble = type { double, double }
%"class.std::vector.46" = type { %"struct.std::_Vector_base.47" }
%"struct.std::_Vector_base.47" = 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 }

@_ZL15kHighsOffStringB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@_ZL14kHighsOnStringB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.24 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [80 x i8], align 1
@stdout = external local_unnamed_addr global ptr, align 8
@.str.107 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [17 x i8], align 1
@__PRETTY_FUNCTION__._ZN18HighsMipSolverData16evaluateRootNodeEv = external hidden unnamed_addr constant [44 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [43 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData30startAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12)) local_unnamed_addr #2 align 2

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #6

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData22startSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData23finishSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801), ptr noundef nonnull align 8 dereferenceable(12), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801)) 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 #8

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN18HighsMipSolverData24updatePrimalDualIntegralEddddbb(ptr noundef nonnull align 8 dereferenceable(26801), double noundef, double noundef, double noundef, double noundef, i1 noundef zeroext, i1 noundef zeroext) local_unnamed_addr #2 align 2

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40), i64 noundef) local_unnamed_addr #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIdSaIdEE6resizeEm(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 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801), i64 noundef) local_unnamed_addr #2 align 2

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

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

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

declare noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

declare noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(32), i1 noundef zeroext) local_unnamed_addr #5

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

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

declare void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #5

declare void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128), i32 noundef) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

declare void @_ZN21HighsPrimalHeuristics18randomizedRoundingERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

declare void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #5

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN18HighsMipSolverData16evaluateRootNodeEv(ptr noundef nonnull align 8 dereferenceable(26801) %0) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca %"class.std::unique_ptr.347", align 8
  %5 = alloca %"class.highs::parallel::TaskGroup", align 8
  %6 = alloca double, align 8
  %7 = alloca %"struct.std::_Bit_reference", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::allocator", align 1
  %10 = alloca %"class.std::__cxx11::basic_string", align 8
  %11 = alloca %"class.std::allocator", align 1
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::allocator", align 1
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::allocator", align 1
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca i8, align 1
  %24 = alloca i8, align 1
  %25 = alloca %struct.HighsCutSet, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca %"class.std::vector.8", align 8
  %29 = alloca %"class.std::vector.8", align 8
  %30 = alloca i32, align 4
  %31 = alloca %class.HighsSeparation, align 8
  %32 = alloca i32, align 4
  %33 = alloca %class.HighsCDouble, align 8
  %34 = alloca %class.HighsCDouble, align 8
  %35 = alloca %class.HighsCDouble, align 8
  %36 = alloca %class.HighsCDouble, align 8
  %37 = alloca %class.HighsCDouble, align 8
  %38 = alloca %class.HighsCDouble, align 8
  %39 = alloca %class.HighsCDouble, align 8
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca %"struct.std::_Bit_reference", align 8
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca %"struct.std::_Bit_reference", align 8
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca %"struct.std::_Bit_reference", align 8
  %50 = alloca %class.HighsCDouble, align 8
  %51 = alloca i32, align 4
  %52 = alloca %"struct.std::_Bit_reference", align 8
  %53 = alloca %"class.std::vector.46", align 8
  %54 = alloca %"class.std::vector.3", align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %2) #11
  %55 = load ptr, ptr %0, align 8, !tbaa !5
  %56 = getelementptr inbounds i8, ptr %55, i64 176
  %57 = load i8, ptr %56, align 8, !tbaa !377, !range !387, !noundef !388
  %58 = trunc nuw i8 %57 to i1
  %59 = select i1 %58, i32 5, i32 2147483647
  store i32 %59, ptr %2, align 4, !tbaa !389
  %60 = getelementptr inbounds i8, ptr %0, i64 25628
  %61 = load i32, ptr %60, align 4, !tbaa !390
  %62 = icmp eq i32 %61, 0
  br i1 %62, label %63, label %71

63:                                               ; preds = %1
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %3) #11
  %64 = getelementptr inbounds i8, ptr %0, i64 26364
  %65 = load i32, ptr %64, align 4, !tbaa !391
  %66 = tail call noundef double @_ZSt4sqrtIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_(i32 noundef %65)
  %67 = fmul double %66, 2.000000e+00
  %68 = fptosi double %67 to i32
  store i32 %68, ptr %3, align 4, !tbaa !389
  %69 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %3, ptr noundef nonnull align 4 dereferenceable(4) %2)
  %70 = load i32, ptr %69, align 4, !tbaa !389
  store i32 %70, ptr %2, align 4, !tbaa !389
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %3) #11
  br label %71

71:                                               ; preds = %63, %1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #11
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EEC2IS3_vEEv(ptr noundef nonnull align 8 dereferenceable(8) %4) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %5) #11
  invoke void @_ZN5highs8parallel9TaskGroupC2Ev(ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %72 unwind label %119

72:                                               ; preds = %71
  %73 = load ptr, ptr %0, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %73, i64 232
  %75 = getelementptr inbounds i8, ptr %0, i64 25624
  %76 = getelementptr inbounds i8, ptr %0, i64 25618
  %77 = getelementptr inbounds i8, ptr %73, i64 304
  %78 = getelementptr inbounds i8, ptr %0, i64 1736
  %79 = getelementptr inbounds i8, ptr %0, i64 912
  %80 = getelementptr inbounds i8, ptr %0, i64 26568
  %81 = getelementptr inbounds i8, ptr %0, i64 26552
  %82 = getelementptr inbounds i8, ptr %0, i64 26560
  %83 = getelementptr inbounds i8, ptr %7, i64 8
  %84 = getelementptr inbounds i8, ptr %0, i64 26256
  %85 = getelementptr inbounds i8, ptr %0, i64 26472
  %86 = getelementptr inbounds i8, ptr %0, i64 26408
  %87 = getelementptr inbounds i8, ptr %0, i64 26200
  %88 = getelementptr inbounds i8, ptr %0, i64 26248
  %89 = getelementptr inbounds i8, ptr %0, i64 26352
  %90 = getelementptr inbounds i8, ptr %0, i64 26304
  %91 = getelementptr inbounds i8, ptr %0, i64 26328
  %92 = getelementptr inbounds i8, ptr %0, i64 26258
  %93 = getelementptr inbounds i8, ptr %0, i64 8
  %94 = getelementptr inbounds i8, ptr %0, i64 26384
  %95 = getelementptr inbounds i8, ptr %0, i64 26392
  %96 = getelementptr inbounds i8, ptr %0, i64 24192
  %97 = getelementptr inbounds i8, ptr %0, i64 25632
  %98 = getelementptr inbounds i8, ptr %73, i64 272
  %99 = getelementptr inbounds i8, ptr %35, i64 8
  %100 = getelementptr inbounds i8, ptr %34, i64 8
  %101 = getelementptr inbounds i8, ptr %39, i64 8
  %102 = getelementptr inbounds i8, ptr %38, i64 8
  %103 = getelementptr inbounds i8, ptr %42, i64 8
  %104 = getelementptr inbounds i8, ptr %0, i64 26224
  %105 = getelementptr inbounds i8, ptr %46, i64 8
  %106 = getelementptr inbounds i8, ptr %49, i64 8
  %107 = getelementptr inbounds i8, ptr %52, i64 8
  %108 = getelementptr inbounds i8, ptr %0, i64 23168
  %109 = getelementptr inbounds i8, ptr %0, i64 26608
  %110 = getelementptr inbounds i8, ptr %0, i64 26368
  %111 = getelementptr inbounds i8, ptr %0, i64 26416
  br label %112

112:                                              ; preds = %1055, %72
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 35)
          to label %113 unwind label %121

113:                                              ; preds = %112
  %114 = load i8, ptr %75, align 8, !tbaa !392, !range !387, !noundef !388
  %115 = trunc nuw i8 %114 to i1
  br i1 %115, label %116, label %123

116:                                              ; preds = %113
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 19)
          to label %117 unwind label %121

117:                                              ; preds = %116
  invoke void @_ZN18HighsMipSolverData22startSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %118 unwind label %121

118:                                              ; preds = %117
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 19)
          to label %123 unwind label %121

119:                                              ; preds = %71
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %1061

121:                                              ; preds = %142, %141, %140, %139, %138, %137, %135, %129, %118, %117, %116, %112
  %122 = landingpad { ptr, i32 }
          cleanup
  br label %1060

123:                                              ; preds = %118, %113
  %124 = load i8, ptr %76, align 2, !tbaa !393, !range !387, !noundef !388
  %125 = trunc nuw i8 %124 to i1
  br i1 %125, label %140, label %126

126:                                              ; preds = %123
  %127 = load i8, ptr %77, align 8, !tbaa !394, !range !387, !noundef !388
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %137

129:                                              ; preds = %126
  %130 = load ptr, ptr %0, align 8, !tbaa !5
  %131 = getelementptr inbounds i8, ptr %130, i64 8
  %132 = load ptr, ptr %131, align 8, !tbaa !395
  %133 = getelementptr inbounds i8, ptr %130, i64 360
  %134 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %133, i32 noundef 0)
          to label %135 unwind label %121

135:                                              ; preds = %129
  %136 = getelementptr inbounds i8, ptr %132, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %136, i32 noundef 1, ptr noundef nonnull @.str.136, double noundef %134)
          to label %137 unwind label %121

137:                                              ; preds = %135, %126
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 20)
          to label %138 unwind label %121

138:                                              ; preds = %137
  invoke void @_ZN18HighsMipSolverData30startAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %139 unwind label %121

139:                                              ; preds = %138
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 20)
          to label %140 unwind label %121

140:                                              ; preds = %139, %123
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %78, i32 noundef 2147483647)
          to label %141 unwind label %121

141:                                              ; preds = %140
  invoke void @_ZN17HighsLpRelaxation9loadModelEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
          to label %142 unwind label %121

142:                                              ; preds = %141
  call void @_ZN11HighsDomain16clearChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
  %143 = load double, ptr %80, align 8, !tbaa !396
  invoke void @_ZN17HighsLpRelaxation17setObjectiveLimitEd(ptr noundef nonnull align 8 dereferenceable(21425) %78, double noundef %143)
          to label %144 unwind label %121

144:                                              ; preds = %142
  %145 = load double, ptr %81, align 8, !tbaa !397
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #11
  %146 = invoke noundef double @_ZNK11HighsDomain22getObjectiveLowerBoundEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
          to label %147 unwind label %157

147:                                              ; preds = %144
  store double %146, ptr %6, align 8, !tbaa !398
  %148 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxIdERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %81, ptr noundef nonnull align 8 dereferenceable(8) %6)
  %149 = load double, ptr %148, align 8, !tbaa !398
  store double %149, ptr %81, align 8, !tbaa !397
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  %150 = load ptr, ptr %0, align 8, !tbaa !5
  %151 = getelementptr inbounds i8, ptr %150, i64 176
  %152 = load i8, ptr %151, align 8, !tbaa !377, !range !387, !noundef !388
  %153 = trunc nuw i8 %152 to i1
  %154 = fcmp oeq double %149, %145
  %or.cond316.not = select i1 %153, i1 true, i1 %154
  br i1 %or.cond316.not, label %161, label %155

155:                                              ; preds = %147
  %156 = load double, ptr %82, align 8, !tbaa !399
  invoke void @_ZN18HighsMipSolverData24updatePrimalDualIntegralEddddbb(ptr noundef nonnull align 8 dereferenceable(26801) %0, double noundef %145, double noundef %149, double noundef %156, double noundef %156, i1 noundef zeroext true, i1 noundef zeroext true)
          to label %161 unwind label %159

157:                                              ; preds = %144
  %158 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #11
  br label %1060

159:                                              ; preds = %249, %179, %161, %155
  %160 = landingpad { ptr, i32 }
          cleanup
  br label %1060

161:                                              ; preds = %155, %147
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %162 unwind label %159

162:                                              ; preds = %161
  %163 = load ptr, ptr %0, align 8, !tbaa !5
  %164 = getelementptr inbounds i8, ptr %163, i64 176
  %165 = load i8, ptr %164, align 8, !tbaa !377, !range !387, !noundef !388
  %166 = trunc nuw i8 %165 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %7) #11
  br i1 %166, label %.critedge, label %167

167:                                              ; preds = %162
  %168 = load ptr, ptr %163, align 8, !tbaa !400
  %169 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %168) #11
  br i1 %169, label %170, label %.critedge

170:                                              ; preds = %167
  %171 = load ptr, ptr %0, align 8, !tbaa !5
  %172 = load ptr, ptr %171, align 8, !tbaa !400
  %173 = getelementptr inbounds i8, ptr %172, i64 48
  %174 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %173, i64 noundef 9)
          to label %175 unwind label %186

175:                                              ; preds = %170
  %176 = extractvalue { ptr, i64 } %174, 0
  store ptr %176, ptr %7, align 8
  %177 = extractvalue { ptr, i64 } %174, 1
  store i64 %177, ptr %83, align 8
  %178 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %7) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #11
  br i1 %178, label %179, label %188

179:                                              ; preds = %175
  %180 = load ptr, ptr %0, align 8, !tbaa !5
  %181 = getelementptr inbounds i8, ptr %180, i64 224
  %182 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %181) #11
  %183 = load ptr, ptr %0, align 8, !tbaa !5
  %184 = getelementptr inbounds i8, ptr %183, i64 64
  %185 = load double, ptr %184, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %182, double noundef %185, i32 noundef 2)
          to label %188 unwind label %159

186:                                              ; preds = %170
  %187 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #11
  br label %1060

.critedge:                                        ; preds = %162, %167
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %7) #11
  br label %188

188:                                              ; preds = %179, %.critedge, %175
  %189 = load i8, ptr %84, align 8, !tbaa !402, !range !387, !noundef !388
  %190 = trunc nuw i8 %189 to i1
  br i1 %190, label %191, label %201

191:                                              ; preds = %188
  %192 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.137, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %193 unwind label %196

193:                                              ; preds = %191
  %194 = invoke noundef i32 @_ZN5Highs8setBasisERK10HighsBasisRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %192, ptr noundef nonnull align 8 dereferenceable(96) %84, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %195 unwind label %198

195:                                              ; preds = %193
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #11
  br label %227

196:                                              ; preds = %191
  %197 = landingpad { ptr, i32 }
          cleanup
  br label %200

198:                                              ; preds = %193
  %199 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #11
  br label %200

200:                                              ; preds = %198, %196
  %.pn262 = phi { ptr, i32 } [ %199, %198 ], [ %197, %196 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #11
  br label %1060

201:                                              ; preds = %188
  %202 = load ptr, ptr %0, align 8, !tbaa !5
  %203 = getelementptr inbounds i8, ptr %202, i64 8
  %204 = load ptr, ptr %203, align 8, !tbaa !395
  %205 = getelementptr inbounds i8, ptr %204, i64 888
  %206 = load i8, ptr %205, align 8, !tbaa !403, !range !387, !noundef !388
  %207 = trunc nuw i8 %206 to i1
  %208 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  br i1 %207, label %209, label %218

209:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %210 unwind label %213

210:                                              ; preds = %209
  %211 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %208, ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %212 unwind label %215

212:                                              ; preds = %210
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  br label %227

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

215:                                              ; preds = %210
  %216 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #11
  br label %217

217:                                              ; preds = %215, %213
  %.pn260 = phi { ptr, i32 } [ %216, %215 ], [ %214, %213 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %11) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %10) #11
  br label %1060

218:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %13)
          to label %219 unwind label %222

219:                                              ; preds = %218
  %220 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %208, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) @_ZL14kHighsOnStringB5cxx11)
          to label %221 unwind label %224

221:                                              ; preds = %219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #11
  br label %227

222:                                              ; preds = %218
  %223 = landingpad { ptr, i32 }
          cleanup
  br label %226

224:                                              ; preds = %219
  %225 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #11
  br label %226

226:                                              ; preds = %224, %222
  %.pn = phi { ptr, i32 } [ %225, %224 ], [ %223, %222 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %13) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #11
  br label %1060

227:                                              ; preds = %212, %221, %195
  %228 = load ptr, ptr %0, align 8, !tbaa !5
  %229 = getelementptr inbounds i8, ptr %228, i64 8
  %230 = load ptr, ptr %229, align 8, !tbaa !395
  %231 = getelementptr inbounds i8, ptr %230, i64 348
  %232 = load i32, ptr %231, align 4, !tbaa !404
  %.not264 = icmp eq i32 %232, 0
  br i1 %.not264, label %249, label %233

233:                                              ; preds = %227
  %234 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull @.str.107, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %235 unwind label %244

235:                                              ; preds = %233
  %236 = load ptr, ptr %0, align 8, !tbaa !5
  %237 = getelementptr inbounds i8, ptr %236, i64 8
  %238 = load ptr, ptr %237, align 8, !tbaa !395
  %239 = getelementptr inbounds i8, ptr %238, i64 472
  %240 = load i8, ptr %239, align 8, !tbaa !405, !range !387, !noundef !388
  %241 = trunc nuw i8 %240 to i1
  %242 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928) %234, ptr noundef nonnull align 8 dereferenceable(32) %14, i1 noundef zeroext %241)
          to label %243 unwind label %246

243:                                              ; preds = %235
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #11
  br label %249

244:                                              ; preds = %233
  %245 = landingpad { ptr, i32 }
          cleanup
  br label %248

246:                                              ; preds = %235
  %247 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #11
  br label %248

248:                                              ; preds = %246, %244
  %.pn265 = phi { ptr, i32 } [ %247, %246 ], [ %245, %244 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %15) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #11
  br label %1060

249:                                              ; preds = %243, %227
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %250 unwind label %159

250:                                              ; preds = %249
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #11
  %251 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %252 unwind label %.loopexit353

252:                                              ; preds = %250
  store i32 %251, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %253 unwind label %.loopexit353

253:                                              ; preds = %252
  %254 = load i32, ptr %60, align 4, !tbaa !390
  %255 = icmp eq i32 %254, 0
  br i1 %255, label %256, label %258

256:                                              ; preds = %253
  %257 = load i64, ptr %85, align 8, !tbaa !407
  store i64 %257, ptr %86, align 8, !tbaa !408
  br label %258

.loopexit353:                                     ; preds = %250, %252, %288, %298, %304, %321, %347, %348, %349, %350, %351, %352, %354, %360, %397, %403, %408
  %lpad.loopexit355 = landingpad { ptr, i32 }
          cleanup
  br label %1059

.loopexit.split-lp354:                            ; preds = %.invoke
  %lpad.loopexit.split-lp356 = landingpad { ptr, i32 }
          cleanup
  br label %1059

258:                                              ; preds = %256, %253
  %259 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.107, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %260 unwind label %273

260:                                              ; preds = %258
  %261 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(20928) %259, ptr noundef nonnull align 8 dereferenceable(32) %17, i1 noundef zeroext false)
          to label %262 unwind label %275

262:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #11
  %263 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.24, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %264 unwind label %278

264:                                              ; preds = %262
  %265 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %263, ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %266 unwind label %280

266:                                              ; preds = %264
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #11
  %267 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #11
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.28, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %268 unwind label %283

268:                                              ; preds = %266
  %269 = invoke noundef i32 @_ZN5Highs14setOptionValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_(ptr noundef nonnull align 8 dereferenceable(20928) %267, ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11)
          to label %270 unwind label %285

270:                                              ; preds = %268
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #11
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #11
  %271 = load i32, ptr %16, align 4
  %272 = and i32 %271, -5
  %or.cond = icmp eq i32 %272, 2
  br i1 %or.cond, label %.invoke, label %288

.invoke:                                          ; preds = %355, %270
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread343 unwind label %.loopexit.split-lp354

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

275:                                              ; preds = %260
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #11
  br label %277

277:                                              ; preds = %275, %273
  %.pn267 = phi { ptr, i32 } [ %276, %275 ], [ %274, %273 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #11
  br label %1059

278:                                              ; preds = %262
  %279 = landingpad { ptr, i32 }
          cleanup
  br label %282

280:                                              ; preds = %264
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #11
  br label %282

282:                                              ; preds = %280, %278
  %.pn269 = phi { ptr, i32 } [ %281, %280 ], [ %279, %278 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #11
  br label %1059

283:                                              ; preds = %266
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %287

285:                                              ; preds = %268
  %286 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #11
  br label %287

287:                                              ; preds = %285, %283
  %.pn271 = phi { ptr, i32 } [ %286, %285 ], [ %284, %283 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #11
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #11
  br label %1059

288:                                              ; preds = %270
  %289 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %290 = getelementptr inbounds i8, ptr %289, i64 8
  %291 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIdSaIdEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(24) %290)
          to label %292 unwind label %.loopexit353

292:                                              ; preds = %288
  %293 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  store double %293, ptr %88, align 8, !tbaa !409
  store double %293, ptr %89, align 8, !tbaa !410
  %294 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %295 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %294)
  %296 = load i8, ptr %295, align 8, !tbaa !411, !range !387, !noundef !388
  %297 = trunc nuw i8 %296 to i1
  br i1 %297, label %298, label %308

298:                                              ; preds = %292
  %299 = invoke noundef i32 @_ZNK17HighsLpRelaxation7numRowsEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
          to label %300 unwind label %.loopexit353

300:                                              ; preds = %298
  %301 = load ptr, ptr %0, align 8, !tbaa !5
  %302 = call noundef i32 @_ZNK14HighsMipSolver6numRowEv(ptr noundef nonnull align 8 dereferenceable(496) %301)
  %303 = icmp eq i32 %299, %302
  br i1 %303, label %304, label %308

304:                                              ; preds = %300
  %305 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %306 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %305)
  %307 = invoke noundef nonnull align 8 dereferenceable(96) ptr @_ZN10HighsBasisaSERKS_(ptr noundef nonnull align 8 dereferenceable(96) %84, ptr noundef nonnull align 8 dereferenceable(96) %306)
          to label %321 unwind label %.loopexit353

308:                                              ; preds = %300, %292
  %309 = load ptr, ptr %0, align 8, !tbaa !5
  %310 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %309)
  %311 = sext i32 %310 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #11
  store i8 4, ptr %23, align 1, !tbaa !412
  invoke void @_ZNSt6vectorI16HighsBasisStatusSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %311, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %312 unwind label %317

312:                                              ; preds = %308
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #11
  %313 = load ptr, ptr %0, align 8, !tbaa !5
  %314 = call noundef i32 @_ZNK14HighsMipSolver6numRowEv(ptr noundef nonnull align 8 dereferenceable(496) %313)
  %315 = sext i32 %314 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #11
  store i8 1, ptr %24, align 1, !tbaa !412
  invoke void @_ZNSt6vectorI16HighsBasisStatusSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %91, i64 noundef %315, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %316 unwind label %319

316:                                              ; preds = %312
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #11
  store i8 1, ptr %84, align 8, !tbaa !402
  store i8 1, ptr %92, align 2, !tbaa !414
  br label %321

317:                                              ; preds = %308
  %318 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #11
  br label %1059

319:                                              ; preds = %312
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #11
  br label %1059

321:                                              ; preds = %304, %316
  %322 = invoke noundef i32 @_ZNK12HighsCutPool10getNumCutsEv(ptr noundef nonnull align 8 dereferenceable(680) %93)
          to label %323 unwind label %.loopexit353

323:                                              ; preds = %321
  %.not273 = icmp eq i32 %322, 0
  br i1 %.not273, label %341, label %324

324:                                              ; preds = %323
  %325 = load i32, ptr %60, align 4, !tbaa !390
  %.not274 = icmp eq i32 %325, 0
  br i1 %.not274, label %326, label %327

326:                                              ; preds = %324
  call void @__assert_fail(ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.85, i32 noundef 1851, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18HighsMipSolverData16evaluateRootNodeEv) #12
  unreachable

327:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 144, ptr nonnull %25) #11
  call void @_ZN11HighsCutSetC2Ev(ptr noundef nonnull align 8 dereferenceable(144) %25) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 22)
          to label %328 unwind label %.loopexit358

328:                                              ; preds = %327
  invoke void @_ZN12HighsCutPool26separateLpCutsAfterRestartER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(680) %93, ptr noundef nonnull align 8 dereferenceable(144) %25)
          to label %329 unwind label %.loopexit358

329:                                              ; preds = %328
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 22)
          to label %330 unwind label %.loopexit358

330:                                              ; preds = %329
  invoke void @_ZN17HighsLpRelaxation7addCutsER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(21425) %78, ptr noundef nonnull align 8 dereferenceable(144) %25)
          to label %331 unwind label %.loopexit358

331:                                              ; preds = %330
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %332 unwind label %.loopexit358

332:                                              ; preds = %331
  %333 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %334 unwind label %.loopexit358

334:                                              ; preds = %332
  store i32 %333, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %335 unwind label %.loopexit358

335:                                              ; preds = %334
  invoke void @_ZN17HighsLpRelaxation18removeObsoleteRowsEb(ptr noundef nonnull align 8 dereferenceable(21425) %78, i1 noundef zeroext true)
          to label %336 unwind label %.loopexit358

336:                                              ; preds = %335
  %337 = load i32, ptr %16, align 4, !tbaa !406
  %.not275 = icmp eq i32 %337, 2
  br i1 %.not275, label %338, label %.critedge318

338:                                              ; preds = %336
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %340 unwind label %.loopexit.split-lp359

.loopexit358:                                     ; preds = %327, %328, %329, %330, %331, %332, %334, %335
  %lpad.loopexit360 = landingpad { ptr, i32 }
          cleanup
  br label %339

.loopexit.split-lp359:                            ; preds = %338
  %lpad.loopexit.split-lp361 = landingpad { ptr, i32 }
          cleanup
  br label %339

339:                                              ; preds = %.loopexit.split-lp359, %.loopexit358
  %lpad.phi362 = phi { ptr, i32 } [ %lpad.loopexit360, %.loopexit358 ], [ %lpad.loopexit.split-lp361, %.loopexit.split-lp359 ]
  call void @_ZN11HighsCutSetD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %25) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %25) #11
  br label %1059

340:                                              ; preds = %338
  call void @_ZN11HighsCutSetD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %25) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %25) #11
  br label %.thread343

.critedge318:                                     ; preds = %336
  call void @_ZN11HighsCutSetD2Ev(ptr noundef nonnull align 8 dereferenceable(144) %25) #11
  call void @llvm.lifetime.end.p0(i64 144, ptr nonnull %25) #11
  br label %341

341:                                              ; preds = %.critedge318, %323
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #11
  store i32 10000, ptr %26, align 4, !tbaa !389
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #11
  %342 = load double, ptr %94, align 8, !tbaa !415
  %343 = fmul double %342, 1.000000e+01
  %344 = fptosi double %343 to i32
  store i32 %344, ptr %27, align 4, !tbaa !389
  %345 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27)
  %346 = load i32, ptr %345, align 4, !tbaa !389
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %78, i32 noundef %346)
          to label %347 unwind label %358

347:                                              ; preds = %341
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #11
  store <2 x double> <double 0.000000e+00, double 0xFFF0000000000000>, ptr %95, align 8, !tbaa !398
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 23)
          to label %348 unwind label %.loopexit353

348:                                              ; preds = %347
  invoke void @_ZN21HighsPrimalHeuristics18randomizedRoundingERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104) %96, ptr noundef nonnull align 8 dereferenceable(24) %87)
          to label %349 unwind label %.loopexit353

349:                                              ; preds = %348
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 23)
          to label %350 unwind label %.loopexit353

350:                                              ; preds = %349
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %351 unwind label %.loopexit353

351:                                              ; preds = %350
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %352 unwind label %.loopexit353

352:                                              ; preds = %351
  %353 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %354 unwind label %.loopexit353

354:                                              ; preds = %352
  store i32 %353, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %355 unwind label %.loopexit353

355:                                              ; preds = %354
  %356 = load i32, ptr %16, align 4, !tbaa !406
  %357 = icmp eq i32 %356, 2
  br i1 %357, label %.invoke, label %360

358:                                              ; preds = %341
  %359 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #11
  br label %1059

360:                                              ; preds = %355
  %361 = load double, ptr %88, align 8, !tbaa !409
  store double %361, ptr %89, align 8, !tbaa !410
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %362 unwind label %.loopexit353

362:                                              ; preds = %360
  %363 = load ptr, ptr %0, align 8, !tbaa !5
  %364 = getelementptr inbounds i8, ptr %363, i64 8
  %365 = load ptr, ptr %364, align 8, !tbaa !395
  %366 = getelementptr inbounds i8, ptr %365, i64 763
  %367 = load i8, ptr %366, align 1, !tbaa !416, !range !387, !noundef !388
  %368 = trunc nuw i8 %367 to i1
  br i1 %368, label %369, label %.thread

369:                                              ; preds = %362
  %370 = getelementptr inbounds i8, ptr %365, i64 8
  %371 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %370, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #11
  br i1 %371, label %372, label %.thread

372:                                              ; preds = %369
  %373 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %374 unwind label %393

374:                                              ; preds = %372
  %375 = fcmp ult double %373, 1.000000e+01
  br i1 %375, label %.thread, label %376

376:                                              ; preds = %374
  invoke void @_ZN5highs8parallel9TaskGroup6cancelEv(ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %377 unwind label %393

377:                                              ; preds = %376
  %378 = load ptr, ptr %0, align 8, !tbaa !5
  %379 = getelementptr inbounds i8, ptr %378, i64 8
  %380 = load ptr, ptr %379, align 8, !tbaa !395
  %381 = getelementptr inbounds i8, ptr %380, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %381, i32 noundef 1, ptr noundef nonnull @.str.139, double noundef %373)
          to label %382 unwind label %393

382:                                              ; preds = %377
  invoke void @_ZNK5highs8parallel9TaskGroup8taskWaitEv(ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %383 unwind label %393

383:                                              ; preds = %382
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 24)
          to label %384 unwind label %393

384:                                              ; preds = %383
  invoke void @_ZN18HighsMipSolverData14performRestartEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %385 unwind label %393

385:                                              ; preds = %384
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 24)
          to label %386 unwind label %393

386:                                              ; preds = %385
  %387 = load i32, ptr %97, align 8, !tbaa !417
  %388 = add nsw i32 %387, 1
  store i32 %388, ptr %97, align 8, !tbaa !417
  %389 = load ptr, ptr %0, align 8, !tbaa !5
  %390 = getelementptr inbounds i8, ptr %389, i64 32
  %391 = load i32, ptr %390, align 8, !tbaa !418
  %392 = icmp eq i32 %391, 0
  %.323 = select i1 %392, i32 2, i32 1
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %1055 unwind label %393

393:                                              ; preds = %386, %385, %384, %383, %382, %377, %376, %372
  %394 = landingpad { ptr, i32 }
          cleanup
  br label %1059

.thread:                                          ; preds = %374, %369, %362
  %395 = load i8, ptr %77, align 8, !tbaa !394, !range !387, !noundef !388
  %396 = trunc nuw i8 %395 to i1
  br i1 %396, label %397, label %408

397:                                              ; preds = %.thread
  %398 = load ptr, ptr %0, align 8, !tbaa !5
  %399 = getelementptr inbounds i8, ptr %398, i64 8
  %400 = load ptr, ptr %399, align 8, !tbaa !395
  %401 = load ptr, ptr %98, align 8, !tbaa !419
  %402 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %401, i32 noundef 0)
          to label %403 unwind label %.loopexit353

403:                                              ; preds = %397
  %404 = getelementptr inbounds i8, ptr %400, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %404, i32 noundef 1, ptr noundef nonnull @.str.140, double noundef %402)
          to label %405 unwind label %.loopexit353

405:                                              ; preds = %403
  %406 = load ptr, ptr @stdout, align 8, !tbaa !420
  %407 = call i32 @fflush(ptr noundef %406)
  br label %408

408:                                              ; preds = %405, %.thread
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 25)
          to label %409 unwind label %.loopexit353

409:                                              ; preds = %408
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #11
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #11
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #11
  %410 = load ptr, ptr %0, align 8, !tbaa !5
  %411 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %410)
  %412 = sext i32 %411 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %412)
          to label %413 unwind label %430

413:                                              ; preds = %409
  %414 = load ptr, ptr %0, align 8, !tbaa !5
  %415 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %414)
  %416 = sext i32 %415 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %416)
          to label %417 unwind label %430

417:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #11
  store i32 0, ptr %30, align 4, !tbaa !389
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %31) #11
  %418 = load ptr, ptr %0, align 8, !tbaa !5
  invoke void @_ZN15HighsSeparationC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 8 dereferenceable(496) %418)
          to label %419 unwind label %432

419:                                              ; preds = %417
  call void @_ZN15HighsSeparation15setLpRelaxationEP17HighsLpRelaxation(ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull %78)
  %420 = load i32, ptr %16, align 4, !tbaa !406
  %421 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %420)
  br i1 %421, label %.lr.ph377, label %.critedge11

.lr.ph377:                                        ; preds = %419, %628
  %.0239375 = phi i32 [ %.4243, %628 ], [ 0, %419 ]
  %.0246374 = phi double [ %.1247, %628 ], [ 0.000000e+00, %419 ]
  %422 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN17HighsLpRelaxation21getFractionalIntegersEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %423 = call noundef zeroext i1 @_ZNKSt6vectorISt4pairIidESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %422) #11
  %424 = icmp sgt i32 %.0239375, 2
  %or.cond24.not = select i1 %423, i1 true, i1 %424
  br i1 %or.cond24.not, label %.critedge11, label %425

425:                                              ; preds = %.lr.ph377
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %426 unwind label %.loopexit

426:                                              ; preds = %425
  %427 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %428 unwind label %.loopexit

428:                                              ; preds = %426
  br i1 %427, label %429, label %434

429:                                              ; preds = %428
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 25)
          to label %.invoke394 unwind label %.loopexit.split-lp

.invoke394:                                       ; preds = %429, %776, %759, %685, %673, %653, %906
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %.loopexit.split-lp

430:                                              ; preds = %413, %409
  %431 = landingpad { ptr, i32 }
          cleanup
  br label %1058

432:                                              ; preds = %417
  %433 = landingpad { ptr, i32 }
          cleanup
  br label %1057

.loopexit:                                        ; preds = %425, %426, %438
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %1056

.loopexit.split-lp:                               ; preds = %.invoke394, %429, %.critedge11, %637, %643, %648, %649, %650, %652, %656, %671, %676, %677, %678, %679, %680, %681, %682, %683, %.critedge320, %733, %750, %755, %757, %760, %761, %767, %770, %771, %772, %773, %774, %900, %901
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %1056

434:                                              ; preds = %428
  %435 = load i32, ptr %30, align 4, !tbaa !389
  %436 = load i32, ptr %2, align 4, !tbaa !389
  %437 = icmp eq i32 %435, %436
  br i1 %437, label %.critedge11, label %438

438:                                              ; preds = %434
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %439 unwind label %.loopexit

439:                                              ; preds = %438
  %440 = load ptr, ptr %0, align 8, !tbaa !5
  %441 = getelementptr inbounds i8, ptr %440, i64 176
  %442 = load i8, ptr %441, align 8, !tbaa !377, !range !387, !noundef !388
  %443 = trunc nuw i8 %442 to i1
  br i1 %443, label %455, label %444

444:                                              ; preds = %439
  %445 = getelementptr inbounds i8, ptr %440, i64 8
  %446 = load ptr, ptr %445, align 8, !tbaa !395
  %447 = getelementptr inbounds i8, ptr %446, i64 8
  %448 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %447, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #11
  br i1 %448, label %449, label %455

449:                                              ; preds = %444
  %450 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %451 unwind label %453

451:                                              ; preds = %449
  %452 = fcmp ult double %450, 1.000000e+01
  br i1 %452, label %455, label %.critedge11

453:                                              ; preds = %449
  %454 = landingpad { ptr, i32 }
          cleanup
  br label %1056

455:                                              ; preds = %451, %444, %439
  %456 = load i32, ptr %30, align 4, !tbaa !389
  %457 = add nsw i32 %456, 1
  store i32 %457, ptr %30, align 4, !tbaa !389
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 53)
          to label %458 unwind label %462

458:                                              ; preds = %455
  %459 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 4 dereferenceable(4) %32, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %460 unwind label %.loopexit348

460:                                              ; preds = %458
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 53)
          to label %461 unwind label %.loopexit348

461:                                              ; preds = %460
  br i1 %459, label %.invoke398, label %464

.invoke398:                                       ; preds = %461, %492, %487, %477
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 25)
          to label %.invoke395 unwind label %.loopexit.split-lp349

.invoke395:                                       ; preds = %.invoke398
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread325 unwind label %.loopexit.split-lp349

462:                                              ; preds = %455
  %463 = landingpad { ptr, i32 }
          cleanup
  br label %633

.loopexit348:                                     ; preds = %458, %460, %475, %478, %479, %480, %481, %482, %483, %484, %485, %488, %489, %491
  %lpad.loopexit350 = landingpad { ptr, i32 }
          cleanup
  br label %633

.loopexit.split-lp349:                            ; preds = %.invoke398, %.invoke395
  %lpad.loopexit.split-lp351 = landingpad { ptr, i32 }
          cleanup
  br label %633

464:                                              ; preds = %461
  %465 = load i32, ptr %30, align 4, !tbaa !389
  %466 = icmp sgt i32 %465, 4
  br i1 %466, label %467, label %495

467:                                              ; preds = %464
  %468 = load ptr, ptr %0, align 8, !tbaa !5
  %469 = getelementptr inbounds i8, ptr %468, i64 176
  %470 = load i8, ptr %469, align 8, !tbaa !377, !range !387, !noundef !388
  %471 = trunc nuw i8 %470 to i1
  br i1 %471, label %495, label %472

472:                                              ; preds = %467
  %473 = load i8, ptr %76, align 2, !tbaa !393, !range !387, !noundef !388
  %474 = trunc nuw i8 %473 to i1
  br i1 %474, label %495, label %475

475:                                              ; preds = %472
  %476 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %477 unwind label %.loopexit348

477:                                              ; preds = %475
  br i1 %476, label %.invoke398, label %478

478:                                              ; preds = %477
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 54)
          to label %479 unwind label %.loopexit348

479:                                              ; preds = %478
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %480 unwind label %.loopexit348

480:                                              ; preds = %479
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 54)
          to label %481 unwind label %.loopexit348

481:                                              ; preds = %480
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 55)
          to label %482 unwind label %.loopexit348

482:                                              ; preds = %481
  invoke void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %483 unwind label %.loopexit348

483:                                              ; preds = %482
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 55)
          to label %484 unwind label %.loopexit348

484:                                              ; preds = %483
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %485 unwind label %.loopexit348

485:                                              ; preds = %484
  %486 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %487 unwind label %.loopexit348

487:                                              ; preds = %485
  br i1 %486, label %.invoke398, label %488

488:                                              ; preds = %487
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 56)
          to label %489 unwind label %.loopexit348

489:                                              ; preds = %488
  %490 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %491 unwind label %.loopexit348

491:                                              ; preds = %489
  store i32 %490, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 56)
          to label %492 unwind label %.loopexit348

492:                                              ; preds = %491
  %493 = load i32, ptr %16, align 4, !tbaa !406
  %494 = icmp eq i32 %493, 2
  br i1 %494, label %.invoke398, label %495

495:                                              ; preds = %492, %472, %467, %464
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %33) #11
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %33, double noundef 0.000000e+00)
  %496 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK17HighsLpRelaxation11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %497 = getelementptr inbounds i8, ptr %496, i64 8
  %498 = load ptr, ptr %0, align 8, !tbaa !5
  %499 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %498)
  %.not277367 = icmp eq i32 %499, 0
  br i1 %.not277367, label %._crit_edge, label %.lr.ph

._crit_edge:                                      ; preds = %515, %495
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %34) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #11
  %500 = invoke { double, double } @_Z4sqrtRK12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %519 unwind label %530

501:                                              ; preds = %.lr.ph
  %502 = landingpad { ptr, i32 }
          cleanup
  br label %632

.lr.ph:                                           ; preds = %495, %515
  %indvars.iv = phi i64 [ %indvars.iv.next, %515 ], [ 0, %495 ]
  %503 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %87, i64 noundef %indvars.iv) #11
  %504 = load double, ptr %503, align 8, !tbaa !398
  %505 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %497, i64 noundef %indvars.iv) #11
  %506 = load double, ptr %505, align 8, !tbaa !398
  %507 = fsub double %504, %506
  %508 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv) #11
  store double %507, ptr %508, align 8, !tbaa !398
  %509 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv) #11
  %510 = load double, ptr %509, align 8, !tbaa !398
  %511 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv) #11
  %512 = load double, ptr %511, align 8, !tbaa !398
  %513 = fmul double %510, %512
  %514 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %33, double noundef %513)
          to label %515 unwind label %501

515:                                              ; preds = %.lr.ph
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %516 = load ptr, ptr %0, align 8, !tbaa !5
  %517 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %516)
  %518 = zext i32 %517 to i64
  %.not277 = icmp eq i64 %indvars.iv.next, %518
  br i1 %.not277, label %._crit_edge, label %.lr.ph, !llvm.loop !421

519:                                              ; preds = %._crit_edge
  %520 = extractvalue { double, double } %500, 0
  store double %520, ptr %35, align 8
  %521 = extractvalue { double, double } %500, 1
  store double %521, ptr %99, align 8
  %522 = invoke { double, double } @_ZdvdRK12HighsCDouble(double noundef 1.000000e+00, ptr noundef nonnull align 8 dereferenceable(16) %35)
          to label %523 unwind label %530

523:                                              ; preds = %519
  %524 = extractvalue { double, double } %522, 0
  store double %524, ptr %34, align 8
  %525 = extractvalue { double, double } %522, 1
  store double %525, ptr %100, align 8
  %526 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %34)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %36) #11
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %36, double noundef 0.000000e+00)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull align 8 dereferenceable(16) %36, i64 16, i1 false), !tbaa.struct !423
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %36) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %37) #11
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %37, double noundef 0.000000e+00)
  %527 = load ptr, ptr %0, align 8, !tbaa !5
  %528 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %527)
  %.not278369 = icmp eq i32 %528, 0
  br i1 %.not278369, label %._crit_edge373, label %.lr.ph372

._crit_edge373:                                   ; preds = %557, %523
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %39) #11
  %529 = invoke { double, double } @_Z4sqrtRK12HighsCDouble(ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %561 unwind label %571

530:                                              ; preds = %519, %._crit_edge
  %531 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %34) #11
  br label %632

532:                                              ; preds = %550, %.lr.ph372
  %533 = landingpad { ptr, i32 }
          cleanup
  br label %631

.lr.ph372:                                        ; preds = %523, %557
  %indvars.iv388 = phi i64 [ %indvars.iv.next389, %557 ], [ 0, %523 ]
  %534 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv388) #11
  %535 = load double, ptr %534, align 8, !tbaa !398
  %536 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv388) #11
  %537 = load double, ptr %536, align 8, !tbaa !398
  %538 = fneg double %537
  %539 = call double @llvm.fmuladd.f64(double %526, double %535, double %538)
  %540 = load i32, ptr %30, align 4, !tbaa !389
  %541 = sitofp i32 %540 to double
  %542 = fdiv double %539, %541
  %543 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv388) #11
  store double %542, ptr %543, align 8, !tbaa !398
  %544 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv388) #11
  %545 = load double, ptr %544, align 8, !tbaa !398
  %546 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv388) #11
  %547 = load double, ptr %546, align 8, !tbaa !398
  %548 = fmul double %545, %547
  %549 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %33, double noundef %548)
          to label %550 unwind label %532

550:                                              ; preds = %.lr.ph372
  %551 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %28, i64 noundef %indvars.iv388) #11
  %552 = load double, ptr %551, align 8, !tbaa !398
  %553 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %indvars.iv388) #11
  %554 = load double, ptr %553, align 8, !tbaa !398
  %555 = fmul double %552, %554
  %556 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZN12HighsCDoublepLEd(ptr noundef nonnull align 8 dereferenceable(16) %37, double noundef %555)
          to label %557 unwind label %532

557:                                              ; preds = %550
  %indvars.iv.next389 = add nuw nsw i64 %indvars.iv388, 1
  %558 = load ptr, ptr %0, align 8, !tbaa !5
  %559 = call noundef i32 @_ZNK14HighsMipSolver6numColEv(ptr noundef nonnull align 8 dereferenceable(496) %558)
  %560 = zext i32 %559 to i64
  %.not278 = icmp eq i64 %indvars.iv.next389, %560
  br i1 %.not278, label %._crit_edge373, label %.lr.ph372, !llvm.loop !424

561:                                              ; preds = %._crit_edge373
  %562 = extractvalue { double, double } %529, 0
  store double %562, ptr %39, align 8
  %563 = extractvalue { double, double } %529, 1
  store double %563, ptr %101, align 8
  %564 = invoke { double, double } @_ZNK12HighsCDoubledvERKS_(ptr noundef nonnull align 8 dereferenceable(16) %37, ptr noundef nonnull align 8 dereferenceable(16) %39)
          to label %565 unwind label %571

565:                                              ; preds = %561
  %566 = extractvalue { double, double } %564, 0
  store double %566, ptr %38, align 8
  %567 = extractvalue { double, double } %564, 1
  store double %567, ptr %102, align 8
  %568 = call noundef double @_ZNK12HighsCDoublecvdEv(ptr noundef nonnull align 8 dereferenceable(16) %38)
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #11
  %569 = load i32, ptr %30, align 4, !tbaa !389
  %570 = icmp eq i32 %569, 1
  br i1 %570, label %588, label %573

571:                                              ; preds = %561, %._crit_edge373
  %572 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #11
  br label %631

573:                                              ; preds = %565
  %574 = fmul double %568, 0x3FD5555555555555
  %575 = call double @llvm.fmuladd.f64(double %.0246374, double 0x3FE5555555555556, double %574)
  %576 = fmul double %.0246374, 1.010000e+00
  %577 = fcmp olt double %575, %576
  br i1 %577, label %578, label %588

578:                                              ; preds = %573
  %579 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %580 = load double, ptr %88, align 8, !tbaa !409
  %581 = fsub double %579, %580
  %582 = load double, ptr %89, align 8, !tbaa !410
  %583 = fsub double %582, %580
  %584 = fmul double %583, 1.001000e+00
  %585 = fcmp ugt double %581, %584
  br i1 %585, label %588, label %586

586:                                              ; preds = %578
  %587 = add nsw i32 %.0239375, 1
  br label %588

588:                                              ; preds = %586, %578, %573, %565
  %.1247 = phi double [ %568, %565 ], [ %575, %573 ], [ %575, %578 ], [ %575, %586 ]
  %.4243 = phi i32 [ %.0239375, %565 ], [ 0, %573 ], [ 0, %578 ], [ %587, %586 ]
  %589 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  store double %589, ptr %89, align 8, !tbaa !410
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #11
  store i32 10000, ptr %40, align 4, !tbaa !389
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #11
  %590 = load double, ptr %94, align 8, !tbaa !415
  %591 = fmul double %590, 1.000000e+01
  %592 = fptosi double %591 to i32
  store i32 %592, ptr %41, align 4, !tbaa !389
  %593 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %40, ptr noundef nonnull align 4 dereferenceable(4) %41)
  %594 = load i32, ptr %593, align 4, !tbaa !389
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %78, i32 noundef %594)
          to label %595 unwind label %600

595:                                              ; preds = %588
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #11
  %596 = load i32, ptr %32, align 4, !tbaa !389
  %597 = icmp eq i32 %596, 0
  br i1 %597, label %.thread329, label %602

.thread329:                                       ; preds = %595
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  br label %.critedge11

598:                                              ; preds = %619
  %599 = landingpad { ptr, i32 }
          cleanup
  br label %631

600:                                              ; preds = %588
  %601 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #11
  br label %631

602:                                              ; preds = %595
  %603 = load ptr, ptr %0, align 8, !tbaa !5
  %604 = getelementptr inbounds i8, ptr %603, i64 176
  %605 = load i8, ptr %604, align 8, !tbaa !377, !range !387, !noundef !388
  %606 = trunc nuw i8 %605 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %42) #11
  br i1 %606, label %.critedge13, label %607

607:                                              ; preds = %602
  %608 = load ptr, ptr %603, align 8, !tbaa !400
  %609 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %608) #11
  br i1 %609, label %610, label %.critedge13

610:                                              ; preds = %607
  %611 = load ptr, ptr %0, align 8, !tbaa !5
  %612 = load ptr, ptr %611, align 8, !tbaa !400
  %613 = getelementptr inbounds i8, ptr %612, i64 48
  %614 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %613, i64 noundef 9)
          to label %615 unwind label %626

615:                                              ; preds = %610
  %616 = extractvalue { ptr, i64 } %614, 0
  store ptr %616, ptr %42, align 8
  %617 = extractvalue { ptr, i64 } %614, 1
  store i64 %617, ptr %103, align 8
  %618 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %42) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #11
  br i1 %618, label %619, label %628

619:                                              ; preds = %615
  %620 = load ptr, ptr %0, align 8, !tbaa !5
  %621 = getelementptr inbounds i8, ptr %620, i64 224
  %622 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %621) #11
  %623 = load ptr, ptr %0, align 8, !tbaa !5
  %624 = getelementptr inbounds i8, ptr %623, i64 64
  %625 = load double, ptr %624, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %622, double noundef %625, i32 noundef 3)
          to label %628 unwind label %598

626:                                              ; preds = %610
  %627 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #11
  br label %631

.critedge13:                                      ; preds = %602, %607
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %42) #11
  br label %628

.thread325:                                       ; preds = %.invoke395
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  br label %.thread336

628:                                              ; preds = %619, %.critedge13, %615
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  %629 = load i32, ptr %16, align 4, !tbaa !406
  %630 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %629)
  br i1 %630, label %.lr.ph377, label %.critedge11

631:                                              ; preds = %571, %598, %600, %626, %532
  %.pn281 = phi { ptr, i32 } [ %533, %532 ], [ %599, %598 ], [ %627, %626 ], [ %601, %600 ], [ %572, %571 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %37) #11
  br label %632

632:                                              ; preds = %530, %631, %501
  %.pn284 = phi { ptr, i32 } [ %502, %501 ], [ %.pn281, %631 ], [ %531, %530 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %33) #11
  br label %633

633:                                              ; preds = %.loopexit348, %.loopexit.split-lp349, %632, %462
  %.pn286.pn = phi { ptr, i32 } [ %463, %462 ], [ %.pn284, %632 ], [ %lpad.loopexit350, %.loopexit348 ], [ %lpad.loopexit.split-lp351, %.loopexit.split-lp349 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #11
  br label %1056

.critedge11:                                      ; preds = %434, %628, %.lr.ph377, %451, %419, %.thread329
  %.6245 = phi i32 [ %.4243, %.thread329 ], [ 0, %419 ], [ %.0239375, %434 ], [ %.4243, %628 ], [ %.0239375, %.lr.ph377 ], [ -1, %451 ]
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 25)
          to label %634 unwind label %.loopexit.split-lp

634:                                              ; preds = %.critedge11
  %635 = load i8, ptr %77, align 8, !tbaa !394, !range !387, !noundef !388
  %636 = trunc nuw i8 %635 to i1
  br i1 %636, label %637, label %648

637:                                              ; preds = %634
  %638 = load ptr, ptr %0, align 8, !tbaa !5
  %639 = getelementptr inbounds i8, ptr %638, i64 8
  %640 = load ptr, ptr %639, align 8, !tbaa !395
  %641 = load ptr, ptr %98, align 8, !tbaa !419
  %642 = invoke noundef double @_ZNK10HighsTimer4readEi(ptr noundef nonnull align 8 dereferenceable(132) %641, i32 noundef 0)
          to label %643 unwind label %.loopexit.split-lp

643:                                              ; preds = %637
  %644 = getelementptr inbounds i8, ptr %640, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %644, i32 noundef 1, ptr noundef nonnull @.str.141, double noundef %642)
          to label %645 unwind label %.loopexit.split-lp

645:                                              ; preds = %643
  %646 = load ptr, ptr @stdout, align 8, !tbaa !420
  %647 = call i32 @fflush(ptr noundef %646)
  br label %648

648:                                              ; preds = %645, %634
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %78, i32 noundef 2147483647)
          to label %649 unwind label %.loopexit.split-lp

649:                                              ; preds = %648
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %650 unwind label %.loopexit.split-lp

650:                                              ; preds = %649
  %651 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %652 unwind label %.loopexit.split-lp

652:                                              ; preds = %650
  store i32 %651, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %653 unwind label %.loopexit.split-lp

653:                                              ; preds = %652
  %654 = load i32, ptr %16, align 4, !tbaa !406
  %655 = icmp eq i32 %654, 2
  br i1 %655, label %.invoke394, label %656

656:                                              ; preds = %653
  %657 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %658 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %657)
  %659 = getelementptr inbounds i8, ptr %658, i64 8
  %660 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIdSaIdEEaSERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %104, ptr noundef nonnull align 8 dereferenceable(24) %659)
          to label %661 unwind label %.loopexit.split-lp

661:                                              ; preds = %656
  %662 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  store double %662, ptr %89, align 8, !tbaa !410
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #11
  store i32 10000, ptr %43, align 4, !tbaa !389
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #11
  %663 = load double, ptr %94, align 8, !tbaa !415
  %664 = fmul double %663, 1.000000e+01
  %665 = fptosi double %664 to i32
  store i32 %665, ptr %44, align 4, !tbaa !389
  %666 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %43, ptr noundef nonnull align 4 dereferenceable(4) %44)
  %667 = load i32, ptr %666, align 4, !tbaa !389
  invoke void @_ZN17HighsLpRelaxation17setIterationLimitEi(ptr noundef nonnull align 8 dereferenceable(21425) %78, i32 noundef %667)
          to label %668 unwind label %674

668:                                              ; preds = %661
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  %669 = load i8, ptr %76, align 2, !tbaa !393, !range !387, !noundef !388
  %670 = trunc nuw i8 %669 to i1
  br i1 %670, label %.critedge320, label %671

671:                                              ; preds = %668
  %672 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %673 unwind label %.loopexit.split-lp

673:                                              ; preds = %671
  br i1 %672, label %.invoke394, label %676

674:                                              ; preds = %661
  %675 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #11
  br label %1056

676:                                              ; preds = %673
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 26)
          to label %677 unwind label %.loopexit.split-lp

677:                                              ; preds = %676
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %678 unwind label %.loopexit.split-lp

678:                                              ; preds = %677
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 26)
          to label %679 unwind label %.loopexit.split-lp

679:                                              ; preds = %678
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 27)
          to label %680 unwind label %.loopexit.split-lp

680:                                              ; preds = %679
  invoke void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %681 unwind label %.loopexit.split-lp

681:                                              ; preds = %680
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 27)
          to label %682 unwind label %.loopexit.split-lp

682:                                              ; preds = %681
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %683 unwind label %.loopexit.split-lp

683:                                              ; preds = %682
  %684 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %685 unwind label %.loopexit.split-lp

685:                                              ; preds = %683
  br i1 %684, label %.invoke394, label %686

686:                                              ; preds = %685
  %687 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
  %688 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %687) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %689 unwind label %696

689:                                              ; preds = %686
  %690 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %691 unwind label %696

691:                                              ; preds = %689
  store i32 %690, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %692 unwind label %696

692:                                              ; preds = %691
  %693 = load i32, ptr %16, align 4, !tbaa !406
  %694 = icmp eq i32 %693, 2
  br i1 %694, label %695, label %698

695:                                              ; preds = %692
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %696

696:                                              ; preds = %695, %691, %689, %686
  %697 = landingpad { ptr, i32 }
          cleanup
  br label %1056

698:                                              ; preds = %692
  br i1 %688, label %.critedge320, label %699

699:                                              ; preds = %698
  %700 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %693)
  br i1 %700, label %701, label %.critedge320

701:                                              ; preds = %699
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 28)
          to label %702 unwind label %707

702:                                              ; preds = %701
  %703 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 4 dereferenceable(4) %45, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %704 unwind label %709

704:                                              ; preds = %702
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 28)
          to label %705 unwind label %709

705:                                              ; preds = %704
  br i1 %703, label %706, label %711

706:                                              ; preds = %705
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread331 unwind label %709

.thread331:                                       ; preds = %706
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #11
  br label %.thread336

707:                                              ; preds = %701
  %708 = landingpad { ptr, i32 }
          cleanup
  br label %715

709:                                              ; preds = %711, %706, %704, %702
  %710 = landingpad { ptr, i32 }
          cleanup
  br label %715

711:                                              ; preds = %705
  %712 = load i32, ptr %30, align 4, !tbaa !389
  %713 = add nsw i32 %712, 1
  store i32 %713, ptr %30, align 4, !tbaa !389
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %714 unwind label %709

714:                                              ; preds = %711
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #11
  br label %.critedge320

715:                                              ; preds = %709, %707
  %.pn289 = phi { ptr, i32 } [ %710, %709 ], [ %708, %707 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #11
  br label %1056

.critedge320:                                     ; preds = %714, %698, %699, %668
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %716 unwind label %.loopexit.split-lp

716:                                              ; preds = %.critedge320
  %717 = load ptr, ptr %0, align 8, !tbaa !5
  %718 = getelementptr inbounds i8, ptr %717, i64 176
  %719 = load i8, ptr %718, align 8, !tbaa !377, !range !387, !noundef !388
  %720 = trunc nuw i8 %719 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %46) #11
  br i1 %720, label %.critedge15, label %721

721:                                              ; preds = %716
  %722 = load ptr, ptr %717, align 8, !tbaa !400
  %723 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %722) #11
  br i1 %723, label %724, label %.critedge15

724:                                              ; preds = %721
  %725 = load ptr, ptr %0, align 8, !tbaa !5
  %726 = load ptr, ptr %725, align 8, !tbaa !400
  %727 = getelementptr inbounds i8, ptr %726, i64 48
  %728 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %727, i64 noundef 9)
          to label %729 unwind label %740

729:                                              ; preds = %724
  %730 = extractvalue { ptr, i64 } %728, 0
  store ptr %730, ptr %46, align 8
  %731 = extractvalue { ptr, i64 } %728, 1
  store i64 %731, ptr %105, align 8
  %732 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %46) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #11
  br i1 %732, label %733, label %742

733:                                              ; preds = %729
  %734 = load ptr, ptr %0, align 8, !tbaa !5
  %735 = getelementptr inbounds i8, ptr %734, i64 224
  %736 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %735) #11
  %737 = load ptr, ptr %0, align 8, !tbaa !5
  %738 = getelementptr inbounds i8, ptr %737, i64 64
  %739 = load double, ptr %738, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %736, double noundef %739, i32 noundef 4)
          to label %742 unwind label %.loopexit.split-lp

740:                                              ; preds = %724
  %741 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #11
  br label %1056

.critedge15:                                      ; preds = %716, %721
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %46) #11
  br label %742

742:                                              ; preds = %733, %.critedge15, %729
  %743 = load ptr, ptr %0, align 8, !tbaa !5
  %744 = getelementptr inbounds i8, ptr %743, i64 176
  %745 = load i8, ptr %744, align 8, !tbaa !377, !range !387, !noundef !388
  %746 = trunc nuw i8 %745 to i1
  br i1 %746, label %757, label %747

747:                                              ; preds = %742
  %748 = load ptr, ptr %743, align 8, !tbaa !400
  %749 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %748) #11
  br i1 %749, label %750, label %757

750:                                              ; preds = %747
  %751 = load ptr, ptr %0, align 8, !tbaa !5
  %752 = load ptr, ptr %751, align 8, !tbaa !400
  %753 = invoke noundef zeroext i1 @_ZN13HighsCallback14callbackActiveEi(ptr noundef nonnull align 8 dereferenceable(256) %752, i32 noundef 7)
          to label %754 unwind label %.loopexit.split-lp

754:                                              ; preds = %750
  br i1 %753, label %755, label %757

755:                                              ; preds = %754
  %756 = load ptr, ptr %0, align 8, !tbaa !5
  invoke void @_ZNK14HighsMipSolver18callbackGetCutPoolEv(ptr noundef nonnull align 8 dereferenceable(496) %756)
          to label %757 unwind label %.loopexit.split-lp

757:                                              ; preds = %755, %754, %747, %742
  %758 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %759 unwind label %.loopexit.split-lp

759:                                              ; preds = %757
  br i1 %758, label %.invoke394, label %760

760:                                              ; preds = %759
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 35)
          to label %761 unwind label %.loopexit.split-lp

761:                                              ; preds = %760
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 36)
          to label %762 unwind label %.loopexit.split-lp

762:                                              ; preds = %761
  %763 = call noundef zeroext i1 @_ZNKSt6vectorIdSaIdEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %104) #11
  br i1 %763, label %900, label %764

764:                                              ; preds = %762
  %765 = load double, ptr %80, align 8, !tbaa !396
  %766 = fcmp une double %765, 0x7FF0000000000000
  br i1 %766, label %767, label %770

767:                                              ; preds = %764
  %768 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %769 unwind label %.loopexit.split-lp

769:                                              ; preds = %767
  br i1 %768, label %770, label %900

770:                                              ; preds = %769, %764
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 29)
          to label %771 unwind label %.loopexit.split-lp

771:                                              ; preds = %770
  invoke void @_ZN21HighsPrimalHeuristics15rootReducedCostEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %772 unwind label %.loopexit.split-lp

772:                                              ; preds = %771
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 29)
          to label %773 unwind label %.loopexit.split-lp

773:                                              ; preds = %772
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %774 unwind label %.loopexit.split-lp

774:                                              ; preds = %773
  %775 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %776 unwind label %.loopexit.split-lp

776:                                              ; preds = %774
  br i1 %775, label %.invoke394, label %777

777:                                              ; preds = %776
  %778 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
  %779 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %778) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %780 unwind label %786

780:                                              ; preds = %777
  %781 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %782 unwind label %786

782:                                              ; preds = %780
  store i32 %781, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %783 unwind label %786

783:                                              ; preds = %782
  %784 = load i32, ptr %16, align 4, !tbaa !406
  %785 = icmp eq i32 %784, 2
  br i1 %785, label %.invoke396, label %788

786:                                              ; preds = %.invoke396, %896, %894, %893, %890, %889, %888, %887, %886, %883, %827, %825, %822, %819, %818, %817, %816, %815, %812, %809, %782, %780, %777
  %787 = landingpad { ptr, i32 }
          cleanup
  br label %1056

788:                                              ; preds = %783
  br i1 %779, label %806, label %789

789:                                              ; preds = %788
  %790 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %784)
  br i1 %790, label %791, label %806

791:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 30)
          to label %792 unwind label %797

792:                                              ; preds = %791
  %793 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 4 dereferenceable(4) %47, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %794 unwind label %799

794:                                              ; preds = %792
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 30)
          to label %795 unwind label %799

795:                                              ; preds = %794
  br i1 %793, label %796, label %801

796:                                              ; preds = %795
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread332 unwind label %799

.thread332:                                       ; preds = %796
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #11
  br label %.thread336

797:                                              ; preds = %791
  %798 = landingpad { ptr, i32 }
          cleanup
  br label %805

799:                                              ; preds = %801, %796, %794, %792
  %800 = landingpad { ptr, i32 }
          cleanup
  br label %805

801:                                              ; preds = %795
  %802 = load i32, ptr %30, align 4, !tbaa !389
  %803 = add nsw i32 %802, 1
  store i32 %803, ptr %30, align 4, !tbaa !389
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %804 unwind label %799

804:                                              ; preds = %801
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #11
  br label %806

805:                                              ; preds = %799, %797
  %.pn293 = phi { ptr, i32 } [ %800, %799 ], [ %798, %797 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #11
  br label %1056

806:                                              ; preds = %804, %789, %788
  %807 = load double, ptr %80, align 8, !tbaa !396
  %808 = fcmp une double %807, 0x7FF0000000000000
  br i1 %808, label %809, label %812

809:                                              ; preds = %806
  %810 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData21moreHeuristicsAllowedEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %811 unwind label %786

811:                                              ; preds = %809
  br i1 %810, label %812, label %900

812:                                              ; preds = %811, %806
  %813 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %814 unwind label %786

814:                                              ; preds = %812
  br i1 %813, label %.invoke396, label %815

815:                                              ; preds = %814
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 31)
          to label %816 unwind label %786

816:                                              ; preds = %815
  invoke void @_ZN21HighsPrimalHeuristics4RENSERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104) %96, ptr noundef nonnull align 8 dereferenceable(24) %104)
          to label %817 unwind label %786

817:                                              ; preds = %816
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 31)
          to label %818 unwind label %786

818:                                              ; preds = %817
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %819 unwind label %786

819:                                              ; preds = %818
  %820 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %821 unwind label %786

821:                                              ; preds = %819
  br i1 %820, label %.invoke396, label %822

822:                                              ; preds = %821
  %823 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
  %824 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %823) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %825 unwind label %786

825:                                              ; preds = %822
  %826 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %827 unwind label %786

827:                                              ; preds = %825
  store i32 %826, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %828 unwind label %786

828:                                              ; preds = %827
  %829 = load i32, ptr %16, align 4, !tbaa !406
  %830 = icmp eq i32 %829, 2
  br i1 %830, label %.invoke396, label %831

831:                                              ; preds = %828
  br i1 %824, label %875, label %832

832:                                              ; preds = %831
  %833 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %829)
  br i1 %833, label %834, label %875

834:                                              ; preds = %832
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 32)
          to label %835 unwind label %840

835:                                              ; preds = %834
  %836 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %837 unwind label %842

837:                                              ; preds = %835
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 32)
          to label %838 unwind label %842

838:                                              ; preds = %837
  br i1 %836, label %839, label %844

839:                                              ; preds = %838
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %873 unwind label %842

840:                                              ; preds = %834
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %874

842:                                              ; preds = %864, %844, %839, %837, %835
  %843 = landingpad { ptr, i32 }
          cleanup
  br label %874

844:                                              ; preds = %838
  %845 = load i32, ptr %30, align 4, !tbaa !389
  %846 = add nsw i32 %845, 1
  store i32 %846, ptr %30, align 4, !tbaa !389
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %847 unwind label %842

847:                                              ; preds = %844
  %848 = load ptr, ptr %0, align 8, !tbaa !5
  %849 = getelementptr inbounds i8, ptr %848, i64 176
  %850 = load i8, ptr %849, align 8, !tbaa !377, !range !387, !noundef !388
  %851 = trunc nuw i8 %850 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #11
  br i1 %851, label %.critedge17, label %852

852:                                              ; preds = %847
  %853 = load ptr, ptr %848, align 8, !tbaa !400
  %854 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %853) #11
  br i1 %854, label %855, label %.critedge17

855:                                              ; preds = %852
  %856 = load ptr, ptr %0, align 8, !tbaa !5
  %857 = load ptr, ptr %856, align 8, !tbaa !400
  %858 = getelementptr inbounds i8, ptr %857, i64 48
  %859 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %858, i64 noundef 9)
          to label %860 unwind label %871

860:                                              ; preds = %855
  %861 = extractvalue { ptr, i64 } %859, 0
  store ptr %861, ptr %49, align 8
  %862 = extractvalue { ptr, i64 } %859, 1
  store i64 %862, ptr %106, align 8
  %863 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %49) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #11
  br i1 %863, label %864, label %.thread334

864:                                              ; preds = %860
  %865 = load ptr, ptr %0, align 8, !tbaa !5
  %866 = getelementptr inbounds i8, ptr %865, i64 224
  %867 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %866) #11
  %868 = load ptr, ptr %0, align 8, !tbaa !5
  %869 = getelementptr inbounds i8, ptr %868, i64 64
  %870 = load double, ptr %869, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %867, double noundef %870, i32 noundef 5)
          to label %.thread334 unwind label %842

871:                                              ; preds = %855
  %872 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #11
  br label %874

.critedge17:                                      ; preds = %847, %852
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #11
  br label %.thread334

.thread334:                                       ; preds = %860, %.critedge17, %864
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #11
  br label %875

873:                                              ; preds = %839
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #11
  br label %.thread336

874:                                              ; preds = %842, %871, %840
  %.pn295.pn = phi { ptr, i32 } [ %841, %840 ], [ %843, %842 ], [ %872, %871 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #11
  br label %1056

875:                                              ; preds = %.thread334, %832, %831
  %876 = load double, ptr %80, align 8, !tbaa !396
  %877 = fcmp une double %876, 0x7FF0000000000000
  br i1 %877, label %900, label %878

878:                                              ; preds = %875
  %879 = load ptr, ptr %0, align 8, !tbaa !5
  %880 = getelementptr inbounds i8, ptr %879, i64 176
  %881 = load i8, ptr %880, align 8, !tbaa !377, !range !387, !noundef !388
  %882 = trunc nuw i8 %881 to i1
  br i1 %882, label %900, label %883

883:                                              ; preds = %878
  %884 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %885 unwind label %786

885:                                              ; preds = %883
  br i1 %884, label %.invoke396, label %886

886:                                              ; preds = %885
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 33)
          to label %887 unwind label %786

887:                                              ; preds = %886
  invoke void @_ZN21HighsPrimalHeuristics15feasibilityPumpEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %888 unwind label %786

888:                                              ; preds = %887
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 33)
          to label %889 unwind label %786

889:                                              ; preds = %888
  invoke void @_ZN21HighsPrimalHeuristics15flushStatisticsEv(ptr noundef nonnull align 8 dereferenceable(104) %96)
          to label %890 unwind label %786

890:                                              ; preds = %889
  %891 = invoke noundef zeroext i1 @_ZNK18HighsMipSolverData11checkLimitsEl(ptr noundef nonnull align 8 dereferenceable(26801) %0, i64 noundef 0)
          to label %892 unwind label %786

892:                                              ; preds = %890
  br i1 %891, label %.invoke396, label %893

893:                                              ; preds = %892
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %894 unwind label %786

894:                                              ; preds = %893
  %895 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %896 unwind label %786

896:                                              ; preds = %894
  store i32 %895, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %897 unwind label %786

897:                                              ; preds = %896
  %898 = load i32, ptr %16, align 4, !tbaa !406
  %899 = icmp eq i32 %898, 2
  br i1 %899, label %.invoke396, label %900

.invoke396:                                       ; preds = %783, %897, %892, %885, %828, %821, %814
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %786

900:                                              ; preds = %811, %878, %875, %897, %769, %762
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 36)
          to label %901 unwind label %.loopexit.split-lp

901:                                              ; preds = %900
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 37)
          to label %902 unwind label %.loopexit.split-lp

902:                                              ; preds = %901
  %903 = load double, ptr %81, align 8, !tbaa !397
  %904 = load double, ptr %80, align 8, !tbaa !396
  %905 = fcmp ogt double %903, %904
  br i1 %905, label %906, label %911

906:                                              ; preds = %902
  %907 = load ptr, ptr %0, align 8, !tbaa !5
  %908 = getelementptr inbounds i8, ptr %907, i64 32
  store i32 7, ptr %908, align 8, !tbaa !418
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %50) #11
  call void @_ZN12HighsCDoubleC2Ed(ptr noundef nonnull align 8 dereferenceable(16) %50, double noundef 1.000000e+00)
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %110, ptr noundef nonnull align 8 dereferenceable(16) %50, i64 16, i1 false), !tbaa.struct !423
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %50) #11
  %909 = load <2 x i64>, ptr %111, align 8, !tbaa !425
  %910 = add nsw <2 x i64> %909, <i64 1, i64 1>
  store <2 x i64> %910, ptr %111, align 8, !tbaa !425
  br label %.invoke394

911:                                              ; preds = %902
  %912 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %79)
  %913 = call noundef zeroext i1 @_ZNKSt6vectorIiSaIiEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %912) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %914 unwind label %920

914:                                              ; preds = %911
  %915 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %916 unwind label %920

916:                                              ; preds = %914
  store i32 %915, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %917 unwind label %920

917:                                              ; preds = %916
  %918 = load i32, ptr %16, align 4, !tbaa !406
  %919 = icmp eq i32 %918, 2
  br i1 %919, label %.invoke397, label %922

920:                                              ; preds = %.invoke397, %1054, %1042, %1040, %1039, %1038, %998, %997, %996, %973, %972, %966, %957, %916, %914, %911
  %921 = landingpad { ptr, i32 }
          cleanup
  br label %1056

922:                                              ; preds = %917
  br i1 %913, label %940, label %923

923:                                              ; preds = %922
  %924 = call noundef zeroext i1 @_ZN17HighsLpRelaxation13scaledOptimalENS_6StatusE(i32 noundef %918)
  br i1 %924, label %925, label %940

925:                                              ; preds = %923
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #11
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 34)
          to label %926 unwind label %931

926:                                              ; preds = %925
  %927 = invoke noundef zeroext i1 @_ZN18HighsMipSolverData19rootSeparationRoundER15HighsSeparationRiRN17HighsLpRelaxation6StatusE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(184) %31, ptr noundef nonnull align 4 dereferenceable(4) %51, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %928 unwind label %933

928:                                              ; preds = %926
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 34)
          to label %929 unwind label %933

929:                                              ; preds = %928
  br i1 %927, label %930, label %935

930:                                              ; preds = %929
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread338 unwind label %933

.thread338:                                       ; preds = %930
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #11
  br label %.thread336

931:                                              ; preds = %925
  %932 = landingpad { ptr, i32 }
          cleanup
  br label %939

933:                                              ; preds = %935, %930, %928, %926
  %934 = landingpad { ptr, i32 }
          cleanup
  br label %939

935:                                              ; preds = %929
  %936 = load i32, ptr %30, align 4, !tbaa !389
  %937 = add nsw i32 %936, 1
  store i32 %937, ptr %30, align 4, !tbaa !389
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %938 unwind label %933

938:                                              ; preds = %935
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #11
  br label %940

939:                                              ; preds = %933, %931
  %.pn300 = phi { ptr, i32 } [ %934, %933 ], [ %932, %931 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #11
  br label %1056

940:                                              ; preds = %938, %923, %922
  %941 = load ptr, ptr %0, align 8, !tbaa !5
  %942 = getelementptr inbounds i8, ptr %941, i64 176
  %943 = load i8, ptr %942, align 8, !tbaa !377, !range !387, !noundef !388
  %944 = trunc nuw i8 %943 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %52) #11
  br i1 %944, label %.critedge19, label %945

945:                                              ; preds = %940
  %946 = load ptr, ptr %941, align 8, !tbaa !400
  %947 = call noundef zeroext i1 @_ZNKSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEEcvbEv(ptr noundef nonnull align 8 dereferenceable(32) %946) #11
  br i1 %947, label %948, label %.critedge19

948:                                              ; preds = %945
  %949 = load ptr, ptr %0, align 8, !tbaa !5
  %950 = load ptr, ptr %949, align 8, !tbaa !400
  %951 = getelementptr inbounds i8, ptr %950, i64 48
  %952 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %951, i64 noundef 9)
          to label %953 unwind label %964

953:                                              ; preds = %948
  %954 = extractvalue { ptr, i64 } %952, 0
  store ptr %954, ptr %52, align 8
  %955 = extractvalue { ptr, i64 } %952, 1
  store i64 %955, ptr %107, align 8
  %956 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %52) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #11
  br i1 %956, label %957, label %966

957:                                              ; preds = %953
  %958 = load ptr, ptr %0, align 8, !tbaa !5
  %959 = getelementptr inbounds i8, ptr %958, i64 224
  %960 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %959) #11
  %961 = load ptr, ptr %0, align 8, !tbaa !5
  %962 = getelementptr inbounds i8, ptr %961, i64 64
  %963 = load double, ptr %962, align 8, !tbaa !401
  invoke void @_ZN18HighsMipSolverData20callbackUserSolutionEdi(ptr noundef nonnull align 8 dereferenceable(26801) %960, double noundef %963, i32 noundef 6)
          to label %966 unwind label %920

964:                                              ; preds = %948
  %965 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #11
  br label %1056

.critedge19:                                      ; preds = %940, %945
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %52) #11
  br label %966

966:                                              ; preds = %957, %.critedge19, %953
  invoke void @_ZN18HighsMipSolverData18removeFixedIndicesEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %967 unwind label %920

967:                                              ; preds = %966
  %968 = call noundef nonnull align 8 dereferenceable(20928) ptr @_ZN17HighsLpRelaxation11getLpSolverEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  %969 = call noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928) %968)
  %970 = load i8, ptr %969, align 8, !tbaa !411, !range !387, !noundef !388
  %971 = trunc nuw i8 %970 to i1
  br i1 %971, label %972, label %973

972:                                              ; preds = %967
  invoke void @_ZN17HighsLpRelaxation18removeObsoleteRowsEb(ptr noundef nonnull align 8 dereferenceable(21425) %78, i1 noundef zeroext true)
          to label %973 unwind label %920

973:                                              ; preds = %972, %967
  %974 = call noundef double @_ZNK17HighsLpRelaxation12getObjectiveEv(ptr noundef nonnull align 8 dereferenceable(21425) %78)
  store double %974, ptr %89, align 8, !tbaa !410
  invoke void @_ZN18HighsMipSolverData16printDisplayLineEi(ptr noundef nonnull align 8 dereferenceable(26801) %0, i32 noundef -1)
          to label %975 unwind label %920

975:                                              ; preds = %973
  %976 = load double, ptr %81, align 8, !tbaa !397
  %977 = load double, ptr %80, align 8, !tbaa !396
  %978 = fcmp ugt double %976, %977
  br i1 %978, label %1054, label %979

979:                                              ; preds = %975
  %980 = load ptr, ptr %0, align 8, !tbaa !5
  %981 = getelementptr inbounds i8, ptr %980, i64 176
  %982 = load i8, ptr %981, align 8, !tbaa !377, !range !387, !noundef !388
  %983 = trunc nuw i8 %982 to i1
  br i1 %983, label %.thread339, label %984

984:                                              ; preds = %979
  %985 = getelementptr inbounds i8, ptr %980, i64 8
  %986 = load ptr, ptr %985, align 8, !tbaa !395
  %987 = getelementptr inbounds i8, ptr %986, i64 763
  %988 = load i8, ptr %987, align 1, !tbaa !416, !range !387, !noundef !388
  %989 = trunc nuw i8 %988 to i1
  br i1 %989, label %990, label %.thread339

990:                                              ; preds = %984
  %991 = getelementptr inbounds i8, ptr %986, i64 8
  %992 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EESA_(ptr noundef nonnull align 8 dereferenceable(32) %991, ptr noundef nonnull align 8 dereferenceable(32) @_ZL15kHighsOffStringB5cxx11) #11
  br i1 %992, label %993, label %.thread339

993:                                              ; preds = %990
  %994 = load i8, ptr %76, align 2, !tbaa !393, !range !387, !noundef !388
  %995 = trunc nuw i8 %994 to i1
  br i1 %995, label %999, label %996

996:                                              ; preds = %993
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 26)
          to label %997 unwind label %920

997:                                              ; preds = %996
  invoke void @_ZN18HighsMipSolverData31finishAnalyticCenterComputationERKN5highs8parallel9TaskGroupE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %998 unwind label %920

998:                                              ; preds = %997
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 26)
          to label %999 unwind label %920

999:                                              ; preds = %998, %993
  %1000 = invoke noundef double @_ZNK18HighsMipSolverData26percentageInactiveIntegersEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %1001 unwind label %1023

1001:                                             ; preds = %999
  %1002 = load ptr, ptr %0, align 8, !tbaa !5
  %1003 = getelementptr inbounds i8, ptr %1002, i64 176
  %1004 = load i8, ptr %1003, align 8, !tbaa !377, !range !387, !noundef !388
  %1005 = uitofp nneg i8 %1004 to double
  %1006 = call double @llvm.fmuladd.f64(double %1005, double 7.500000e+00, double 2.500000e+00)
  %1007 = fcmp ult double %1000, %1006
  br i1 %1007, label %1008, label %1013

1008:                                             ; preds = %1001
  %1009 = trunc nuw i8 %1004 to i1
  %1010 = fcmp ule double %1000, 0.000000e+00
  %or.cond21.not = or i1 %1010, %1009
  %1011 = load i32, ptr %60, align 4
  %1012 = icmp ne i32 %1011, 0
  %or.cond322.not = select i1 %or.cond21.not, i1 true, i1 %1012
  br i1 %or.cond322.not, label %.thread339, label %1013

1013:                                             ; preds = %1008, %1001
  invoke void @_ZN5highs8parallel9TaskGroup6cancelEv(ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %1014 unwind label %1023

1014:                                             ; preds = %1013
  %1015 = load ptr, ptr %0, align 8, !tbaa !5
  %1016 = getelementptr inbounds i8, ptr %1015, i64 8
  %1017 = load ptr, ptr %1016, align 8, !tbaa !395
  %1018 = getelementptr inbounds i8, ptr %1017, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1018, i32 noundef 1, ptr noundef nonnull @.str.139, double noundef %1000)
          to label %1019 unwind label %1023

1019:                                             ; preds = %1014
  %.not = icmp eq i32 %.6245, -1
  br i1 %.not, label %1025, label %1020

1020:                                             ; preds = %1019
  %1021 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %2, ptr noundef nonnull align 4 dereferenceable(4) %30)
  %1022 = load i32, ptr %1021, align 4, !tbaa !389
  store i32 %1022, ptr %2, align 4, !tbaa !389
  br label %1025

1023:                                             ; preds = %1029, %1028, %1027, %1026, %1025, %1014, %1013, %999
  %1024 = landingpad { ptr, i32 }
          cleanup
  br label %1056

1025:                                             ; preds = %1020, %1019
  invoke void @_ZNK5highs8parallel9TaskGroup8taskWaitEv(ptr noundef nonnull align 8 dereferenceable(12) %5)
          to label %1026 unwind label %1023

1026:                                             ; preds = %1025
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 24)
          to label %1027 unwind label %1023

1027:                                             ; preds = %1026
  invoke void @_ZN18HighsMipSolverData14performRestartEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %1028 unwind label %1023

1028:                                             ; preds = %1027
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 24)
          to label %1029 unwind label %1023

1029:                                             ; preds = %1028
  %1030 = load i32, ptr %97, align 8, !tbaa !417
  %1031 = add nsw i32 %1030, 1
  store i32 %1031, ptr %97, align 8, !tbaa !417
  %1032 = load ptr, ptr %0, align 8, !tbaa !5
  %1033 = getelementptr inbounds i8, ptr %1032, i64 32
  %1034 = load i32, ptr %1033, align 8, !tbaa !418
  %1035 = icmp eq i32 %1034, 0
  %. = select i1 %1035, i32 2, i32 1
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %1023

.thread339:                                       ; preds = %1008, %990, %984, %979
  %1036 = load i8, ptr %75, align 8, !tbaa !392, !range !387, !noundef !388
  %1037 = trunc nuw i8 %1036 to i1
  br i1 %1037, label %1038, label %1046

1038:                                             ; preds = %.thread339
  invoke void @_ZN18HighsMipSolverData23finishSymmetryDetectionERKN5highs8parallel9TaskGroupERSt10unique_ptrINS_21SymmetryDetectionDataESt14default_deleteIS6_EE(ptr noundef nonnull align 8 dereferenceable(26801) %0, ptr noundef nonnull align 8 dereferenceable(12) %5, ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %1039 unwind label %920

1039:                                             ; preds = %1038
  invoke void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %1040 unwind label %920

1040:                                             ; preds = %1039
  %1041 = invoke noundef i32 @_ZN18HighsMipSolverData14evaluateRootLpEv(ptr noundef nonnull align 8 dereferenceable(26801) %0)
          to label %1042 unwind label %920

1042:                                             ; preds = %1040
  store i32 %1041, ptr %16, align 4, !tbaa !406
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %74, i32 noundef 21)
          to label %1043 unwind label %920

1043:                                             ; preds = %1042
  %1044 = load i32, ptr %16, align 4, !tbaa !406
  %1045 = icmp eq i32 %1044, 2
  br i1 %1045, label %.invoke397, label %1046

.invoke397:                                       ; preds = %917, %1043
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %920

1046:                                             ; preds = %1043, %.thread339
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %53, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %54, i8 0, i64 24, i1 false)
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #11
  %1047 = load double, ptr %81, align 8, !tbaa !397
  %1048 = invoke noundef double @_ZNK17HighsLpRelaxation19computeBestEstimateERK15HighsPseudocost(ptr noundef nonnull align 8 dereferenceable(21425) %78, ptr noundef nonnull align 8 dereferenceable(360) %108)
          to label %1049 unwind label %1052

1049:                                             ; preds = %1046
  %1050 = invoke noundef double @_ZN14HighsNodeQueue11emplaceNodeEOSt6vectorI17HighsDomainChangeSaIS1_EEOS0_IiSaIiEEddi(ptr noundef nonnull align 8 dereferenceable(148) %109, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54, double noundef %1047, double noundef %1048, i32 noundef 1)
          to label %1051 unwind label %1052

1051:                                             ; preds = %1049
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #11
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #11
  br label %1054

1052:                                             ; preds = %1049, %1046
  %1053 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %54) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #11
  call void @_ZNSt6vectorI17HighsDomainChangeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %53) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #11
  br label %1056

1054:                                             ; preds = %1051, %975
  invoke void @_Z8clockOffR16HighsMipAnalysis(ptr noundef nonnull align 8 dereferenceable(128) %74)
          to label %.thread336 unwind label %920

.thread336:                                       ; preds = %.invoke397, %.invoke396, %.invoke394, %.thread332, %873, %1029, %.thread338, %.thread331, %.thread325, %1054, %695
  %.13237 = phi i32 [ 1, %695 ], [ 0, %1054 ], [ 1, %.thread325 ], [ 1, %.thread331 ], [ 1, %.thread338 ], [ %., %1029 ], [ 1, %873 ], [ 1, %.thread332 ], [ 1, %.invoke394 ], [ 1, %.invoke396 ], [ 1, %.invoke397 ]
  call void @_ZN15HighsSeparationD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %31) #11
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #11
  br label %1055

.thread343:                                       ; preds = %.invoke, %340
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #11
  br label %.loopexit363

1055:                                             ; preds = %386, %.thread336
  %.14238 = phi i32 [ %.13237, %.thread336 ], [ %.323, %386 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #11
  %cond1 = icmp eq i32 %.14238, 2
  br i1 %cond1, label %112, label %.loopexit363

.loopexit363:                                     ; preds = %1055, %.thread343
  call void @_ZN5highs8parallel9TaskGroupD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %5) #11
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #11
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #11
  ret void

1056:                                             ; preds = %.loopexit, %.loopexit.split-lp, %920, %939, %964, %1023, %1052, %786, %805, %874, %696, %715, %740, %674, %633, %453
  %.pn305 = phi { ptr, i32 } [ %741, %740 ], [ %675, %674 ], [ %.pn286.pn, %633 ], [ %454, %453 ], [ %697, %696 ], [ %.pn289, %715 ], [ %787, %786 ], [ %.pn295.pn, %874 ], [ %.pn293, %805 ], [ %921, %920 ], [ %1053, %1052 ], [ %1024, %1023 ], [ %965, %964 ], [ %.pn300, %939 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZN15HighsSeparationD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %31) #11
  br label %1057

1057:                                             ; preds = %1056, %432
  %.pn305.pn = phi { ptr, i32 } [ %.pn305, %1056 ], [ %433, %432 ]
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #11
  br label %1058

1058:                                             ; preds = %1057, %430
  %.pn305.pn.pn = phi { ptr, i32 } [ %.pn305.pn, %1057 ], [ %431, %430 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #11
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #11
  br label %1059

1059:                                             ; preds = %.loopexit353, %.loopexit.split-lp354, %1058, %393, %358, %339, %319, %317, %287, %282, %277
  %.pn309 = phi { ptr, i32 } [ %.pn305.pn.pn, %1058 ], [ %394, %393 ], [ %359, %358 ], [ %lpad.phi362, %339 ], [ %320, %319 ], [ %318, %317 ], [ %.pn271, %287 ], [ %.pn269, %282 ], [ %.pn267, %277 ], [ %lpad.loopexit355, %.loopexit353 ], [ %lpad.loopexit.split-lp356, %.loopexit.split-lp354 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #11
  br label %1060

1060:                                             ; preds = %157, %1059, %248, %226, %217, %200, %186, %159, %121
  %.pn309.pn.pn.pn = phi { ptr, i32 } [ %122, %121 ], [ %158, %157 ], [ %.pn309, %1059 ], [ %160, %159 ], [ %.pn265, %248 ], [ %.pn262, %200 ], [ %.pn260, %217 ], [ %.pn, %226 ], [ %187, %186 ]
  call void @_ZN5highs8parallel9TaskGroupD2Ev(ptr noundef nonnull align 8 dereferenceable(12) %5) #11
  br label %1061

1061:                                             ; preds = %1060, %119
  %.pn309.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn309.pn.pn.pn, %1060 ], [ %120, %119 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %5) #11
  call void @_ZNSt10unique_ptrIN18HighsMipSolverData21SymmetryDetectionDataESt14default_deleteIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(8) %4) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %2) #11
  resume { ptr, i32 } %.pn309.pn.pn.pn.pn
}

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt4sqrtIiEN9__gnu_cxx11__enable_ifIXsr12__is_integerIT_EE7__valueEdE6__typeES2_(i32 noundef) local_unnamed_addr #8

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

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

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

declare void @_ZN17HighsLpRelaxation9loadModelEv(ptr noundef nonnull align 8 dereferenceable(21425)) local_unnamed_addr #5

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

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

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

declare noundef i32 @_ZN5Highs8setBasisERK10HighsBasisRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928), ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; Function Attrs: mustprogress nounwind 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 noundef nonnull align 8 dereferenceable(96) ptr @_ZNK5Highs8getBasisEv(ptr noundef nonnull align 8 dereferenceable(20928)) local_unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef nonnull align 8 dereferenceable(96) ptr @_ZN10HighsBasisaSERKS_(ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(96)) local_unnamed_addr #10 align 2

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

declare void @_ZN12HighsCutPool26separateLpCutsAfterRestartER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(680), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #5

declare void @_ZN17HighsLpRelaxation7addCutsER11HighsCutSet(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(144)) local_unnamed_addr #5

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

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

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

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

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

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

declare void @_ZN15HighsSeparationC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #5

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

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

declare void @_ZN21HighsPrimalHeuristics15centralRoundingEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #5

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

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

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

declare noundef zeroext i1 @_ZN13HighsCallback14callbackActiveEi(ptr noundef nonnull align 8 dereferenceable(256), i32 noundef) local_unnamed_addr #5

declare void @_ZNK14HighsMipSolver18callbackGetCutPoolEv(ptr noundef nonnull align 8 dereferenceable(496)) local_unnamed_addr #5

declare void @_ZN21HighsPrimalHeuristics15rootReducedCostEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #5

declare void @_ZN21HighsPrimalHeuristics4RENSERKSt6vectorIdSaIdEE(ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #5

declare void @_ZN21HighsPrimalHeuristics15feasibilityPumpEv(ptr noundef nonnull align 8 dereferenceable(104)) local_unnamed_addr #5

declare noundef double @_ZN14HighsNodeQueue11emplaceNodeEOSt6vectorI17HighsDomainChangeSaIS1_EEOS0_IiSaIiEEddi(ptr noundef nonnull align 8 dereferenceable(148), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24), double noundef, double noundef, i32 noundef) local_unnamed_addr #5

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

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

declare noundef double @_ZNK17HighsLpRelaxation19computeBestEstimateERK15HighsPseudocost(ptr noundef nonnull align 8 dereferenceable(21425), ptr noundef nonnull align 8 dereferenceable(360)) local_unnamed_addr #5

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

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

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

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

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

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

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


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