; LLVM IR from ERGO-Code/HiGHS :: src/presolve/HPresolve.ll (ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE)

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

%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.std::set.102" = type { %"class.std::_Rb_tree.103" }
%"class.std::_Rb_tree.103" = type { %"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<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 }
%"struct.std::_Rb_tree_const_iterator" = type { ptr }
%class.anon.402 = type { ptr, ptr }
%class.anon.403 = type { ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.404" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.405" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.406" = type { ptr }
%class.anon.407 = type { i8 }
%"struct.std::_Rb_tree_const_iterator.408" = type { ptr }
%"struct.std::pair.409" = type <{ %"struct.std::_Rb_tree_const_iterator.408", i8, [7 x i8] }>
%class.HighsObjectiveFunction = type { ptr, double, i32, i32, %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5" }
%"class.std::vector.20" = type { %"struct.std::_Vector_base.21" }
%"struct.std::_Vector_base.21" = 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.HighsDomain = type { %"class.std::vector.10", %"class.std::vector.5", %"class.std::vector.35", %"class.std::vector.156", %"class.std::vector.166", %"class.std::vector.171", %"class.std::vector.30", %"class.std::vector.30", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.10", %"class.std::vector.5", %"struct.HighsDomain::ObjectivePropagation", ptr, %"class.std::deque", %"class.std::deque.189", i8, %"struct.HighsDomain::Reason", i32, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %class.HighsHashTable, i8, %"class.std::vector.20", %"class.std::vector.20" }
%"class.std::vector.35" = type { %"struct.std::_Vector_base.36" }
%"struct.std::_Vector_base.36" = 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.156" = type { %"struct.std::_Vector_base.157" }
%"struct.std::_Vector_base.157" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.166" = type { %"struct.std::_Vector_base.167" }
%"struct.std::_Vector_base.167" = 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.171" = type { %"struct.std::_Vector_base.172" }
%"struct.std::_Vector_base.172" = 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.30" = type { %"struct.std::_Vector_base.31" }
%"struct.std::_Vector_base.31" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsDomain::ObjectivePropagation" = type { ptr, ptr, ptr, %class.HighsCDouble, i32, double, i8, %"class.std::vector.176", %"class.std::vector.35", %"class.std::vector.20", %"class.std::vector.181" }
%class.HighsCDouble = type { double, double }
%"class.std::vector.176" = type { %"struct.std::_Vector_base.177" }
%"struct.std::_Vector_base.177" = 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.181" = type { %"struct.std::_Vector_base.182" }
%"struct.std::_Vector_base.182" = 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.189" = type { %"class.std::_Deque_base.190" }
%"class.std::_Deque_base.190" = 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.194", %"struct.std::_Deque_iterator.194" }
%"struct.std::_Deque_iterator.194" = type { ptr, ptr, ptr, ptr }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%class.HighsHashTable = type { %"class.std::unique_ptr.195", %"class.std::unique_ptr.203", i64, i64, i64 }
%"class.std::unique_ptr.195" = type { %"struct.std::__uniq_ptr_data.196" }
%"struct.std::__uniq_ptr_data.196" = type { %"class.std::__uniq_ptr_impl.197" }
%"class.std::__uniq_ptr_impl.197" = type { %"class.std::tuple.198" }
%"class.std::tuple.198" = type { %"struct.std::_Tuple_impl.199" }
%"struct.std::_Tuple_impl.199" = type { %"struct.std::_Head_base.202" }
%"struct.std::_Head_base.202" = type { ptr }
%"class.std::unique_ptr.203" = type { %"struct.std::__uniq_ptr_data.204" }
%"struct.std::__uniq_ptr_data.204" = type { %"class.std::__uniq_ptr_impl.205" }
%"class.std::__uniq_ptr_impl.205" = type { %"class.std::tuple.206" }
%"class.std::tuple.206" = type { %"struct.std::_Tuple_impl.207" }
%"struct.std::_Tuple_impl.207" = type { %"struct.std::_Head_base.210" }
%"struct.std::_Head_base.210" = type { ptr }
%class.HighsCutPool = type { %class.HighsDynamicRowMatrix, %"class.std::vector.20", %"class.std::vector.117", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.10", %"class.std::unordered_multimap", %"class.std::vector.141", %"class.std::set", double, double, double, i32, i32, i32, i32, i32, %"class.std::vector.5", %"class.std::vector.146" }
%class.HighsDynamicRowMatrix = type { %"class.std::vector.35", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.10", %"class.std::set", %"class.std::vector.5" }
%"class.std::vector.117" = type { %"struct.std::_Vector_base.118" }
%"struct.std::_Vector_base.118" = 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.122" }
%"class.std::_Hashtable.122" = 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.141" = type { %"struct.std::_Vector_base.142" }
%"struct.std::_Vector_base.142" = 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" }
%"class.std::vector.146" = type { %"struct.std::_Vector_base.147" }
%"struct.std::_Vector_base.147" = 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.5", %"class.std::vector.117", %"class.std::vector.151", %"class.std::vector.156", %"class.std::vector.35", %"class.std::set", %"class.std::vector.5", %"class.std::vector.161" }
%"class.std::vector.151" = type { %"struct.std::_Vector_base.152" }
%"struct.std::_Vector_base.152" = 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.161" = type { %"struct.std::_Vector_base.162" }
%"struct.std::_Vector_base.162" = 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.presolve::HPresolve" = type { ptr, ptr, ptr, ptr, double, %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.25", %"class.std::vector.25", %class.HighsLinearSumBounds, %class.HighsLinearSumBounds, %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.35", %"class.std::unordered_map", %"class.std::set", %"class.std::vector.48", i8, i64, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.10", %"class.std::vector.53", i64, i32, i32, i32, i32, i32, i32, i8, i32, %class.HPresolveAnalysis }
%"class.std::vector.25" = type { %"struct.std::_Vector_base.26" }
%"struct.std::_Vector_base.26" = type { %"struct.std::_Vector_base<std::set<int>, std::allocator<std::set<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::set<int>, std::allocator<std::set<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::set<int>, std::allocator<std::set<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::set<int>, std::allocator<std::set<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsLinearSumBounds = type { %"class.std::vector.30", %"class.std::vector.30", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.30", %"class.std::vector.30", %"class.std::vector.5", %"class.std::vector.5", ptr, ptr, ptr, ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"class.std::vector.48" = type { %"struct.std::_Vector_base.49" }
%"struct.std::_Vector_base.49" = type { %"struct.std::_Vector_base<std::_Rb_tree_const_iterator<std::pair<int, int>>, std::allocator<std::_Rb_tree_const_iterator<std::pair<int, int>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::_Rb_tree_const_iterator<std::pair<int, int>>, std::allocator<std::_Rb_tree_const_iterator<std::pair<int, int>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::_Rb_tree_const_iterator<std::pair<int, int>>, std::allocator<std::_Rb_tree_const_iterator<std::pair<int, int>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::_Rb_tree_const_iterator<std::pair<int, int>>, std::allocator<std::_Rb_tree_const_iterator<std::pair<int, int>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.53" = type { %"struct.std::_Vector_base.54" }
%"struct.std::_Vector_base.54" = type { %"struct.std::_Vector_base<unsigned short, std::allocator<unsigned short>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned short, std::allocator<unsigned short>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned short, std::allocator<unsigned short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned short, std::allocator<unsigned short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HPresolveAnalysis = type { ptr, ptr, ptr, ptr, ptr, i32, i32, %"class.std::vector.58", i8, i8, i32, i32, i32, %struct.HighsPresolveLog }
%"class.std::vector.58" = 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.HighsPresolveLog = type { %"class.std::vector.62" }
%"class.std::vector.62" = type { %"struct.std::_Vector_base.63" }
%"struct.std::_Vector_base.63" = 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.HighsLp = type { i32, i32, %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.67", %"class.std::vector.67", %"class.std::vector.72", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector.67" = type { %"struct.std::_Vector_base.68" }
%"struct.std::_Vector_base.68" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.72" = type { %"struct.std::_Vector_base.73" }
%"struct.std::_Vector_base.73" = 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.77" }
%"class.std::unordered_map.77" = type { %"class.std::_Hashtable.78" }
%"class.std::_Hashtable.78" = 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.20", %"class.std::vector.20" }
%struct.HighsLpMods = type { %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.72", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20" }
%"struct.std::pair" = type { i32, i32 }
%class.HighsMipSolver = type { ptr, ptr, ptr, ptr, i32, %"class.std::vector.20", double, double, double, double, double, double, double, i64, i64, double, ptr, %"class.std::vector.110", i8, i32, i32, ptr, ptr, ptr, ptr, %"class.std::unique_ptr", %class.HighsMipAnalysis, %class.HighsTimer }
%"class.std::vector.110" = type { %"struct.std::_Vector_base.111" }
%"struct.std::_Vector_base.111" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unique_ptr" = 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.116" }
%"struct.std::_Head_base.116" = type { ptr }
%class.HighsMipAnalysis = type { ptr, %"class.std::__cxx11::basic_string", %struct.HighsTimerClock, i8, %"class.std::vector.20", %"class.std::vector.20" }
%struct.HighsTimerClock = type { ptr, %"class.std::vector.5" }
%class.HighsTimer = type <{ ptr, double, i32, [4 x i8], %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.67", i32, i32, i32, [4 x i8] }>
%struct.HighsMipSolverData = type <{ ptr, %class.HighsCutPool, %class.HighsConflictPool, %class.HighsDomain, %class.HighsLpRelaxation, %class.HighsPseudocost, %class.HighsCliqueTable, %class.HighsImplications, %class.HighsPrimalHeuristics, %class.HighsRedcostFixing, %class.HighsObjectiveFunction, %"class.presolve::HighsPostsolveStack", i32, [4 x i8], %class.HighsLp, i8, i8, i8, i8, i32, i8, [3 x i8], i32, i32, i32, i32, [4 x i8], %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.10", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %struct.HighsSymmetries, %"class.std::shared_ptr.361", double, double, double, i64, %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", 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.20", %class.HighsNodeQueue, %struct.HighsPrimaDualIntegral, [8 x i8] }>
%class.HighsLpRelaxation = type <{ ptr, %class.Highs, %"class.std::vector.281", %"class.std::vector.146", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %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.221", %class.HighsModel, %class.HighsTimer, %struct.HighsCallback, %class.HighsOptions, %class.HighsInfo, %struct.HighsRanging, %class.HighsIis, %"class.std::vector.110", i32, i32, i8, double, %"class.std::vector.20", %"class.std::vector.20", %class.HighsSparseMatrix, %class.HEkk, %struct.HighsPresolveLog, i32, i8, i32, i8, %class.PresolveComponent }
%struct.HighsSolution = type { i8, i8, %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20" }
%struct.ICrashInfo = type { i32, double, double, double, double, double, %"class.std::vector.216", %"class.std::vector.20", double }
%"class.std::vector.216" = type { %"struct.std::_Vector_base.217" }
%"struct.std::_Vector_base.217" = 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.221" = type { %"struct.std::_Vector_base.222" }
%"struct.std::_Vector_base.222" = 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.5", %"class.std::vector.5", %"class.std::vector.20" }
%struct.HighsCallback = type { %"class.std::function", ptr, ptr, %"class.std::vector.58", %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 } }
%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.97", 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.97" = type { %"struct.std::_Vector_base.98" }
%"struct.std::_Vector_base.98" = 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.226" }
%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.226" = type { %"struct.std::_Vector_base.227" }
%"struct.std::_Vector_base.227" = 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.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5" }
%class.HighsIis = type { i8, i32, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.231" }
%"class.std::vector.231" = type { %"struct.std::_Vector_base.232" }
%"struct.std::_Vector_base.232" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HEkk = type { ptr, ptr, ptr, %class.HighsSimplexAnalysis, %class.HighsLp, %"class.std::__cxx11::basic_string", %struct.HighsSimplexStatus, [3 x i8], %struct.HighsSimplexInfo, i32, %struct.SimplexBasis, %class.HighsHashTable.259, %class.HighsRandom, %"class.std::vector.20", %"class.std::vector.20", i8, %class.HighsSparseMatrix, %class.HighsSparseMatrix, %class.HSimplexNla, %struct.HotStart, double, double, double, i32, i32, i32, i32, i8, i8, i32, i32, i32, %"class.std::vector.5", %"class.std::vector.20", %struct.HighsRayRecord, %struct.HighsRayRecord, i32, i32, i32, double, %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", double, double, double, i32, i32, i8, i32, i8, i8, i8, i8, double, %"class.std::vector.276", %"class.std::vector.20", %struct.HighsSimplexStats }
%class.HighsSimplexAnalysis = type { ptr, %"class.std::vector.236", %"class.std::vector.236", 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.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.241", %"class.std::unique_ptr.246", 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.236" = type { %"struct.std::_Vector_base.237" }
%"struct.std::_Vector_base.237" = 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.241" = type { %"struct.std::_Vector_base.242" }
%"struct.std::_Vector_base.242" = 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.246" = type { %"struct.std::__uniq_ptr_data.247" }
%"struct.std::__uniq_ptr_data.247" = type { %"class.std::__uniq_ptr_impl.248" }
%"class.std::__uniq_ptr_impl.248" = type { %"class.std::tuple.249" }
%"class.std::tuple.249" = type { %"struct.std::_Tuple_impl.250" }
%"struct.std::_Tuple_impl.250" = type { %"struct.std::_Head_base.253" }
%"struct.std::_Head_base.253" = 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.20", %"class.std::vector.5", 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.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", i32, i32, i8, i8, [6 x i8], %struct.SimplexBasis, i32, i32, i32, [4 x i8], %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.20", 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.5", %"class.std::vector.254", %"class.std::vector.254", i64, i32, i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.254" = type { %"struct.std::_Vector_base.255" }
%"struct.std::_Vector_base.255" = 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.259 = type { %"class.std::unique_ptr.260", %"class.std::unique_ptr.203", i64, i64, i64 }
%"class.std::unique_ptr.260" = type { %"struct.std::__uniq_ptr_data.261" }
%"struct.std::__uniq_ptr_data.261" = type { %"class.std::__uniq_ptr_impl.262" }
%"class.std::__uniq_ptr_impl.262" = type { %"class.std::tuple.263" }
%"class.std::tuple.263" = type { %"struct.std::_Tuple_impl.264" }
%"struct.std::_Tuple_impl.264" = type { %"struct.std::_Head_base.267" }
%"struct.std::_Head_base.267" = 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.5", %"class.std::vector.5", %"class.std::vector.5", %struct.RefactorInfo, i32, i32, i32, i32, i32, i32, i32, double, i8, ptr, ptr, ptr, ptr, double, double, i32, double, %"class.std::unique_ptr.268", %struct.HighsLogOptions, i8, i8, i32, i32, ptr, i32, %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", i32, i32, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %class.HVectorBase }
%struct.RefactorInfo = type { i8, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.254", double }
%"class.std::unique_ptr.268" = type { %"struct.std::__uniq_ptr_data.269" }
%"struct.std::__uniq_ptr_data.269" = type { %"class.std::__uniq_ptr_impl.270" }
%"class.std::__uniq_ptr_impl.270" = type { %"class.std::tuple.271" }
%"class.std::tuple.271" = type { %"struct.std::_Tuple_impl.272" }
%"struct.std::_Tuple_impl.272" = type { %"struct.std::_Head_base.275" }
%"struct.std::_Head_base.275" = type { ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20" }
%struct.SimplexIterate = type { i8, %struct.SimplexBasis, %struct.InvertibleRepresentation, %"class.std::vector.20" }
%struct.InvertibleRepresentation = type { %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.20" }
%struct.HotStart = type { i8, %struct.RefactorInfo, %"class.std::vector.254" }
%struct.HighsRayRecord = type { i32, i32, %"class.std::vector.20" }
%"class.std::vector.276" = type { %"struct.std::_Vector_base.277" }
%"struct.std::_Vector_base.277" = 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 }
%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.281" = type { %"struct.std::_Vector_base.282" }
%"struct.std::_Vector_base.282" = 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.5", %"class.std::vector.20", double, %"class.std::vector", %"class.std::vector.5", ptr, i8, i32, %"class.std::vector.5", %"class.std::vector.20" }
%class.HighsSparseVectorSum = type { %"class.std::vector.30", %"class.std::vector.5" }
%"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.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.20", double, double, double, double, i64, i64, i64, i32, double }
%class.HighsCliqueTable = type { %"class.std::vector.286", %"class.std::vector.291", %"class.std::vector.296", %class.HighsHashTable.301, %"class.std::set", %"class.std::vector.5", %"class.std::vector.310", %"class.std::vector.5", %"class.std::vector.286", %"class.std::vector.5", %"class.std::vector.315", %"class.std::vector.5", %"class.std::vector.320", %"class.std::vector.10", %"class.std::vector.10", %"class.std::vector.151", %"class.std::vector.5", %class.HighsRandom, i32, i32, i32, i32, i8, i64 }
%"class.std::vector.291" = type { %"struct.std::_Vector_base.292" }
%"struct.std::_Vector_base.292" = 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.296" = type { %"struct.std::_Vector_base.297" }
%"struct.std::_Vector_base.297" = 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.301 = type { %"class.std::unique_ptr.302", %"class.std::unique_ptr.203", 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::vector.310" = type { %"struct.std::_Vector_base.311" }
%"struct.std::_Vector_base.311" = 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.286" = type { %"struct.std::_Vector_base.287" }
%"struct.std::_Vector_base.287" = 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.315" = type { %"struct.std::_Vector_base.316" }
%"struct.std::_Vector_base.316" = 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.320" = type { %"struct.std::_Vector_base.321" }
%"struct.std::_Vector_base.321" = 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.325", i64, %"class.std::vector.330", %"class.std::vector.330", ptr, %"class.std::vector.335", %"class.std::vector.10", %"class.std::function.340" }
%"class.std::vector.325" = type { %"struct.std::_Vector_base.326" }
%"struct.std::_Vector_base.326" = 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.330" = type { %"struct.std::_Vector_base.331" }
%"struct.std::_Vector_base.331" = 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.335" = type { %"struct.std::_Vector_base.336" }
%"struct.std::_Vector_base.336" = 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.340" = type { %"class.std::_Function_base", ptr }
%class.HighsPrimalHeuristics = type { ptr, i64, i64, i64, i64, double, i32, double, i32, %class.HighsRandom, %"class.std::vector.5" }
%class.HighsRedcostFixing = type { %"class.std::vector.342", %"class.std::vector.342" }
%"class.std::vector.342" = type { %"struct.std::_Vector_base.343" }
%"struct.std::_Vector_base.343" = 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.presolve::HighsPostsolveStack" = type { i64, double, double, double, double, %class.HighsDataStack, %"class.std::vector.0", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.10", %"class.std::vector.15", %"class.std::vector.15", i32, i32 }
%class.HighsDataStack = type { %"class.std::vector", i64 }
%"class.std::vector.0" = type { %"struct.std::_Vector_base.1" }
%"struct.std::_Vector_base.1" = 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.15" = type { %"struct.std::_Vector_base.16" }
%"struct.std::_Vector_base.16" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsSymmetries = type { %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.347", %class.HighsHashTable.352, i32, i32 }
%"class.std::vector.347" = type { %"struct.std::_Vector_base.348" }
%"struct.std::_Vector_base.348" = 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.352 = type { %"class.std::unique_ptr.353", %"class.std::unique_ptr.203", i64, i64, i64 }
%"class.std::unique_ptr.353" = type { %"struct.std::__uniq_ptr_data.354" }
%"struct.std::__uniq_ptr_data.354" = type { %"class.std::__uniq_ptr_impl.355" }
%"class.std::__uniq_ptr_impl.355" = type { %"class.std::tuple.356" }
%"class.std::tuple.356" = type { %"struct.std::_Tuple_impl.357" }
%"struct.std::_Tuple_impl.357" = type { %"struct.std::_Head_base.360" }
%"struct.std::_Head_base.360" = type { ptr }
%"class.std::shared_ptr.361" = type { %"class.std::__shared_ptr.362" }
%"class.std::__shared_ptr.362" = type { ptr, %"class.std::__shared_count" }
%struct.HighsBasis = type { i8, i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::vector.211", %"class.std::vector.211" }
%"class.std::vector.211" = type { %"struct.std::_Vector_base.212" }
%"struct.std::_Vector_base.212" = 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.364", %"class.std::vector.372", %"class.std::priority_queue", %"class.std::unique_ptr.382", %"class.std::unique_ptr.382", i64, i64, i64, i64, i64, i64, i64, double, i32, [4 x i8] }>
%"class.std::unique_ptr.364" = type { %"struct.std::__uniq_ptr_data.365" }
%"struct.std::__uniq_ptr_data.365" = type { %"class.std::__uniq_ptr_impl.366" }
%"class.std::__uniq_ptr_impl.366" = type { %"class.std::tuple.367" }
%"class.std::tuple.367" = type { %"struct.std::_Tuple_impl.368" }
%"struct.std::_Tuple_impl.368" = type { %"struct.std::_Head_base.371" }
%"struct.std::_Head_base.371" = type { ptr }
%"class.std::vector.372" = type { %"struct.std::_Vector_base.373" }
%"struct.std::_Vector_base.373" = 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.377", [8 x i8] }>
%"class.std::vector.377" = type { %"struct.std::_Vector_base.378" }
%"struct.std::_Vector_base.378" = 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.382" = type { %"struct.std::__uniq_ptr_data.383" }
%"struct.std::__uniq_ptr_data.383" = type { %"class.std::__uniq_ptr_impl.384" }
%"class.std::__uniq_ptr_impl.384" = type { %"class.std::tuple.385" }
%"class.std::tuple.385" = type { %"struct.std::_Tuple_impl.386" }
%"struct.std::_Tuple_impl.386" = type { %"struct.std::_Head_base.389" }
%"struct.std::_Head_base.389" = type { ptr }
%struct.HighsPrimaDualIntegral = type { double, double, double, double, double }

@.str.55 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [78 x i8], align 1
@__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE = external hidden unnamed_addr constant [63 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [27 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

; Function Attrs: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #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 nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1) #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i32, align 4
  %6 = alloca %"class.std::vector.5", align 8
  %7 = alloca %"class.std::allocator.7", align 1
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca i8, align 1
  %11 = alloca i32, align 4
  %12 = alloca i8, align 1
  %13 = alloca i32, align 4
  %14 = alloca i8, align 1
  %15 = alloca %"class.std::vector.5", align 8
  %16 = alloca %"class.std::allocator.7", align 1
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca %"class.std::set.102", align 8
  %22 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %23 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %24 = alloca %class.anon.402, align 8
  %25 = alloca %class.anon.402, align 8
  %26 = alloca i32, align 4
  %27 = alloca %"class.std::set.102", align 8
  %28 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %29 = alloca %"struct.std::_Rb_tree_const_iterator", align 8
  %30 = alloca %class.anon.403, align 8
  %31 = alloca %class.anon.403, align 8
  %32 = alloca i8, align 1
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca ptr, align 8
  %36 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %37 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %38 = alloca ptr, align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %43 = alloca i32, align 4
  %44 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %45 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %46 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %47 = alloca ptr, align 8
  %48 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %50 = alloca ptr, align 8
  %51 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %52 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %53 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %54 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %55 = alloca i32, align 4
  %56 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %57 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %58 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %59 = alloca ptr, align 8
  %60 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %61 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %62 = alloca ptr, align 8
  %63 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %64 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %65 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %66 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %67 = alloca i32, align 4
  %68 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %69 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %70 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %71 = alloca ptr, align 8
  %72 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %73 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %74 = alloca ptr, align 8
  %75 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %76 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %77 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %78 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %79 = alloca i32, align 4
  %80 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %81 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %82 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %83 = alloca ptr, align 8
  %84 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %85 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %86 = alloca i32, align 4
  %87 = alloca ptr, align 8
  %88 = alloca %"class.__gnu_cxx::__normal_iterator.406", align 8
  %89 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %90 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %91 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %92 = alloca %class.anon.407, align 1
  %93 = alloca %"class.__gnu_cxx::__normal_iterator.406", align 8
  %94 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %95 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %96 = alloca %"struct.std::_Rb_tree_const_iterator.408", align 8
  %97 = alloca i32, align 4
  %98 = alloca %"struct.std::pair.409", align 8
  %99 = alloca { ptr, i8 }, align 8
  %100 = alloca %class.HighsObjectiveFunction, align 8
  %101 = alloca %class.HighsDomain, align 8
  %102 = alloca %class.HighsCutPool, align 8
  %103 = alloca %class.HighsConflictPool, align 8
  %104 = alloca i32, align 4
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  %105 = load ptr, ptr %3, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #8
  %106 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %107 = load ptr, ptr %106, align 8, !tbaa !9
  %108 = getelementptr inbounds %class.HighsLp, ptr %107, i32 0, i32 0
  %109 = load i32, ptr %108, align 8, !tbaa !74
  store i32 %109, ptr %5, align 4, !tbaa !94
  %110 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %111 = load ptr, ptr %110, align 8, !tbaa !9
  %112 = getelementptr inbounds %class.HighsLp, ptr %111, i32 0, i32 0
  store i32 0, ptr %112, align 8, !tbaa !74
  call void @llvm.lifetime.start.p0(i64 24, ptr %6) #8
  %113 = load i32, ptr %5, align 4, !tbaa !94
  %114 = sext i32 %113 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %114, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %115 unwind label %136

115:                                              ; preds = %2
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #8
  %116 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %117 = load ptr, ptr %116, align 8, !tbaa !9
  %118 = getelementptr inbounds %class.HighsLp, ptr %117, i32 0, i32 14
  %119 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %118) #8
  %120 = icmp ugt i64 %119, 0
  %121 = zext i1 %120 to i8
  store i8 %121, ptr %10, align 1, !tbaa !95
  %122 = load i8, ptr %10, align 1, !tbaa !95, !range !96, !noundef !97
  %123 = trunc i8 %122 to i1
  br i1 %123, label %124, label %132

124:                                              ; preds = %115
  %125 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %126 = load ptr, ptr %125, align 8, !tbaa !9
  %127 = getelementptr inbounds %class.HighsLp, ptr %126, i32 0, i32 14
  %128 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %127) #8
  %129 = load i32, ptr %5, align 4, !tbaa !94
  %130 = sext i32 %129 to i64
  %131 = icmp eq i64 %128, %130
  br label %132

132:                                              ; preds = %124, %115
  %133 = phi i1 [ true, %115 ], [ %131, %124 ]
  br i1 %133, label %134, label %135

134:                                              ; preds = %132
  br label %141

135:                                              ; preds = %132
  call void @__assert_fail(ptr noundef @.str.66, ptr noundef @.str.55, i32 noundef 744, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

136:                                              ; preds = %2
  %137 = landingpad { ptr, i32 }
          cleanup
  %138 = extractvalue { ptr, i32 } %137, 0
  store ptr %138, ptr %8, align 8
  %139 = extractvalue { ptr, i32 } %137, 1
  store i32 %139, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #8
  br label %1780

140:                                              ; No predecessors!
  br label %141

141:                                              ; preds = %140, %134
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #8
  store i32 0, ptr %11, align 4, !tbaa !94
  br label %142

142:                                              ; preds = %395, %141
  %143 = load i32, ptr %11, align 4, !tbaa !94
  %144 = load i32, ptr %5, align 4, !tbaa !94
  %145 = icmp ne i32 %143, %144
  br i1 %145, label %147, label %146

146:                                              ; preds = %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %398

147:                                              ; preds = %142
  %148 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 47
  %149 = load i32, ptr %11, align 4, !tbaa !94
  %150 = sext i32 %149 to i64
  %151 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %148, i64 noundef %150) #8
  %152 = load i8, ptr %151, align 1, !tbaa !98
  %153 = icmp ne i8 %152, 0
  br i1 %153, label %154, label %158

154:                                              ; preds = %147
  %155 = load i32, ptr %11, align 4, !tbaa !94
  %156 = sext i32 %155 to i64
  %157 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %156) #8
  store i32 -1, ptr %157, align 4, !tbaa !94
  br label %394

158:                                              ; preds = %147
  %159 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %160 = load ptr, ptr %159, align 8, !tbaa !9
  %161 = getelementptr inbounds %class.HighsLp, ptr %160, i32 0, i32 0
  %162 = load i32, ptr %161, align 8, !tbaa !74
  %163 = add nsw i32 %162, 1
  store i32 %163, ptr %161, align 8, !tbaa !74
  %164 = load i32, ptr %11, align 4, !tbaa !94
  %165 = sext i32 %164 to i64
  %166 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %165) #8
  store i32 %162, ptr %166, align 4, !tbaa !94
  %167 = load i32, ptr %11, align 4, !tbaa !94
  %168 = sext i32 %167 to i64
  %169 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %168) #8
  %170 = load i32, ptr %169, align 4, !tbaa !94
  %171 = load i32, ptr %11, align 4, !tbaa !94
  %172 = icmp slt i32 %170, %171
  br i1 %172, label %173, label %393

173:                                              ; preds = %158
  %174 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %175 = load ptr, ptr %174, align 8, !tbaa !9
  %176 = getelementptr inbounds %class.HighsLp, ptr %175, i32 0, i32 2
  %177 = load i32, ptr %11, align 4, !tbaa !94
  %178 = sext i32 %177 to i64
  %179 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %176, i64 noundef %178) #8
  %180 = load double, ptr %179, align 8, !tbaa !99
  %181 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %182 = load ptr, ptr %181, align 8, !tbaa !9
  %183 = getelementptr inbounds %class.HighsLp, ptr %182, i32 0, i32 2
  %184 = load i32, ptr %11, align 4, !tbaa !94
  %185 = sext i32 %184 to i64
  %186 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %185) #8
  %187 = load i32, ptr %186, align 4, !tbaa !94
  %188 = sext i32 %187 to i64
  %189 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %183, i64 noundef %188) #8
  store double %180, ptr %189, align 8, !tbaa !99
  %190 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %191 = load ptr, ptr %190, align 8, !tbaa !9
  %192 = getelementptr inbounds %class.HighsLp, ptr %191, i32 0, i32 3
  %193 = load i32, ptr %11, align 4, !tbaa !94
  %194 = sext i32 %193 to i64
  %195 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %194) #8
  %196 = load double, ptr %195, align 8, !tbaa !99
  %197 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %198 = load ptr, ptr %197, align 8, !tbaa !9
  %199 = getelementptr inbounds %class.HighsLp, ptr %198, i32 0, i32 3
  %200 = load i32, ptr %11, align 4, !tbaa !94
  %201 = sext i32 %200 to i64
  %202 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %201) #8
  %203 = load i32, ptr %202, align 4, !tbaa !94
  %204 = sext i32 %203 to i64
  %205 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %199, i64 noundef %204) #8
  store double %196, ptr %205, align 8, !tbaa !99
  %206 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %207 = load ptr, ptr %206, align 8, !tbaa !9
  %208 = getelementptr inbounds %class.HighsLp, ptr %207, i32 0, i32 4
  %209 = load i32, ptr %11, align 4, !tbaa !94
  %210 = sext i32 %209 to i64
  %211 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %208, i64 noundef %210) #8
  %212 = load double, ptr %211, align 8, !tbaa !99
  %213 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %214 = load ptr, ptr %213, align 8, !tbaa !9
  %215 = getelementptr inbounds %class.HighsLp, ptr %214, i32 0, i32 4
  %216 = load i32, ptr %11, align 4, !tbaa !94
  %217 = sext i32 %216 to i64
  %218 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %217) #8
  %219 = load i32, ptr %218, align 4, !tbaa !94
  %220 = sext i32 %219 to i64
  %221 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %215, i64 noundef %220) #8
  store double %212, ptr %221, align 8, !tbaa !99
  %222 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %223 = load ptr, ptr %222, align 8, !tbaa !9
  %224 = getelementptr inbounds %class.HighsLp, ptr %223, i32 0, i32 3
  %225 = load i32, ptr %11, align 4, !tbaa !94
  %226 = sext i32 %225 to i64
  %227 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %226) #8
  %228 = load i32, ptr %227, align 4, !tbaa !94
  %229 = sext i32 %228 to i64
  %230 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %224, i64 noundef %229) #8
  %231 = load double, ptr %230, align 8, !tbaa !99
  %232 = invoke noundef zeroext i1 @_ZSt5isnand(double noundef %231)
          to label %233 unwind label %237

233:                                              ; preds = %173
  %234 = xor i1 %232, true
  br i1 %234, label %235, label %236

235:                                              ; preds = %233
  br label %242

236:                                              ; preds = %233
  call void @__assert_fail(ptr noundef @.str.67, ptr noundef @.str.55, i32 noundef 754, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

237:                                              ; preds = %259, %242, %173
  %238 = landingpad { ptr, i32 }
          cleanup
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %8, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #8
  br label %1779

241:                                              ; No predecessors!
  br label %242

242:                                              ; preds = %241, %235
  %243 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %244 = load ptr, ptr %243, align 8, !tbaa !9
  %245 = getelementptr inbounds %class.HighsLp, ptr %244, i32 0, i32 4
  %246 = load i32, ptr %11, align 4, !tbaa !94
  %247 = sext i32 %246 to i64
  %248 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %247) #8
  %249 = load i32, ptr %248, align 4, !tbaa !94
  %250 = sext i32 %249 to i64
  %251 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %250) #8
  %252 = load double, ptr %251, align 8, !tbaa !99
  %253 = invoke noundef zeroext i1 @_ZSt5isnand(double noundef %252)
          to label %254 unwind label %237

254:                                              ; preds = %242
  %255 = xor i1 %253, true
  br i1 %255, label %256, label %257

256:                                              ; preds = %254
  br label %259

257:                                              ; preds = %254
  call void @__assert_fail(ptr noundef @.str.68, ptr noundef @.str.55, i32 noundef 755, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

258:                                              ; No predecessors!
  br label %259

259:                                              ; preds = %258, %256
  %260 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %261 = load ptr, ptr %260, align 8, !tbaa !9
  %262 = getelementptr inbounds %class.HighsLp, ptr %261, i32 0, i32 16
  %263 = load i32, ptr %11, align 4, !tbaa !94
  %264 = sext i32 %263 to i64
  %265 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %262, i64 noundef %264) #8
  %266 = load i8, ptr %265, align 1, !tbaa !100
  %267 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %268 = load ptr, ptr %267, align 8, !tbaa !9
  %269 = getelementptr inbounds %class.HighsLp, ptr %268, i32 0, i32 16
  %270 = load i32, ptr %11, align 4, !tbaa !94
  %271 = sext i32 %270 to i64
  %272 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %271) #8
  %273 = load i32, ptr %272, align 4, !tbaa !94
  %274 = sext i32 %273 to i64
  %275 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %269, i64 noundef %274) #8
  store i8 %266, ptr %275, align 1, !tbaa !100
  %276 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 20
  %277 = load i32, ptr %11, align 4, !tbaa !94
  %278 = sext i32 %277 to i64
  %279 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %276, i64 noundef %278) #8
  %280 = load double, ptr %279, align 8, !tbaa !99
  %281 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 20
  %282 = load i32, ptr %11, align 4, !tbaa !94
  %283 = sext i32 %282 to i64
  %284 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %283) #8
  %285 = load i32, ptr %284, align 4, !tbaa !94
  %286 = sext i32 %285 to i64
  %287 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %281, i64 noundef %286) #8
  store double %280, ptr %287, align 8, !tbaa !99
  %288 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 21
  %289 = load i32, ptr %11, align 4, !tbaa !94
  %290 = sext i32 %289 to i64
  %291 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %288, i64 noundef %290) #8
  %292 = load double, ptr %291, align 8, !tbaa !99
  %293 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 21
  %294 = load i32, ptr %11, align 4, !tbaa !94
  %295 = sext i32 %294 to i64
  %296 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %295) #8
  %297 = load i32, ptr %296, align 4, !tbaa !94
  %298 = sext i32 %297 to i64
  %299 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %293, i64 noundef %298) #8
  store double %292, ptr %299, align 8, !tbaa !99
  %300 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %301 = load i32, ptr %11, align 4, !tbaa !94
  %302 = sext i32 %301 to i64
  %303 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %300, i64 noundef %302) #8
  %304 = load i32, ptr %303, align 4, !tbaa !94
  %305 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %306 = load i32, ptr %11, align 4, !tbaa !94
  %307 = sext i32 %306 to i64
  %308 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %307) #8
  %309 = load i32, ptr %308, align 4, !tbaa !94
  %310 = sext i32 %309 to i64
  %311 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %305, i64 noundef %310) #8
  store i32 %304, ptr %311, align 4, !tbaa !94
  %312 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %313 = load i32, ptr %11, align 4, !tbaa !94
  %314 = sext i32 %313 to i64
  %315 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %312, i64 noundef %314) #8
  %316 = load i32, ptr %315, align 4, !tbaa !94
  %317 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %318 = load i32, ptr %11, align 4, !tbaa !94
  %319 = sext i32 %318 to i64
  %320 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %319) #8
  %321 = load i32, ptr %320, align 4, !tbaa !94
  %322 = sext i32 %321 to i64
  %323 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %317, i64 noundef %322) #8
  store i32 %316, ptr %323, align 4, !tbaa !94
  %324 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %325 = load i32, ptr %11, align 4, !tbaa !94
  %326 = sext i32 %325 to i64
  %327 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %324, i64 noundef %326) #8
  %328 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %329 = load i32, ptr %11, align 4, !tbaa !94
  %330 = sext i32 %329 to i64
  %331 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %330) #8
  %332 = load i32, ptr %331, align 4, !tbaa !94
  %333 = sext i32 %332 to i64
  %334 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %328, i64 noundef %333) #8
  %335 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(48) %334, ptr noundef nonnull align 8 dereferenceable(48) %327)
          to label %336 unwind label %237

336:                                              ; preds = %259
  %337 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 8
  %338 = load i32, ptr %11, align 4, !tbaa !94
  %339 = sext i32 %338 to i64
  %340 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %337, i64 noundef %339) #8
  %341 = load i32, ptr %340, align 4, !tbaa !94
  %342 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 8
  %343 = load i32, ptr %11, align 4, !tbaa !94
  %344 = sext i32 %343 to i64
  %345 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %344) #8
  %346 = load i32, ptr %345, align 4, !tbaa !94
  %347 = sext i32 %346 to i64
  %348 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %342, i64 noundef %347) #8
  store i32 %341, ptr %348, align 4, !tbaa !94
  %349 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 17
  %350 = load i32, ptr %11, align 4, !tbaa !94
  %351 = sext i32 %350 to i64
  %352 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %349, i64 noundef %351) #8
  %353 = load i32, ptr %352, align 4, !tbaa !94
  %354 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 17
  %355 = load i32, ptr %11, align 4, !tbaa !94
  %356 = sext i32 %355 to i64
  %357 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %356) #8
  %358 = load i32, ptr %357, align 4, !tbaa !94
  %359 = sext i32 %358 to i64
  %360 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %354, i64 noundef %359) #8
  store i32 %353, ptr %360, align 4, !tbaa !94
  %361 = load i8, ptr %10, align 1, !tbaa !95, !range !96, !noundef !97
  %362 = trunc i8 %361 to i1
  br i1 %362, label %363, label %380

363:                                              ; preds = %336
  %364 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %365 = load ptr, ptr %364, align 8, !tbaa !9
  %366 = getelementptr inbounds %class.HighsLp, ptr %365, i32 0, i32 14
  %367 = load i32, ptr %11, align 4, !tbaa !94
  %368 = sext i32 %367 to i64
  %369 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %366, i64 noundef %368) #8
  %370 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %371 = load ptr, ptr %370, align 8, !tbaa !9
  %372 = getelementptr inbounds %class.HighsLp, ptr %371, i32 0, i32 14
  %373 = load i32, ptr %11, align 4, !tbaa !94
  %374 = sext i32 %373 to i64
  %375 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %374) #8
  %376 = load i32, ptr %375, align 4, !tbaa !94
  %377 = sext i32 %376 to i64
  %378 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %372, i64 noundef %377) #8
  %379 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %378, ptr noundef nonnull align 8 dereferenceable(32) %369) #8
  br label %380

380:                                              ; preds = %363, %336
  %381 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 37
  %382 = load i32, ptr %11, align 4, !tbaa !94
  %383 = sext i32 %382 to i64
  %384 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %381, i64 noundef %383) #8
  %385 = load i8, ptr %384, align 1, !tbaa !98
  %386 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 37
  %387 = load i32, ptr %11, align 4, !tbaa !94
  %388 = sext i32 %387 to i64
  %389 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %388) #8
  %390 = load i32, ptr %389, align 4, !tbaa !94
  %391 = sext i32 %390 to i64
  %392 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %386, i64 noundef %391) #8
  store i8 %385, ptr %392, align 1, !tbaa !98
  br label %393

393:                                              ; preds = %380, %158
  br label %394

394:                                              ; preds = %393, %154
  br label %395

395:                                              ; preds = %394
  %396 = load i32, ptr %11, align 4, !tbaa !94
  %397 = add nsw i32 %396, 1
  store i32 %397, ptr %11, align 4, !tbaa !94
  br label %142, !llvm.loop !102

398:                                              ; preds = %146
  %399 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 47
  %400 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %401 = load ptr, ptr %400, align 8, !tbaa !9
  %402 = getelementptr inbounds %class.HighsLp, ptr %401, i32 0, i32 0
  %403 = load i32, ptr %402, align 8, !tbaa !74
  %404 = sext i32 %403 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #8
  store i8 0, ptr %12, align 1, !tbaa !98
  invoke void @_ZNSt6vectorIhSaIhEE6assignEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %399, i64 noundef %404, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %405 unwind label %503

405:                                              ; preds = %398
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #8
  %406 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %407 = load ptr, ptr %406, align 8, !tbaa !9
  %408 = getelementptr inbounds %class.HighsLp, ptr %407, i32 0, i32 2
  %409 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %410 = load ptr, ptr %409, align 8, !tbaa !9
  %411 = getelementptr inbounds %class.HighsLp, ptr %410, i32 0, i32 0
  %412 = load i32, ptr %411, align 8, !tbaa !74
  %413 = sext i32 %412 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %408, i64 noundef %413)
          to label %414 unwind label %507

414:                                              ; preds = %405
  %415 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %416 = load ptr, ptr %415, align 8, !tbaa !9
  %417 = getelementptr inbounds %class.HighsLp, ptr %416, i32 0, i32 3
  %418 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %419 = load ptr, ptr %418, align 8, !tbaa !9
  %420 = getelementptr inbounds %class.HighsLp, ptr %419, i32 0, i32 0
  %421 = load i32, ptr %420, align 8, !tbaa !74
  %422 = sext i32 %421 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %417, i64 noundef %422)
          to label %423 unwind label %507

423:                                              ; preds = %414
  %424 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %425 = load ptr, ptr %424, align 8, !tbaa !9
  %426 = getelementptr inbounds %class.HighsLp, ptr %425, i32 0, i32 4
  %427 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %428 = load ptr, ptr %427, align 8, !tbaa !9
  %429 = getelementptr inbounds %class.HighsLp, ptr %428, i32 0, i32 0
  %430 = load i32, ptr %429, align 8, !tbaa !74
  %431 = sext i32 %430 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %426, i64 noundef %431)
          to label %432 unwind label %507

432:                                              ; preds = %423
  %433 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %434 = load ptr, ptr %433, align 8, !tbaa !9
  %435 = getelementptr inbounds %class.HighsLp, ptr %434, i32 0, i32 16
  %436 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %437 = load ptr, ptr %436, align 8, !tbaa !9
  %438 = getelementptr inbounds %class.HighsLp, ptr %437, i32 0, i32 0
  %439 = load i32, ptr %438, align 8, !tbaa !74
  %440 = sext i32 %439 to i64
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %435, i64 noundef %440)
          to label %441 unwind label %507

441:                                              ; preds = %432
  %442 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 20
  %443 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %444 = load ptr, ptr %443, align 8, !tbaa !9
  %445 = getelementptr inbounds %class.HighsLp, ptr %444, i32 0, i32 0
  %446 = load i32, ptr %445, align 8, !tbaa !74
  %447 = sext i32 %446 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %442, i64 noundef %447)
          to label %448 unwind label %507

448:                                              ; preds = %441
  %449 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 21
  %450 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %451 = load ptr, ptr %450, align 8, !tbaa !9
  %452 = getelementptr inbounds %class.HighsLp, ptr %451, i32 0, i32 0
  %453 = load i32, ptr %452, align 8, !tbaa !74
  %454 = sext i32 %453 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %449, i64 noundef %454)
          to label %455 unwind label %507

455:                                              ; preds = %448
  %456 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %457 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %458 = load ptr, ptr %457, align 8, !tbaa !9
  %459 = getelementptr inbounds %class.HighsLp, ptr %458, i32 0, i32 0
  %460 = load i32, ptr %459, align 8, !tbaa !74
  %461 = sext i32 %460 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %456, i64 noundef %461)
          to label %462 unwind label %507

462:                                              ; preds = %455
  %463 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %464 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %465 = load ptr, ptr %464, align 8, !tbaa !9
  %466 = getelementptr inbounds %class.HighsLp, ptr %465, i32 0, i32 0
  %467 = load i32, ptr %466, align 8, !tbaa !74
  %468 = sext i32 %467 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %463, i64 noundef %468)
          to label %469 unwind label %507

469:                                              ; preds = %462
  %470 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %471 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %472 = load ptr, ptr %471, align 8, !tbaa !9
  %473 = getelementptr inbounds %class.HighsLp, ptr %472, i32 0, i32 0
  %474 = load i32, ptr %473, align 8, !tbaa !74
  %475 = sext i32 %474 to i64
  invoke void @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %470, i64 noundef %475)
          to label %476 unwind label %507

476:                                              ; preds = %469
  %477 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 8
  %478 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %479 = load ptr, ptr %478, align 8, !tbaa !9
  %480 = getelementptr inbounds %class.HighsLp, ptr %479, i32 0, i32 0
  %481 = load i32, ptr %480, align 8, !tbaa !74
  %482 = sext i32 %481 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %477, i64 noundef %482)
          to label %483 unwind label %507

483:                                              ; preds = %476
  %484 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 17
  %485 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %486 = load ptr, ptr %485, align 8, !tbaa !9
  %487 = getelementptr inbounds %class.HighsLp, ptr %486, i32 0, i32 0
  %488 = load i32, ptr %487, align 8, !tbaa !74
  %489 = sext i32 %488 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %484, i64 noundef %489)
          to label %490 unwind label %507

490:                                              ; preds = %483
  %491 = load i8, ptr %10, align 1, !tbaa !95, !range !96, !noundef !97
  %492 = trunc i8 %491 to i1
  br i1 %492, label %493, label %511

493:                                              ; preds = %490
  %494 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %495 = load ptr, ptr %494, align 8, !tbaa !9
  %496 = getelementptr inbounds %class.HighsLp, ptr %495, i32 0, i32 14
  %497 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %498 = load ptr, ptr %497, align 8, !tbaa !9
  %499 = getelementptr inbounds %class.HighsLp, ptr %498, i32 0, i32 0
  %500 = load i32, ptr %499, align 8, !tbaa !74
  %501 = sext i32 %500 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %496, i64 noundef %501)
          to label %502 unwind label %507

502:                                              ; preds = %493
  br label %511

503:                                              ; preds = %398
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %8, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #8
  br label %1779

507:                                              ; preds = %511, %493, %483, %476, %469, %462, %455, %448, %441, %432, %423, %414, %405
  %508 = landingpad { ptr, i32 }
          cleanup
  %509 = extractvalue { ptr, i32 } %508, 0
  store ptr %509, ptr %8, align 8
  %510 = extractvalue { ptr, i32 } %508, 1
  store i32 %510, ptr %9, align 4
  br label %1779

511:                                              ; preds = %502, %490
  %512 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 37
  %513 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %514 = load ptr, ptr %513, align 8, !tbaa !9
  %515 = getelementptr inbounds %class.HighsLp, ptr %514, i32 0, i32 0
  %516 = load i32, ptr %515, align 8, !tbaa !74
  %517 = sext i32 %516 to i64
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %512, i64 noundef %517)
          to label %518 unwind label %507

518:                                              ; preds = %511
  %519 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 53
  store i32 0, ptr %519, align 4, !tbaa !104
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #8
  %520 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %521 = load ptr, ptr %520, align 8, !tbaa !9
  %522 = getelementptr inbounds %class.HighsLp, ptr %521, i32 0, i32 1
  %523 = load i32, ptr %522, align 4, !tbaa !105
  store i32 %523, ptr %13, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #8
  %524 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %525 = load ptr, ptr %524, align 8, !tbaa !9
  %526 = getelementptr inbounds %class.HighsLp, ptr %525, i32 0, i32 15
  %527 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %526) #8
  %528 = icmp ugt i64 %527, 0
  %529 = zext i1 %528 to i8
  store i8 %529, ptr %14, align 1, !tbaa !95
  %530 = load i8, ptr %14, align 1, !tbaa !95, !range !96, !noundef !97
  %531 = trunc i8 %530 to i1
  br i1 %531, label %532, label %540

532:                                              ; preds = %518
  %533 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %534 = load ptr, ptr %533, align 8, !tbaa !9
  %535 = getelementptr inbounds %class.HighsLp, ptr %534, i32 0, i32 15
  %536 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %535) #8
  %537 = load i32, ptr %13, align 4, !tbaa !94
  %538 = sext i32 %537 to i64
  %539 = icmp eq i64 %536, %538
  br label %540

540:                                              ; preds = %532, %518
  %541 = phi i1 [ true, %518 ], [ %539, %532 ]
  br i1 %541, label %542, label %543

542:                                              ; preds = %540
  br label %545

543:                                              ; preds = %540
  call void @__assert_fail(ptr noundef @.str.69, ptr noundef @.str.55, i32 noundef 788, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

544:                                              ; No predecessors!
  br label %545

545:                                              ; preds = %544, %542
  %546 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %547 = load ptr, ptr %546, align 8, !tbaa !9
  %548 = getelementptr inbounds %class.HighsLp, ptr %547, i32 0, i32 1
  store i32 0, ptr %548, align 4, !tbaa !105
  call void @llvm.lifetime.start.p0(i64 24, ptr %15) #8
  %549 = load i32, ptr %13, align 4, !tbaa !94
  %550 = sext i32 %549 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #8
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %550, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %551 unwind label %557

551:                                              ; preds = %545
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #8
  store i32 0, ptr %17, align 4, !tbaa !94
  br label %552

552:                                              ; preds = %825, %551
  %553 = load i32, ptr %17, align 4, !tbaa !94
  %554 = load i32, ptr %13, align 4, !tbaa !94
  %555 = icmp ne i32 %553, %554
  br i1 %555, label %561, label %556

556:                                              ; preds = %552
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %828

557:                                              ; preds = %545
  %558 = landingpad { ptr, i32 }
          cleanup
  %559 = extractvalue { ptr, i32 } %558, 0
  store ptr %559, ptr %8, align 8
  %560 = extractvalue { ptr, i32 } %558, 1
  store i32 %560, ptr %9, align 4
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #8
  br label %1778

561:                                              ; preds = %552
  %562 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 46
  %563 = load i32, ptr %17, align 4, !tbaa !94
  %564 = sext i32 %563 to i64
  %565 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %562, i64 noundef %564) #8
  %566 = load i8, ptr %565, align 1, !tbaa !98
  %567 = icmp ne i8 %566, 0
  br i1 %567, label %568, label %572

568:                                              ; preds = %561
  %569 = load i32, ptr %17, align 4, !tbaa !94
  %570 = sext i32 %569 to i64
  %571 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %570) #8
  store i32 -1, ptr %571, align 4, !tbaa !94
  br label %824

572:                                              ; preds = %561
  %573 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %574 = load ptr, ptr %573, align 8, !tbaa !9
  %575 = getelementptr inbounds %class.HighsLp, ptr %574, i32 0, i32 1
  %576 = load i32, ptr %575, align 4, !tbaa !105
  %577 = add nsw i32 %576, 1
  store i32 %577, ptr %575, align 4, !tbaa !105
  %578 = load i32, ptr %17, align 4, !tbaa !94
  %579 = sext i32 %578 to i64
  %580 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %579) #8
  store i32 %576, ptr %580, align 4, !tbaa !94
  %581 = load i32, ptr %17, align 4, !tbaa !94
  %582 = sext i32 %581 to i64
  %583 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %582) #8
  %584 = load i32, ptr %583, align 4, !tbaa !94
  %585 = load i32, ptr %17, align 4, !tbaa !94
  %586 = icmp slt i32 %584, %585
  br i1 %586, label %587, label %823

587:                                              ; preds = %572
  %588 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %589 = load ptr, ptr %588, align 8, !tbaa !9
  %590 = getelementptr inbounds %class.HighsLp, ptr %589, i32 0, i32 5
  %591 = load i32, ptr %17, align 4, !tbaa !94
  %592 = sext i32 %591 to i64
  %593 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %590, i64 noundef %592) #8
  %594 = load double, ptr %593, align 8, !tbaa !99
  %595 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %596 = load ptr, ptr %595, align 8, !tbaa !9
  %597 = getelementptr inbounds %class.HighsLp, ptr %596, i32 0, i32 5
  %598 = load i32, ptr %17, align 4, !tbaa !94
  %599 = sext i32 %598 to i64
  %600 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %599) #8
  %601 = load i32, ptr %600, align 4, !tbaa !94
  %602 = sext i32 %601 to i64
  %603 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %597, i64 noundef %602) #8
  store double %594, ptr %603, align 8, !tbaa !99
  %604 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %605 = load ptr, ptr %604, align 8, !tbaa !9
  %606 = getelementptr inbounds %class.HighsLp, ptr %605, i32 0, i32 6
  %607 = load i32, ptr %17, align 4, !tbaa !94
  %608 = sext i32 %607 to i64
  %609 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %606, i64 noundef %608) #8
  %610 = load double, ptr %609, align 8, !tbaa !99
  %611 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %612 = load ptr, ptr %611, align 8, !tbaa !9
  %613 = getelementptr inbounds %class.HighsLp, ptr %612, i32 0, i32 6
  %614 = load i32, ptr %17, align 4, !tbaa !94
  %615 = sext i32 %614 to i64
  %616 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %615) #8
  %617 = load i32, ptr %616, align 4, !tbaa !94
  %618 = sext i32 %617 to i64
  %619 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %613, i64 noundef %618) #8
  store double %610, ptr %619, align 8, !tbaa !99
  %620 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %621 = load ptr, ptr %620, align 8, !tbaa !9
  %622 = getelementptr inbounds %class.HighsLp, ptr %621, i32 0, i32 5
  %623 = load i32, ptr %17, align 4, !tbaa !94
  %624 = sext i32 %623 to i64
  %625 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %624) #8
  %626 = load i32, ptr %625, align 4, !tbaa !94
  %627 = sext i32 %626 to i64
  %628 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %622, i64 noundef %627) #8
  %629 = load double, ptr %628, align 8, !tbaa !99
  %630 = invoke noundef zeroext i1 @_ZSt5isnand(double noundef %629)
          to label %631 unwind label %635

631:                                              ; preds = %587
  %632 = xor i1 %630, true
  br i1 %632, label %633, label %634

633:                                              ; preds = %631
  br label %640

634:                                              ; preds = %631
  call void @__assert_fail(ptr noundef @.str.70, ptr noundef @.str.55, i32 noundef 799, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

635:                                              ; preds = %657, %640, %587
  %636 = landingpad { ptr, i32 }
          cleanup
  %637 = extractvalue { ptr, i32 } %636, 0
  store ptr %637, ptr %8, align 8
  %638 = extractvalue { ptr, i32 } %636, 1
  store i32 %638, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #8
  br label %1777

639:                                              ; No predecessors!
  br label %640

640:                                              ; preds = %639, %633
  %641 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %642 = load ptr, ptr %641, align 8, !tbaa !9
  %643 = getelementptr inbounds %class.HighsLp, ptr %642, i32 0, i32 6
  %644 = load i32, ptr %17, align 4, !tbaa !94
  %645 = sext i32 %644 to i64
  %646 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %645) #8
  %647 = load i32, ptr %646, align 4, !tbaa !94
  %648 = sext i32 %647 to i64
  %649 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %643, i64 noundef %648) #8
  %650 = load double, ptr %649, align 8, !tbaa !99
  %651 = invoke noundef zeroext i1 @_ZSt5isnand(double noundef %650)
          to label %652 unwind label %635

652:                                              ; preds = %640
  %653 = xor i1 %651, true
  br i1 %653, label %654, label %655

654:                                              ; preds = %652
  br label %657

655:                                              ; preds = %652
  call void @__assert_fail(ptr noundef @.str.71, ptr noundef @.str.55, i32 noundef 800, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

656:                                              ; No predecessors!
  br label %657

657:                                              ; preds = %656, %654
  %658 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 24
  %659 = load i32, ptr %17, align 4, !tbaa !94
  %660 = sext i32 %659 to i64
  %661 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %658, i64 noundef %660) #8
  %662 = load double, ptr %661, align 8, !tbaa !99
  %663 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 24
  %664 = load i32, ptr %17, align 4, !tbaa !94
  %665 = sext i32 %664 to i64
  %666 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %665) #8
  %667 = load i32, ptr %666, align 4, !tbaa !94
  %668 = sext i32 %667 to i64
  %669 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %663, i64 noundef %668) #8
  store double %662, ptr %669, align 8, !tbaa !99
  %670 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 25
  %671 = load i32, ptr %17, align 4, !tbaa !94
  %672 = sext i32 %671 to i64
  %673 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %670, i64 noundef %672) #8
  %674 = load double, ptr %673, align 8, !tbaa !99
  %675 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 25
  %676 = load i32, ptr %17, align 4, !tbaa !94
  %677 = sext i32 %676 to i64
  %678 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %677) #8
  %679 = load i32, ptr %678, align 4, !tbaa !94
  %680 = sext i32 %679 to i64
  %681 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %675, i64 noundef %680) #8
  store double %674, ptr %681, align 8, !tbaa !99
  %682 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 26
  %683 = load i32, ptr %17, align 4, !tbaa !94
  %684 = sext i32 %683 to i64
  %685 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %682, i64 noundef %684) #8
  %686 = load double, ptr %685, align 8, !tbaa !99
  %687 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 26
  %688 = load i32, ptr %17, align 4, !tbaa !94
  %689 = sext i32 %688 to i64
  %690 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %689) #8
  %691 = load i32, ptr %690, align 4, !tbaa !94
  %692 = sext i32 %691 to i64
  %693 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %687, i64 noundef %692) #8
  store double %686, ptr %693, align 8, !tbaa !99
  %694 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 27
  %695 = load i32, ptr %17, align 4, !tbaa !94
  %696 = sext i32 %695 to i64
  %697 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %694, i64 noundef %696) #8
  %698 = load double, ptr %697, align 8, !tbaa !99
  %699 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 27
  %700 = load i32, ptr %17, align 4, !tbaa !94
  %701 = sext i32 %700 to i64
  %702 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %701) #8
  %703 = load i32, ptr %702, align 4, !tbaa !94
  %704 = sext i32 %703 to i64
  %705 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %699, i64 noundef %704) #8
  store double %698, ptr %705, align 8, !tbaa !99
  %706 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %707 = load i32, ptr %17, align 4, !tbaa !94
  %708 = sext i32 %707 to i64
  %709 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %706, i64 noundef %708) #8
  %710 = load i32, ptr %709, align 4, !tbaa !94
  %711 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %712 = load i32, ptr %17, align 4, !tbaa !94
  %713 = sext i32 %712 to i64
  %714 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %713) #8
  %715 = load i32, ptr %714, align 4, !tbaa !94
  %716 = sext i32 %715 to i64
  %717 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %711, i64 noundef %716) #8
  store i32 %710, ptr %717, align 4, !tbaa !94
  %718 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %719 = load i32, ptr %17, align 4, !tbaa !94
  %720 = sext i32 %719 to i64
  %721 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %718, i64 noundef %720) #8
  %722 = load i32, ptr %721, align 4, !tbaa !94
  %723 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %724 = load i32, ptr %17, align 4, !tbaa !94
  %725 = sext i32 %724 to i64
  %726 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %725) #8
  %727 = load i32, ptr %726, align 4, !tbaa !94
  %728 = sext i32 %727 to i64
  %729 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %723, i64 noundef %728) #8
  store i32 %722, ptr %729, align 4, !tbaa !94
  %730 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %731 = load i32, ptr %17, align 4, !tbaa !94
  %732 = sext i32 %731 to i64
  %733 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %730, i64 noundef %732) #8
  %734 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %735 = load i32, ptr %17, align 4, !tbaa !94
  %736 = sext i32 %735 to i64
  %737 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %736) #8
  %738 = load i32, ptr %737, align 4, !tbaa !94
  %739 = sext i32 %738 to i64
  %740 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %734, i64 noundef %739) #8
  %741 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(48) %740, ptr noundef nonnull align 8 dereferenceable(48) %733)
          to label %742 unwind label %635

742:                                              ; preds = %657
  %743 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 11
  %744 = load i32, ptr %17, align 4, !tbaa !94
  %745 = sext i32 %744 to i64
  %746 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %743, i64 noundef %745) #8
  %747 = load i32, ptr %746, align 4, !tbaa !94
  %748 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 11
  %749 = load i32, ptr %17, align 4, !tbaa !94
  %750 = sext i32 %749 to i64
  %751 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %750) #8
  %752 = load i32, ptr %751, align 4, !tbaa !94
  %753 = sext i32 %752 to i64
  %754 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %748, i64 noundef %753) #8
  store i32 %747, ptr %754, align 4, !tbaa !94
  %755 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 14
  %756 = load i32, ptr %17, align 4, !tbaa !94
  %757 = sext i32 %756 to i64
  %758 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %755, i64 noundef %757) #8
  %759 = load i32, ptr %758, align 4, !tbaa !94
  %760 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 14
  %761 = load i32, ptr %17, align 4, !tbaa !94
  %762 = sext i32 %761 to i64
  %763 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %762) #8
  %764 = load i32, ptr %763, align 4, !tbaa !94
  %765 = sext i32 %764 to i64
  %766 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %760, i64 noundef %765) #8
  store i32 %759, ptr %766, align 4, !tbaa !94
  %767 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 15
  %768 = load i32, ptr %17, align 4, !tbaa !94
  %769 = sext i32 %768 to i64
  %770 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %767, i64 noundef %769) #8
  %771 = load i32, ptr %770, align 4, !tbaa !94
  %772 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 15
  %773 = load i32, ptr %17, align 4, !tbaa !94
  %774 = sext i32 %773 to i64
  %775 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %774) #8
  %776 = load i32, ptr %775, align 4, !tbaa !94
  %777 = sext i32 %776 to i64
  %778 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %772, i64 noundef %777) #8
  store i32 %771, ptr %778, align 4, !tbaa !94
  %779 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 16
  %780 = load i32, ptr %17, align 4, !tbaa !94
  %781 = sext i32 %780 to i64
  %782 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %779, i64 noundef %781) #8
  %783 = load i32, ptr %782, align 4, !tbaa !94
  %784 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 16
  %785 = load i32, ptr %17, align 4, !tbaa !94
  %786 = sext i32 %785 to i64
  %787 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %786) #8
  %788 = load i32, ptr %787, align 4, !tbaa !94
  %789 = sext i32 %788 to i64
  %790 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %784, i64 noundef %789) #8
  store i32 %783, ptr %790, align 4, !tbaa !94
  %791 = load i8, ptr %14, align 1, !tbaa !95, !range !96, !noundef !97
  %792 = trunc i8 %791 to i1
  br i1 %792, label %793, label %810

793:                                              ; preds = %742
  %794 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %795 = load ptr, ptr %794, align 8, !tbaa !9
  %796 = getelementptr inbounds %class.HighsLp, ptr %795, i32 0, i32 15
  %797 = load i32, ptr %17, align 4, !tbaa !94
  %798 = sext i32 %797 to i64
  %799 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %796, i64 noundef %798) #8
  %800 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %801 = load ptr, ptr %800, align 8, !tbaa !9
  %802 = getelementptr inbounds %class.HighsLp, ptr %801, i32 0, i32 15
  %803 = load i32, ptr %17, align 4, !tbaa !94
  %804 = sext i32 %803 to i64
  %805 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %804) #8
  %806 = load i32, ptr %805, align 4, !tbaa !94
  %807 = sext i32 %806 to i64
  %808 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %802, i64 noundef %807) #8
  %809 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %808, ptr noundef nonnull align 8 dereferenceable(32) %799) #8
  br label %810

810:                                              ; preds = %793, %742
  %811 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 35
  %812 = load i32, ptr %17, align 4, !tbaa !94
  %813 = sext i32 %812 to i64
  %814 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %811, i64 noundef %813) #8
  %815 = load i8, ptr %814, align 1, !tbaa !98
  %816 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 35
  %817 = load i32, ptr %17, align 4, !tbaa !94
  %818 = sext i32 %817 to i64
  %819 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %818) #8
  %820 = load i32, ptr %819, align 4, !tbaa !94
  %821 = sext i32 %820 to i64
  %822 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %816, i64 noundef %821) #8
  store i8 %815, ptr %822, align 1, !tbaa !98
  br label %823

823:                                              ; preds = %810, %572
  br label %824

824:                                              ; preds = %823, %568
  br label %825

825:                                              ; preds = %824
  %826 = load i32, ptr %17, align 4, !tbaa !94
  %827 = add nsw i32 %826, 1
  store i32 %827, ptr %17, align 4, !tbaa !94
  br label %552, !llvm.loop !106

828:                                              ; preds = %556
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #8
  store i32 0, ptr %18, align 4, !tbaa !94
  br label %829

829:                                              ; preds = %878, %828
  %830 = load i32, ptr %18, align 4, !tbaa !94
  %831 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %832 = load ptr, ptr %831, align 8, !tbaa !9
  %833 = getelementptr inbounds %class.HighsLp, ptr %832, i32 0, i32 0
  %834 = load i32, ptr %833, align 8, !tbaa !74
  %835 = icmp ne i32 %830, %834
  br i1 %835, label %837, label %836

836:                                              ; preds = %829
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #8
  br label %881

837:                                              ; preds = %829
  %838 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %839 = load i32, ptr %18, align 4, !tbaa !94
  %840 = sext i32 %839 to i64
  %841 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %838, i64 noundef %840) #8
  %842 = load i32, ptr %841, align 4, !tbaa !94
  %843 = icmp ne i32 %842, -1
  br i1 %843, label %844, label %857

844:                                              ; preds = %837
  %845 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %846 = load i32, ptr %18, align 4, !tbaa !94
  %847 = sext i32 %846 to i64
  %848 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %845, i64 noundef %847) #8
  %849 = load i32, ptr %848, align 4, !tbaa !94
  %850 = sext i32 %849 to i64
  %851 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %850) #8
  %852 = load i32, ptr %851, align 4, !tbaa !94
  %853 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 22
  %854 = load i32, ptr %18, align 4, !tbaa !94
  %855 = sext i32 %854 to i64
  %856 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %853, i64 noundef %855) #8
  store i32 %852, ptr %856, align 4, !tbaa !94
  br label %857

857:                                              ; preds = %844, %837
  %858 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %859 = load i32, ptr %18, align 4, !tbaa !94
  %860 = sext i32 %859 to i64
  %861 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %858, i64 noundef %860) #8
  %862 = load i32, ptr %861, align 4, !tbaa !94
  %863 = icmp ne i32 %862, -1
  br i1 %863, label %864, label %877

864:                                              ; preds = %857
  %865 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %866 = load i32, ptr %18, align 4, !tbaa !94
  %867 = sext i32 %866 to i64
  %868 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %865, i64 noundef %867) #8
  %869 = load i32, ptr %868, align 4, !tbaa !94
  %870 = sext i32 %869 to i64
  %871 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %870) #8
  %872 = load i32, ptr %871, align 4, !tbaa !94
  %873 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 23
  %874 = load i32, ptr %18, align 4, !tbaa !94
  %875 = sext i32 %874 to i64
  %876 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %873, i64 noundef %875) #8
  store i32 %872, ptr %876, align 4, !tbaa !94
  br label %877

877:                                              ; preds = %864, %857
  br label %878

878:                                              ; preds = %877
  %879 = load i32, ptr %18, align 4, !tbaa !94
  %880 = add nsw i32 %879, 1
  store i32 %880, ptr %18, align 4, !tbaa !94
  br label %829, !llvm.loop !107

881:                                              ; preds = %836
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #8
  store i32 0, ptr %19, align 4, !tbaa !94
  br label %882

882:                                              ; preds = %931, %881
  %883 = load i32, ptr %19, align 4, !tbaa !94
  %884 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %885 = load ptr, ptr %884, align 8, !tbaa !9
  %886 = getelementptr inbounds %class.HighsLp, ptr %885, i32 0, i32 1
  %887 = load i32, ptr %886, align 4, !tbaa !105
  %888 = icmp ne i32 %883, %887
  br i1 %888, label %890, label %889

889:                                              ; preds = %882
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #8
  br label %934

890:                                              ; preds = %882
  %891 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %892 = load i32, ptr %19, align 4, !tbaa !94
  %893 = sext i32 %892 to i64
  %894 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %891, i64 noundef %893) #8
  %895 = load i32, ptr %894, align 4, !tbaa !94
  %896 = icmp ne i32 %895, -1
  br i1 %896, label %897, label %910

897:                                              ; preds = %890
  %898 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %899 = load i32, ptr %19, align 4, !tbaa !94
  %900 = sext i32 %899 to i64
  %901 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %898, i64 noundef %900) #8
  %902 = load i32, ptr %901, align 4, !tbaa !94
  %903 = sext i32 %902 to i64
  %904 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %903) #8
  %905 = load i32, ptr %904, align 4, !tbaa !94
  %906 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %907 = load i32, ptr %19, align 4, !tbaa !94
  %908 = sext i32 %907 to i64
  %909 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %906, i64 noundef %908) #8
  store i32 %905, ptr %909, align 4, !tbaa !94
  br label %910

910:                                              ; preds = %897, %890
  %911 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %912 = load i32, ptr %19, align 4, !tbaa !94
  %913 = sext i32 %912 to i64
  %914 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %911, i64 noundef %913) #8
  %915 = load i32, ptr %914, align 4, !tbaa !94
  %916 = icmp ne i32 %915, -1
  br i1 %916, label %917, label %930

917:                                              ; preds = %910
  %918 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %919 = load i32, ptr %19, align 4, !tbaa !94
  %920 = sext i32 %919 to i64
  %921 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %918, i64 noundef %920) #8
  %922 = load i32, ptr %921, align 4, !tbaa !94
  %923 = sext i32 %922 to i64
  %924 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %923) #8
  %925 = load i32, ptr %924, align 4, !tbaa !94
  %926 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %927 = load i32, ptr %19, align 4, !tbaa !94
  %928 = sext i32 %927 to i64
  %929 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %926, i64 noundef %928) #8
  store i32 %925, ptr %929, align 4, !tbaa !94
  br label %930

930:                                              ; preds = %917, %910
  br label %931

931:                                              ; preds = %930
  %932 = load i32, ptr %19, align 4, !tbaa !94
  %933 = add nsw i32 %932, 1
  store i32 %933, ptr %19, align 4, !tbaa !94
  br label %882, !llvm.loop !108

934:                                              ; preds = %889
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  store i32 0, ptr %20, align 4, !tbaa !94
  br label %935

935:                                              ; preds = %977, %934
  %936 = load i32, ptr %20, align 4, !tbaa !94
  %937 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %938 = load ptr, ptr %937, align 8, !tbaa !9
  %939 = getelementptr inbounds %class.HighsLp, ptr %938, i32 0, i32 0
  %940 = load i32, ptr %939, align 8, !tbaa !74
  %941 = icmp ne i32 %936, %940
  br i1 %941, label %943, label %942

942:                                              ; preds = %935
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %984

943:                                              ; preds = %935
  call void @llvm.lifetime.start.p0(i64 48, ptr %21) #8
  call void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  %944 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %945 = load i32, ptr %20, align 4, !tbaa !94
  %946 = sext i32 %945 to i64
  %947 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %944, i64 noundef %946) #8
  %948 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %947) #8
  %949 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %22, i32 0, i32 0
  store ptr %948, ptr %949, align 8
  %950 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %951 = load i32, ptr %20, align 4, !tbaa !94
  %952 = sext i32 %951 to i64
  %953 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %950, i64 noundef %952) #8
  %954 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE4cendEv(ptr noundef nonnull align 8 dereferenceable(48) %953) #8
  %955 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %23, i32 0, i32 0
  store ptr %954, ptr %955, align 8
  %956 = getelementptr inbounds %class.anon.402, ptr %24, i32 0, i32 0
  store ptr %15, ptr %956, align 8, !tbaa !5
  %957 = getelementptr inbounds %class.anon.402, ptr %24, i32 0, i32 1
  store ptr %21, ptr %957, align 8, !tbaa !5
  %958 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %22, i32 0, i32 0
  %959 = load ptr, ptr %958, align 8
  %960 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %23, i32 0, i32 0
  %961 = load ptr, ptr %960, align 8
  %962 = getelementptr inbounds { ptr, ptr }, ptr %24, i32 0, i32 0
  %963 = load ptr, ptr %962, align 8
  %964 = getelementptr inbounds { ptr, ptr }, ptr %24, i32 0, i32 1
  %965 = load ptr, ptr %964, align 8
  %966 = invoke { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_0ET0_T_S8_S7_"(ptr %959, ptr %961, ptr %963, ptr %965)
          to label %967 unwind label %980

967:                                              ; preds = %943
  %968 = getelementptr inbounds { ptr, ptr }, ptr %25, i32 0, i32 0
  %969 = extractvalue { ptr, ptr } %966, 0
  store ptr %969, ptr %968, align 8
  %970 = getelementptr inbounds { ptr, ptr }, ptr %25, i32 0, i32 1
  %971 = extractvalue { ptr, ptr } %966, 1
  store ptr %971, ptr %970, align 8
  %972 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 31
  %973 = load i32, ptr %20, align 4, !tbaa !94
  %974 = sext i32 %973 to i64
  %975 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %972, i64 noundef %974) #8
  %976 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(48) %975, ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #8
  br label %977

977:                                              ; preds = %967
  %978 = load i32, ptr %20, align 4, !tbaa !94
  %979 = add nsw i32 %978, 1
  store i32 %979, ptr %20, align 4, !tbaa !94
  br label %935, !llvm.loop !109

980:                                              ; preds = %943
  %981 = landingpad { ptr, i32 }
          cleanup
  %982 = extractvalue { ptr, i32 } %981, 0
  store ptr %982, ptr %8, align 8
  %983 = extractvalue { ptr, i32 } %981, 1
  store i32 %983, ptr %9, align 4
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %21) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  br label %1777

984:                                              ; preds = %942
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #8
  store i32 0, ptr %26, align 4, !tbaa !94
  br label %985

985:                                              ; preds = %1027, %984
  %986 = load i32, ptr %26, align 4, !tbaa !94
  %987 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %988 = load ptr, ptr %987, align 8, !tbaa !9
  %989 = getelementptr inbounds %class.HighsLp, ptr %988, i32 0, i32 1
  %990 = load i32, ptr %989, align 4, !tbaa !105
  %991 = icmp ne i32 %986, %990
  br i1 %991, label %993, label %992

992:                                              ; preds = %985
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  br label %1034

993:                                              ; preds = %985
  call void @llvm.lifetime.start.p0(i64 48, ptr %27) #8
  call void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  %994 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %995 = load i32, ptr %26, align 4, !tbaa !94
  %996 = sext i32 %995 to i64
  %997 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %994, i64 noundef %996) #8
  %998 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %997) #8
  %999 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %28, i32 0, i32 0
  store ptr %998, ptr %999, align 8
  %1000 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %1001 = load i32, ptr %26, align 4, !tbaa !94
  %1002 = sext i32 %1001 to i64
  %1003 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1000, i64 noundef %1002) #8
  %1004 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE4cendEv(ptr noundef nonnull align 8 dereferenceable(48) %1003) #8
  %1005 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %29, i32 0, i32 0
  store ptr %1004, ptr %1005, align 8
  %1006 = getelementptr inbounds %class.anon.403, ptr %30, i32 0, i32 0
  store ptr %6, ptr %1006, align 8, !tbaa !5
  %1007 = getelementptr inbounds %class.anon.403, ptr %30, i32 0, i32 1
  store ptr %27, ptr %1007, align 8, !tbaa !5
  %1008 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %28, i32 0, i32 0
  %1009 = load ptr, ptr %1008, align 8
  %1010 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator", ptr %29, i32 0, i32 0
  %1011 = load ptr, ptr %1010, align 8
  %1012 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 0
  %1013 = load ptr, ptr %1012, align 8
  %1014 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 1
  %1015 = load ptr, ptr %1014, align 8
  %1016 = invoke { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_1ET0_T_S8_S7_"(ptr %1009, ptr %1011, ptr %1013, ptr %1015)
          to label %1017 unwind label %1030

1017:                                             ; preds = %993
  %1018 = getelementptr inbounds { ptr, ptr }, ptr %31, i32 0, i32 0
  %1019 = extractvalue { ptr, ptr } %1016, 0
  store ptr %1019, ptr %1018, align 8
  %1020 = getelementptr inbounds { ptr, ptr }, ptr %31, i32 0, i32 1
  %1021 = extractvalue { ptr, ptr } %1016, 1
  store ptr %1021, ptr %1020, align 8
  %1022 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %1023 = load i32, ptr %26, align 4, !tbaa !94
  %1024 = sext i32 %1023 to i64
  %1025 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1022, i64 noundef %1024) #8
  %1026 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(48) %1025, ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %27) #8
  br label %1027

1027:                                             ; preds = %1017
  %1028 = load i32, ptr %26, align 4, !tbaa !94
  %1029 = add nsw i32 %1028, 1
  store i32 %1029, ptr %26, align 4, !tbaa !94
  br label %985, !llvm.loop !110

1030:                                             ; preds = %993
  %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
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %27) #8
  call void @llvm.lifetime.end.p0(i64 48, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #8
  br label %1777

1034:                                             ; preds = %992
  %1035 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 46
  %1036 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1037 = load ptr, ptr %1036, align 8, !tbaa !9
  %1038 = getelementptr inbounds %class.HighsLp, ptr %1037, i32 0, i32 1
  %1039 = load i32, ptr %1038, align 4, !tbaa !105
  %1040 = sext i32 %1039 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #8
  store i8 0, ptr %32, align 1, !tbaa !98
  invoke void @_ZNSt6vectorIhSaIhEE6assignEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %1035, i64 noundef %1040, ptr noundef nonnull align 1 dereferenceable(1) %32)
          to label %1041 unwind label %1149

1041:                                             ; preds = %1034
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #8
  %1042 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1043 = load ptr, ptr %1042, align 8, !tbaa !9
  %1044 = getelementptr inbounds %class.HighsLp, ptr %1043, i32 0, i32 5
  %1045 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1046 = load ptr, ptr %1045, align 8, !tbaa !9
  %1047 = getelementptr inbounds %class.HighsLp, ptr %1046, i32 0, i32 1
  %1048 = load i32, ptr %1047, align 4, !tbaa !105
  %1049 = sext i32 %1048 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1044, i64 noundef %1049)
          to label %1050 unwind label %1153

1050:                                             ; preds = %1041
  %1051 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1052 = load ptr, ptr %1051, align 8, !tbaa !9
  %1053 = getelementptr inbounds %class.HighsLp, ptr %1052, i32 0, i32 6
  %1054 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1055 = load ptr, ptr %1054, align 8, !tbaa !9
  %1056 = getelementptr inbounds %class.HighsLp, ptr %1055, i32 0, i32 1
  %1057 = load i32, ptr %1056, align 4, !tbaa !105
  %1058 = sext i32 %1057 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1053, i64 noundef %1058)
          to label %1059 unwind label %1153

1059:                                             ; preds = %1050
  %1060 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 24
  %1061 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1062 = load ptr, ptr %1061, align 8, !tbaa !9
  %1063 = getelementptr inbounds %class.HighsLp, ptr %1062, i32 0, i32 1
  %1064 = load i32, ptr %1063, align 4, !tbaa !105
  %1065 = sext i32 %1064 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1060, i64 noundef %1065)
          to label %1066 unwind label %1153

1066:                                             ; preds = %1059
  %1067 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 25
  %1068 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1069 = load ptr, ptr %1068, align 8, !tbaa !9
  %1070 = getelementptr inbounds %class.HighsLp, ptr %1069, i32 0, i32 1
  %1071 = load i32, ptr %1070, align 4, !tbaa !105
  %1072 = sext i32 %1071 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1067, i64 noundef %1072)
          to label %1073 unwind label %1153

1073:                                             ; preds = %1066
  %1074 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 26
  %1075 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1076 = load ptr, ptr %1075, align 8, !tbaa !9
  %1077 = getelementptr inbounds %class.HighsLp, ptr %1076, i32 0, i32 1
  %1078 = load i32, ptr %1077, align 4, !tbaa !105
  %1079 = sext i32 %1078 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1074, i64 noundef %1079)
          to label %1080 unwind label %1153

1080:                                             ; preds = %1073
  %1081 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 27
  %1082 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1083 = load ptr, ptr %1082, align 8, !tbaa !9
  %1084 = getelementptr inbounds %class.HighsLp, ptr %1083, i32 0, i32 1
  %1085 = load i32, ptr %1084, align 4, !tbaa !105
  %1086 = sext i32 %1085 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1081, i64 noundef %1086)
          to label %1087 unwind label %1153

1087:                                             ; preds = %1080
  %1088 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 28
  %1089 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1090 = load ptr, ptr %1089, align 8, !tbaa !9
  %1091 = getelementptr inbounds %class.HighsLp, ptr %1090, i32 0, i32 1
  %1092 = load i32, ptr %1091, align 4, !tbaa !105
  %1093 = sext i32 %1092 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1088, i64 noundef %1093)
          to label %1094 unwind label %1153

1094:                                             ; preds = %1087
  %1095 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 29
  %1096 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1097 = load ptr, ptr %1096, align 8, !tbaa !9
  %1098 = getelementptr inbounds %class.HighsLp, ptr %1097, i32 0, i32 1
  %1099 = load i32, ptr %1098, align 4, !tbaa !105
  %1100 = sext i32 %1099 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1095, i64 noundef %1100)
          to label %1101 unwind label %1153

1101:                                             ; preds = %1094
  %1102 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 30
  %1103 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1104 = load ptr, ptr %1103, align 8, !tbaa !9
  %1105 = getelementptr inbounds %class.HighsLp, ptr %1104, i32 0, i32 1
  %1106 = load i32, ptr %1105, align 4, !tbaa !105
  %1107 = sext i32 %1106 to i64
  invoke void @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1102, i64 noundef %1107)
          to label %1108 unwind label %1153

1108:                                             ; preds = %1101
  %1109 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 11
  %1110 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1111 = load ptr, ptr %1110, align 8, !tbaa !9
  %1112 = getelementptr inbounds %class.HighsLp, ptr %1111, i32 0, i32 1
  %1113 = load i32, ptr %1112, align 4, !tbaa !105
  %1114 = sext i32 %1113 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1109, i64 noundef %1114)
          to label %1115 unwind label %1153

1115:                                             ; preds = %1108
  %1116 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 14
  %1117 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1118 = load ptr, ptr %1117, align 8, !tbaa !9
  %1119 = getelementptr inbounds %class.HighsLp, ptr %1118, i32 0, i32 1
  %1120 = load i32, ptr %1119, align 4, !tbaa !105
  %1121 = sext i32 %1120 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1116, i64 noundef %1121)
          to label %1122 unwind label %1153

1122:                                             ; preds = %1115
  %1123 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 15
  %1124 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1125 = load ptr, ptr %1124, align 8, !tbaa !9
  %1126 = getelementptr inbounds %class.HighsLp, ptr %1125, i32 0, i32 1
  %1127 = load i32, ptr %1126, align 4, !tbaa !105
  %1128 = sext i32 %1127 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1123, i64 noundef %1128)
          to label %1129 unwind label %1153

1129:                                             ; preds = %1122
  %1130 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 16
  %1131 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1132 = load ptr, ptr %1131, align 8, !tbaa !9
  %1133 = getelementptr inbounds %class.HighsLp, ptr %1132, i32 0, i32 1
  %1134 = load i32, ptr %1133, align 4, !tbaa !105
  %1135 = sext i32 %1134 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1130, i64 noundef %1135)
          to label %1136 unwind label %1153

1136:                                             ; preds = %1129
  %1137 = load i8, ptr %14, align 1, !tbaa !95, !range !96, !noundef !97
  %1138 = trunc i8 %1137 to i1
  br i1 %1138, label %1139, label %1157

1139:                                             ; preds = %1136
  %1140 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1141 = load ptr, ptr %1140, align 8, !tbaa !9
  %1142 = getelementptr inbounds %class.HighsLp, ptr %1141, i32 0, i32 15
  %1143 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1144 = load ptr, ptr %1143, align 8, !tbaa !9
  %1145 = getelementptr inbounds %class.HighsLp, ptr %1144, i32 0, i32 1
  %1146 = load i32, ptr %1145, align 4, !tbaa !105
  %1147 = sext i32 %1146 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1142, i64 noundef %1147)
          to label %1148 unwind label %1153

1148:                                             ; preds = %1139
  br label %1157

1149:                                             ; preds = %1034
  %1150 = landingpad { ptr, i32 }
          cleanup
  %1151 = extractvalue { ptr, i32 } %1150, 0
  store ptr %1151, ptr %8, align 8
  %1152 = extractvalue { ptr, i32 } %1150, 1
  store i32 %1152, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #8
  br label %1777

1153:                                             ; preds = %1173, %1167, %1164, %1157, %1139, %1129, %1122, %1115, %1108, %1101, %1094, %1087, %1080, %1073, %1066, %1059, %1050, %1041
  %1154 = landingpad { ptr, i32 }
          cleanup
  %1155 = extractvalue { ptr, i32 } %1154, 0
  store ptr %1155, ptr %8, align 8
  %1156 = extractvalue { ptr, i32 } %1154, 1
  store i32 %1156, ptr %9, align 4
  br label %1777

1157:                                             ; preds = %1148, %1136
  %1158 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 35
  %1159 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1160 = load ptr, ptr %1159, align 8, !tbaa !9
  %1161 = getelementptr inbounds %class.HighsLp, ptr %1160, i32 0, i32 1
  %1162 = load i32, ptr %1161, align 4, !tbaa !105
  %1163 = sext i32 %1162 to i64
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1158, i64 noundef %1163)
          to label %1164 unwind label %1153

1164:                                             ; preds = %1157
  %1165 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 52
  store i32 0, ptr %1165, align 8, !tbaa !111
  %1166 = load ptr, ptr %4, align 8, !tbaa !5
  invoke void @_ZN8presolve19HighsPostsolveStack17compressIndexMapsERKSt6vectorIiSaIiEES5_(ptr noundef nonnull align 8 dereferenceable(224) %1166, ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %1167 unwind label %1153

1167:                                             ; preds = %1164
  %1168 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 32
  %1169 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1170 = load ptr, ptr %1169, align 8, !tbaa !9
  %1171 = getelementptr inbounds %class.HighsLp, ptr %1170, i32 0, i32 1
  %1172 = load i32, ptr %1171, align 4, !tbaa !105
  invoke void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240) %1168, ptr noundef nonnull align 8 dereferenceable(24) %15, i32 noundef %1172)
          to label %1173 unwind label %1153

1173:                                             ; preds = %1167
  %1174 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 33
  %1175 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1176 = load ptr, ptr %1175, align 8, !tbaa !9
  %1177 = getelementptr inbounds %class.HighsLp, ptr %1176, i32 0, i32 0
  %1178 = load i32, ptr %1177, align 8, !tbaa !74
  invoke void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240) %1174, ptr noundef nonnull align 8 dereferenceable(24) %6, i32 noundef %1178)
          to label %1179 unwind label %1153

1179:                                             ; preds = %1173
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #8
  %1180 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 5
  %1181 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %1180) #8
  %1182 = trunc i64 %1181 to i32
  store i32 %1182, ptr %33, align 4, !tbaa !94
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  store i32 0, ptr %34, align 4, !tbaa !94
  br label %1183

1183:                                             ; preds = %1247, %1179
  %1184 = load i32, ptr %34, align 4, !tbaa !94
  %1185 = load i32, ptr %33, align 4, !tbaa !94
  %1186 = icmp ne i32 %1184, %1185
  br i1 %1186, label %1188, label %1187

1187:                                             ; preds = %1183
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  br label %1250

1188:                                             ; preds = %1183
  %1189 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 5
  %1190 = load i32, ptr %34, align 4, !tbaa !94
  %1191 = sext i32 %1190 to i64
  %1192 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1189, i64 noundef %1191) #8
  %1193 = load double, ptr %1192, align 8, !tbaa !99
  %1194 = fcmp oeq double %1193, 0.000000e+00
  br i1 %1194, label %1195, label %1196

1195:                                             ; preds = %1188
  br label %1247

1196:                                             ; preds = %1188
  %1197 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 7
  %1198 = load i32, ptr %34, align 4, !tbaa !94
  %1199 = sext i32 %1198 to i64
  %1200 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1197, i64 noundef %1199) #8
  %1201 = load i32, ptr %1200, align 4, !tbaa !94
  %1202 = sext i32 %1201 to i64
  %1203 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1202) #8
  %1204 = load i32, ptr %1203, align 4, !tbaa !94
  %1205 = icmp ne i32 %1204, -1
  br i1 %1205, label %1206, label %1207

1206:                                             ; preds = %1196
  br label %1209

1207:                                             ; preds = %1196
  call void @__assert_fail(ptr noundef @.str.72, ptr noundef @.str.55, i32 noundef 876, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

1208:                                             ; No predecessors!
  br label %1209

1209:                                             ; preds = %1208, %1206
  %1210 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 6
  %1211 = load i32, ptr %34, align 4, !tbaa !94
  %1212 = sext i32 %1211 to i64
  %1213 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1210, i64 noundef %1212) #8
  %1214 = load i32, ptr %1213, align 4, !tbaa !94
  %1215 = sext i32 %1214 to i64
  %1216 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %1215) #8
  %1217 = load i32, ptr %1216, align 4, !tbaa !94
  %1218 = icmp ne i32 %1217, -1
  br i1 %1218, label %1219, label %1220

1219:                                             ; preds = %1209
  br label %1222

1220:                                             ; preds = %1209
  call void @__assert_fail(ptr noundef @.str.73, ptr noundef @.str.55, i32 noundef 877, ptr noundef @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #9
  unreachable

1221:                                             ; No predecessors!
  br label %1222

1222:                                             ; preds = %1221, %1219
  %1223 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 7
  %1224 = load i32, ptr %34, align 4, !tbaa !94
  %1225 = sext i32 %1224 to i64
  %1226 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1223, i64 noundef %1225) #8
  %1227 = load i32, ptr %1226, align 4, !tbaa !94
  %1228 = sext i32 %1227 to i64
  %1229 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1228) #8
  %1230 = load i32, ptr %1229, align 4, !tbaa !94
  %1231 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 7
  %1232 = load i32, ptr %34, align 4, !tbaa !94
  %1233 = sext i32 %1232 to i64
  %1234 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1231, i64 noundef %1233) #8
  store i32 %1230, ptr %1234, align 4, !tbaa !94
  %1235 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 6
  %1236 = load i32, ptr %34, align 4, !tbaa !94
  %1237 = sext i32 %1236 to i64
  %1238 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1235, i64 noundef %1237) #8
  %1239 = load i32, ptr %1238, align 4, !tbaa !94
  %1240 = sext i32 %1239 to i64
  %1241 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %1240) #8
  %1242 = load i32, ptr %1241, align 4, !tbaa !94
  %1243 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 6
  %1244 = load i32, ptr %34, align 4, !tbaa !94
  %1245 = sext i32 %1244 to i64
  %1246 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1243, i64 noundef %1245) #8
  store i32 %1242, ptr %1246, align 4, !tbaa !94
  br label %1247

1247:                                             ; preds = %1222, %1195
  %1248 = load i32, ptr %34, align 4, !tbaa !94
  %1249 = add nsw i32 %1248, 1
  store i32 %1249, ptr %34, align 4, !tbaa !94
  br label %1183, !llvm.loop !112

1250:                                             ; preds = %1187
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %1251 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 45
  store ptr %1251, ptr %35, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #8
  %1252 = load ptr, ptr %35, align 8, !tbaa !5
  %1253 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1252) #8
  %1254 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %36, i32 0, i32 0
  store ptr %1253, ptr %1254, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %1255 = load ptr, ptr %35, align 8, !tbaa !5
  %1256 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1255) #8
  %1257 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %37, i32 0, i32 0
  store ptr %1256, ptr %1257, align 8
  br label %1258

1258:                                             ; preds = %1269, %1250
  %1259 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %36, ptr noundef nonnull align 8 dereferenceable(8) %37) #8
  br i1 %1259, label %1261, label %1260

1260:                                             ; preds = %1258
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  br label %1271

1261:                                             ; preds = %1258
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #8
  %1262 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  store ptr %1262, ptr %38, align 8, !tbaa !5
  %1263 = load ptr, ptr %38, align 8, !tbaa !5
  %1264 = load i32, ptr %1263, align 4, !tbaa !94
  %1265 = sext i32 %1264 to i64
  %1266 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1265) #8
  %1267 = load i32, ptr %1266, align 4, !tbaa !94
  %1268 = load ptr, ptr %38, align 8, !tbaa !5
  store i32 %1267, ptr %1268, align 4, !tbaa !94
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #8
  br label %1269

1269:                                             ; preds = %1261
  %1270 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %36) #8
  br label %1258

1271:                                             ; preds = %1260
  %1272 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 45
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %1273 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 45
  %1274 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1273) #8
  %1275 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  store ptr %1274, ptr %1275, align 8
  %1276 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 45
  %1277 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1276) #8
  %1278 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %42, i32 0, i32 0
  store ptr %1277, ptr %1278, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #8
  store i32 -1, ptr %43, align 4, !tbaa !94
  %1279 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %41, i32 0, i32 0
  %1280 = load ptr, ptr %1279, align 8
  %1281 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %42, i32 0, i32 0
  %1282 = load ptr, ptr %1281, align 8
  %1283 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %1280, ptr %1282, ptr noundef nonnull align 4 dereferenceable(4) %43)
          to label %1284 unwind label %1306

1284:                                             ; preds = %1271
  %1285 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %40, i32 0, i32 0
  store ptr %1283, ptr %1285, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #8
  %1286 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 45
  %1287 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1286) #8
  %1288 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %45, i32 0, i32 0
  store ptr %1287, ptr %1288, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #8
  %1289 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %39, i32 0, i32 0
  %1290 = load ptr, ptr %1289, align 8
  %1291 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %44, i32 0, i32 0
  %1292 = load ptr, ptr %1291, align 8
  %1293 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %1272, ptr %1290, ptr %1292)
          to label %1294 unwind label %1310

1294:                                             ; preds = %1284
  %1295 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %46, i32 0, i32 0
  store ptr %1293, ptr %1295, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #8
  %1296 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 36
  store ptr %1296, ptr %47, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #8
  %1297 = load ptr, ptr %47, align 8, !tbaa !5
  %1298 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1297) #8
  %1299 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %48, i32 0, i32 0
  store ptr %1298, ptr %1299, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #8
  %1300 = load ptr, ptr %47, align 8, !tbaa !5
  %1301 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1300) #8
  %1302 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %49, i32 0, i32 0
  store ptr %1301, ptr %1302, align 8
  br label %1303

1303:                                             ; preds = %1323, %1294
  %1304 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %48, ptr noundef nonnull align 8 dereferenceable(8) %49) #8
  br i1 %1304, label %1315, label %1305

1305:                                             ; preds = %1303
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #8
  br label %1325

1306:                                             ; preds = %1271
  %1307 = landingpad { ptr, i32 }
          cleanup
  %1308 = extractvalue { ptr, i32 } %1307, 0
  store ptr %1308, ptr %8, align 8
  %1309 = extractvalue { ptr, i32 } %1307, 1
  store i32 %1309, ptr %9, align 4
  br label %1314

1310:                                             ; preds = %1284
  %1311 = landingpad { ptr, i32 }
          cleanup
  %1312 = extractvalue { ptr, i32 } %1311, 0
  store ptr %1312, ptr %8, align 8
  %1313 = extractvalue { ptr, i32 } %1311, 1
  store i32 %1313, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #8
  br label %1314

1314:                                             ; preds = %1310, %1306
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %1776

1315:                                             ; preds = %1303
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #8
  %1316 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  store ptr %1316, ptr %50, align 8, !tbaa !5
  %1317 = load ptr, ptr %50, align 8, !tbaa !5
  %1318 = load i32, ptr %1317, align 4, !tbaa !94
  %1319 = sext i32 %1318 to i64
  %1320 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1319) #8
  %1321 = load i32, ptr %1320, align 4, !tbaa !94
  %1322 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 %1321, ptr %1322, align 4, !tbaa !94
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #8
  br label %1323

1323:                                             ; preds = %1315
  %1324 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %48) #8
  br label %1303

1325:                                             ; preds = %1305
  %1326 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 36
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #8
  %1327 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 36
  %1328 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1327) #8
  %1329 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %53, i32 0, i32 0
  store ptr %1328, ptr %1329, align 8
  %1330 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 36
  %1331 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1330) #8
  %1332 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %54, i32 0, i32 0
  store ptr %1331, ptr %1332, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #8
  store i32 -1, ptr %55, align 4, !tbaa !94
  %1333 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %53, i32 0, i32 0
  %1334 = load ptr, ptr %1333, align 8
  %1335 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %54, i32 0, i32 0
  %1336 = load ptr, ptr %1335, align 8
  %1337 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %1334, ptr %1336, ptr noundef nonnull align 4 dereferenceable(4) %55)
          to label %1338 unwind label %1360

1338:                                             ; preds = %1325
  %1339 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %52, i32 0, i32 0
  store ptr %1337, ptr %1339, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %51, ptr noundef nonnull align 8 dereferenceable(8) %52) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  %1340 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 36
  %1341 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1340) #8
  %1342 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %57, i32 0, i32 0
  store ptr %1341, ptr %1342, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %56, ptr noundef nonnull align 8 dereferenceable(8) %57) #8
  %1343 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %51, i32 0, i32 0
  %1344 = load ptr, ptr %1343, align 8
  %1345 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %56, i32 0, i32 0
  %1346 = load ptr, ptr %1345, align 8
  %1347 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %1326, ptr %1344, ptr %1346)
          to label %1348 unwind label %1364

1348:                                             ; preds = %1338
  %1349 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %58, i32 0, i32 0
  store ptr %1347, ptr %1349, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #8
  %1350 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 44
  store ptr %1350, ptr %59, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #8
  %1351 = load ptr, ptr %59, align 8, !tbaa !5
  %1352 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1351) #8
  %1353 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %60, i32 0, i32 0
  store ptr %1352, ptr %1353, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #8
  %1354 = load ptr, ptr %59, align 8, !tbaa !5
  %1355 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1354) #8
  %1356 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %61, i32 0, i32 0
  store ptr %1355, ptr %1356, align 8
  br label %1357

1357:                                             ; preds = %1377, %1348
  %1358 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %60, ptr noundef nonnull align 8 dereferenceable(8) %61) #8
  br i1 %1358, label %1369, label %1359

1359:                                             ; preds = %1357
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #8
  br label %1379

1360:                                             ; preds = %1325
  %1361 = landingpad { ptr, i32 }
          cleanup
  %1362 = extractvalue { ptr, i32 } %1361, 0
  store ptr %1362, ptr %8, align 8
  %1363 = extractvalue { ptr, i32 } %1361, 1
  store i32 %1363, ptr %9, align 4
  br label %1368

1364:                                             ; preds = %1338
  %1365 = landingpad { ptr, i32 }
          cleanup
  %1366 = extractvalue { ptr, i32 } %1365, 0
  store ptr %1366, ptr %8, align 8
  %1367 = extractvalue { ptr, i32 } %1365, 1
  store i32 %1367, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  br label %1368

1368:                                             ; preds = %1364, %1360
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #8
  br label %1776

1369:                                             ; preds = %1357
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #8
  %1370 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  store ptr %1370, ptr %62, align 8, !tbaa !5
  %1371 = load ptr, ptr %62, align 8, !tbaa !5
  %1372 = load i32, ptr %1371, align 4, !tbaa !94
  %1373 = sext i32 %1372 to i64
  %1374 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %1373) #8
  %1375 = load i32, ptr %1374, align 4, !tbaa !94
  %1376 = load ptr, ptr %62, align 8, !tbaa !5
  store i32 %1375, ptr %1376, align 4, !tbaa !94
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  br label %1377

1377:                                             ; preds = %1369
  %1378 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  br label %1357

1379:                                             ; preds = %1359
  %1380 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 44
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #8
  %1381 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 44
  %1382 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1381) #8
  %1383 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  store ptr %1382, ptr %1383, align 8
  %1384 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 44
  %1385 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1384) #8
  %1386 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  store ptr %1385, ptr %1386, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #8
  store i32 -1, ptr %67, align 4, !tbaa !94
  %1387 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  %1388 = load ptr, ptr %1387, align 8
  %1389 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  %1390 = load ptr, ptr %1389, align 8
  %1391 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %1388, ptr %1390, ptr noundef nonnull align 4 dereferenceable(4) %67)
          to label %1392 unwind label %1414

1392:                                             ; preds = %1379
  %1393 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %64, i32 0, i32 0
  store ptr %1391, ptr %1393, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %63, ptr noundef nonnull align 8 dereferenceable(8) %64) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  %1394 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 44
  %1395 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1394) #8
  %1396 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %69, i32 0, i32 0
  store ptr %1395, ptr %1396, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %68, ptr noundef nonnull align 8 dereferenceable(8) %69) #8
  %1397 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %63, i32 0, i32 0
  %1398 = load ptr, ptr %1397, align 8
  %1399 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %68, i32 0, i32 0
  %1400 = load ptr, ptr %1399, align 8
  %1401 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %1380, ptr %1398, ptr %1400)
          to label %1402 unwind label %1418

1402:                                             ; preds = %1392
  %1403 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %70, i32 0, i32 0
  store ptr %1401, ptr %1403, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #8
  %1404 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 34
  store ptr %1404, ptr %71, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #8
  %1405 = load ptr, ptr %71, align 8, !tbaa !5
  %1406 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1405) #8
  %1407 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %72, i32 0, i32 0
  store ptr %1406, ptr %1407, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #8
  %1408 = load ptr, ptr %71, align 8, !tbaa !5
  %1409 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1408) #8
  %1410 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %73, i32 0, i32 0
  store ptr %1409, ptr %1410, align 8
  br label %1411

1411:                                             ; preds = %1431, %1402
  %1412 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %72, ptr noundef nonnull align 8 dereferenceable(8) %73) #8
  br i1 %1412, label %1423, label %1413

1413:                                             ; preds = %1411
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #8
  br label %1433

1414:                                             ; preds = %1379
  %1415 = landingpad { ptr, i32 }
          cleanup
  %1416 = extractvalue { ptr, i32 } %1415, 0
  store ptr %1416, ptr %8, align 8
  %1417 = extractvalue { ptr, i32 } %1415, 1
  store i32 %1417, ptr %9, align 4
  br label %1422

1418:                                             ; preds = %1392
  %1419 = landingpad { ptr, i32 }
          cleanup
  %1420 = extractvalue { ptr, i32 } %1419, 0
  store ptr %1420, ptr %8, align 8
  %1421 = extractvalue { ptr, i32 } %1419, 1
  store i32 %1421, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  br label %1422

1422:                                             ; preds = %1418, %1414
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #8
  br label %1776

1423:                                             ; preds = %1411
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #8
  %1424 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  store ptr %1424, ptr %74, align 8, !tbaa !5
  %1425 = load ptr, ptr %74, align 8, !tbaa !5
  %1426 = load i32, ptr %1425, align 4, !tbaa !94
  %1427 = sext i32 %1426 to i64
  %1428 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %1427) #8
  %1429 = load i32, ptr %1428, align 4, !tbaa !94
  %1430 = load ptr, ptr %74, align 8, !tbaa !5
  store i32 %1429, ptr %1430, align 4, !tbaa !94
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #8
  br label %1431

1431:                                             ; preds = %1423
  %1432 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %72) #8
  br label %1411

1433:                                             ; preds = %1413
  %1434 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 34
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #8
  %1435 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 34
  %1436 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1435) #8
  %1437 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %77, i32 0, i32 0
  store ptr %1436, ptr %1437, align 8
  %1438 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 34
  %1439 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1438) #8
  %1440 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %78, i32 0, i32 0
  store ptr %1439, ptr %1440, align 8
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #8
  store i32 -1, ptr %79, align 4, !tbaa !94
  %1441 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %77, i32 0, i32 0
  %1442 = load ptr, ptr %1441, align 8
  %1443 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %78, i32 0, i32 0
  %1444 = load ptr, ptr %1443, align 8
  %1445 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %1442, ptr %1444, ptr noundef nonnull align 4 dereferenceable(4) %79)
          to label %1446 unwind label %1468

1446:                                             ; preds = %1433
  %1447 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %76, i32 0, i32 0
  store ptr %1445, ptr %1447, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %75, ptr noundef nonnull align 8 dereferenceable(8) %76) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #8
  %1448 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 34
  %1449 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1448) #8
  %1450 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %81, i32 0, i32 0
  store ptr %1449, ptr %1450, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %80, ptr noundef nonnull align 8 dereferenceable(8) %81) #8
  %1451 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %75, i32 0, i32 0
  %1452 = load ptr, ptr %1451, align 8
  %1453 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.404", ptr %80, i32 0, i32 0
  %1454 = load ptr, ptr %1453, align 8
  %1455 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %1434, ptr %1452, ptr %1454)
          to label %1456 unwind label %1472

1456:                                             ; preds = %1446
  %1457 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %82, i32 0, i32 0
  store ptr %1455, ptr %1457, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #8
  %1458 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 38
  store ptr %1458, ptr %83, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #8
  %1459 = load ptr, ptr %83, align 8, !tbaa !5
  %1460 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1459) #8
  %1461 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %84, i32 0, i32 0
  store ptr %1460, ptr %1461, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #8
  %1462 = load ptr, ptr %83, align 8, !tbaa !5
  %1463 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1462) #8
  %1464 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %85, i32 0, i32 0
  store ptr %1463, ptr %1464, align 8
  br label %1465

1465:                                             ; preds = %1504, %1456
  %1466 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %84, ptr noundef nonnull align 8 dereferenceable(8) %85) #8
  br i1 %1466, label %1477, label %1467

1467:                                             ; preds = %1465
  store i32 31, ptr %86, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #8
  br label %1506

1468:                                             ; preds = %1433
  %1469 = landingpad { ptr, i32 }
          cleanup
  %1470 = extractvalue { ptr, i32 } %1469, 0
  store ptr %1470, ptr %8, align 8
  %1471 = extractvalue { ptr, i32 } %1469, 1
  store i32 %1471, ptr %9, align 4
  br label %1476

1472:                                             ; preds = %1446
  %1473 = landingpad { ptr, i32 }
          cleanup
  %1474 = extractvalue { ptr, i32 } %1473, 0
  store ptr %1474, ptr %8, align 8
  %1475 = extractvalue { ptr, i32 } %1473, 1
  store i32 %1475, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #8
  br label %1476

1476:                                             ; preds = %1472, %1468
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #8
  br label %1776

1477:                                             ; preds = %1465
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #8
  %1478 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %84) #8
  store ptr %1478, ptr %87, align 8, !tbaa !5
  %1479 = load ptr, ptr %87, align 8, !tbaa !5
  %1480 = getelementptr inbounds %"struct.std::pair", ptr %1479, i32 0, i32 0
  %1481 = load i32, ptr %1480, align 4, !tbaa !113
  %1482 = icmp eq i32 %1481, -1
  br i1 %1482, label %1483, label %1484

1483:                                             ; preds = %1477
  store i32 32, ptr %86, align 4
  br label %1501

1484:                                             ; preds = %1477
  %1485 = load ptr, ptr %87, align 8, !tbaa !5
  %1486 = getelementptr inbounds %"struct.std::pair", ptr %1485, i32 0, i32 0
  %1487 = load i32, ptr %1486, align 4, !tbaa !113
  %1488 = sext i32 %1487 to i64
  %1489 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %15, i64 noundef %1488) #8
  %1490 = load i32, ptr %1489, align 4, !tbaa !94
  %1491 = load ptr, ptr %87, align 8, !tbaa !5
  %1492 = getelementptr inbounds %"struct.std::pair", ptr %1491, i32 0, i32 0
  store i32 %1490, ptr %1492, align 4, !tbaa !113
  %1493 = load ptr, ptr %87, align 8, !tbaa !5
  %1494 = getelementptr inbounds %"struct.std::pair", ptr %1493, i32 0, i32 1
  %1495 = load i32, ptr %1494, align 4, !tbaa !115
  %1496 = sext i32 %1495 to i64
  %1497 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1496) #8
  %1498 = load i32, ptr %1497, align 4, !tbaa !94
  %1499 = load ptr, ptr %87, align 8, !tbaa !5
  %1500 = getelementptr inbounds %"struct.std::pair", ptr %1499, i32 0, i32 1
  store i32 %1498, ptr %1500, align 4, !tbaa !115
  store i32 0, ptr %86, align 4
  br label %1501

1501:                                             ; preds = %1484, %1483
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #8
  %1502 = load i32, ptr %86, align 4
  switch i32 %1502, label %1786 [
    i32 0, label %1503
    i32 32, label %1504
  ]

1503:                                             ; preds = %1501
  br label %1504

1504:                                             ; preds = %1503, %1501
  %1505 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %84) #8
  br label %1465

1506:                                             ; preds = %1467
  %1507 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 38
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #8
  %1508 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 38
  %1509 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %1508) #8
  %1510 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %90, i32 0, i32 0
  store ptr %1509, ptr %1510, align 8
  %1511 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 38
  %1512 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1511) #8
  %1513 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %91, i32 0, i32 0
  store ptr %1512, ptr %1513, align 8
  %1514 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %90, i32 0, i32 0
  %1515 = load ptr, ptr %1514, align 8
  %1516 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %91, i32 0, i32 0
  %1517 = load ptr, ptr %1516, align 8
  %1518 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS3_SaIS3_EEEEZN8presolve9HPresolve13shrinkProblemERNS9_19HighsPostsolveStackEE3$_2ET_SE_SE_T0_"(ptr %1515, ptr %1517)
          to label %1519 unwind label %1550

1519:                                             ; preds = %1506
  %1520 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %89, i32 0, i32 0
  store ptr %1518, ptr %1520, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIiiESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %88, ptr noundef nonnull align 8 dereferenceable(8) %89) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #8
  %1521 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 38
  %1522 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %1521) #8
  %1523 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %94, i32 0, i32 0
  store ptr %1522, ptr %1523, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIiiESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %93, ptr noundef nonnull align 8 dereferenceable(8) %94) #8
  %1524 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.406", ptr %88, i32 0, i32 0
  %1525 = load ptr, ptr %1524, align 8
  %1526 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.406", ptr %93, i32 0, i32 0
  %1527 = load ptr, ptr %1526, align 8
  %1528 = invoke ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %1507, ptr %1525, ptr %1527)
          to label %1529 unwind label %1554

1529:                                             ; preds = %1519
  %1530 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.405", ptr %95, i32 0, i32 0
  store ptr %1528, ptr %1530, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #8
  %1531 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 40
  call void @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(48) %1531) #8
  %1532 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 41
  %1533 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1534 = load ptr, ptr %1533, align 8, !tbaa !9
  %1535 = getelementptr inbounds %class.HighsLp, ptr %1534, i32 0, i32 1
  %1536 = load i32, ptr %1535, align 4, !tbaa !105
  %1537 = sext i32 %1536 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #8
  %1538 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 40
  %1539 = call ptr @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %1538) #8
  %1540 = getelementptr inbounds %"struct.std::_Rb_tree_const_iterator.408", ptr %96, i32 0, i32 0
  store ptr %1539, ptr %1540, align 8
  invoke void @_ZNSt6vectorISt23_Rb_tree_const_iteratorISt4pairIiiEESaIS3_EE6assignEmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %1532, i64 noundef %1537, ptr noundef nonnull align 8 dereferenceable(8) %96)
          to label %1541 unwind label %1559

1541:                                             ; preds = %1529
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #8
  store i32 0, ptr %97, align 4, !tbaa !94
  br label %1542

1542:                                             ; preds = %1597, %1541
  %1543 = load i32, ptr %97, align 4, !tbaa !94
  %1544 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1545 = load ptr, ptr %1544, align 8, !tbaa !9
  %1546 = getelementptr inbounds %class.HighsLp, ptr %1545, i32 0, i32 1
  %1547 = load i32, ptr %1546, align 4, !tbaa !105
  %1548 = icmp ne i32 %1543, %1547
  br i1 %1548, label %1563, label %1549

1549:                                             ; preds = %1542
  store i32 33, ptr %86, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #8
  br label %1600

1550:                                             ; preds = %1506
  %1551 = landingpad { ptr, i32 }
          cleanup
  %1552 = extractvalue { ptr, i32 } %1551, 0
  store ptr %1552, ptr %8, align 8
  %1553 = extractvalue { ptr, i32 } %1551, 1
  store i32 %1553, ptr %9, align 4
  br label %1558

1554:                                             ; preds = %1519
  %1555 = landingpad { ptr, i32 }
          cleanup
  %1556 = extractvalue { ptr, i32 } %1555, 0
  store ptr %1556, ptr %8, align 8
  %1557 = extractvalue { ptr, i32 } %1555, 1
  store i32 %1557, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #8
  br label %1558

1558:                                             ; preds = %1554, %1550
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #8
  br label %1776

1559:                                             ; preds = %1529
  %1560 = landingpad { ptr, i32 }
          cleanup
  %1561 = extractvalue { ptr, i32 } %1560, 0
  store ptr %1561, ptr %8, align 8
  %1562 = extractvalue { ptr, i32 } %1560, 1
  store i32 %1562, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #8
  br label %1776

1563:                                             ; preds = %1542
  %1564 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1565 = load ptr, ptr %1564, align 8, !tbaa !9
  %1566 = getelementptr inbounds %class.HighsLp, ptr %1565, i32 0, i32 5
  %1567 = load i32, ptr %97, align 4, !tbaa !94
  %1568 = sext i32 %1567 to i64
  %1569 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1566, i64 noundef %1568) #8
  %1570 = load double, ptr %1569, align 8, !tbaa !99
  %1571 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1572 = load ptr, ptr %1571, align 8, !tbaa !9
  %1573 = getelementptr inbounds %class.HighsLp, ptr %1572, i32 0, i32 6
  %1574 = load i32, ptr %97, align 4, !tbaa !94
  %1575 = sext i32 %1574 to i64
  %1576 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1573, i64 noundef %1575) #8
  %1577 = load double, ptr %1576, align 8, !tbaa !99
  %1578 = fcmp oeq double %1570, %1577
  br i1 %1578, label %1579, label %1596

1579:                                             ; preds = %1563
  call void @llvm.lifetime.start.p0(i64 16, ptr %98) #8
  %1580 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 40
  %1581 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 14
  %1582 = load i32, ptr %97, align 4, !tbaa !94
  %1583 = sext i32 %1582 to i64
  %1584 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1581, i64 noundef %1583) #8
  %1585 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE7emplaceIJRiS7_EEES0_ISt23_Rb_tree_const_iteratorIS1_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %1580, ptr noundef nonnull align 4 dereferenceable(4) %1584, ptr noundef nonnull align 4 dereferenceable(4) %97)
          to label %1586 unwind label %1592

1586:                                             ; preds = %1579
  store { ptr, i8 } %1585, ptr %99, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %98, ptr align 8 %99, i64 9, i1 false)
  %1587 = getelementptr inbounds %"struct.std::pair.409", ptr %98, i32 0, i32 0
  %1588 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 41
  %1589 = load i32, ptr %97, align 4, !tbaa !94
  %1590 = sext i32 %1589 to i64
  %1591 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorISt23_Rb_tree_const_iteratorISt4pairIiiEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1588, i64 noundef %1590) #8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1591, ptr align 8 %1587, i64 8, i1 false), !tbaa.struct !116
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #8
  br label %1596

1592:                                             ; preds = %1579
  %1593 = landingpad { ptr, i32 }
          cleanup
  %1594 = extractvalue { ptr, i32 } %1593, 0
  store ptr %1594, ptr %8, align 8
  %1595 = extractvalue { ptr, i32 } %1593, 1
  store i32 %1595, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %98) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #8
  br label %1776

1596:                                             ; preds = %1586, %1563
  br label %1597

1597:                                             ; preds = %1596
  %1598 = load i32, ptr %97, align 4, !tbaa !94
  %1599 = add nsw i32 %1598, 1
  store i32 %1599, ptr %97, align 4, !tbaa !94
  br label %1542, !llvm.loop !117

1600:                                             ; preds = %1549
  %1601 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1602 = load ptr, ptr %1601, align 8, !tbaa !118
  %1603 = icmp ne ptr %1602, null
  br i1 %1603, label %1604, label %1770

1604:                                             ; preds = %1600
  %1605 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1606 = load ptr, ptr %1605, align 8, !tbaa !118
  %1607 = getelementptr inbounds %class.HighsMipSolver, ptr %1606, i32 0, i32 25
  %1608 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1607) #8
  %1609 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1608, i32 0, i32 16
  store i8 0, ptr %1609, align 1, !tbaa !119
  call void @llvm.lifetime.start.p0(i64 120, ptr %100) #8
  %1610 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1611 = load ptr, ptr %1610, align 8, !tbaa !118
  invoke void @_ZN22HighsObjectiveFunctionC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(120) %100, ptr noundef nonnull align 8 dereferenceable(496) %1611)
          to label %1612 unwind label %1705

1612:                                             ; preds = %1604
  %1613 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1614 = load ptr, ptr %1613, align 8, !tbaa !118
  %1615 = getelementptr inbounds %class.HighsMipSolver, ptr %1614, i32 0, i32 25
  %1616 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1615) #8
  %1617 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1616, i32 0, i32 10
  %1618 = call noundef nonnull align 8 dereferenceable(120) ptr @_ZN22HighsObjectiveFunctionaSEOS_(ptr noundef nonnull align 8 dereferenceable(120) %1617, ptr noundef nonnull align 8 dereferenceable(120) %100) #8
  call void @_ZN22HighsObjectiveFunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(120) %100) #8
  call void @llvm.lifetime.end.p0(i64 120, ptr %100) #8
  call void @llvm.lifetime.start.p0(i64 824, ptr %101) #8
  %1619 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1620 = load ptr, ptr %1619, align 8, !tbaa !118
  invoke void @_ZN11HighsDomainC1ER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(824) %101, ptr noundef nonnull align 8 dereferenceable(496) %1620)
          to label %1621 unwind label %1709

1621:                                             ; preds = %1612
  %1622 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1623 = load ptr, ptr %1622, align 8, !tbaa !118
  %1624 = getelementptr inbounds %class.HighsMipSolver, ptr %1623, i32 0, i32 25
  %1625 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1624) #8
  %1626 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1625, i32 0, i32 3
  %1627 = invoke noundef nonnull align 8 dereferenceable(824) ptr @_ZN11HighsDomainaSERKS_(ptr noundef nonnull align 8 dereferenceable(824) %1626, ptr noundef nonnull align 8 dereferenceable(824) %101)
          to label %1628 unwind label %1713

1628:                                             ; preds = %1621
  call void @_ZN11HighsDomainD2Ev(ptr noundef nonnull align 8 dereferenceable(824) %101) #8
  call void @llvm.lifetime.end.p0(i64 824, ptr %101) #8
  %1629 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1630 = load ptr, ptr %1629, align 8, !tbaa !118
  %1631 = getelementptr inbounds %class.HighsMipSolver, ptr %1630, i32 0, i32 25
  %1632 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1631) #8
  %1633 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1632, i32 0, i32 6
  %1634 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1635 = load ptr, ptr %1634, align 8, !tbaa !9
  %1636 = getelementptr inbounds %class.HighsLp, ptr %1635, i32 0, i32 0
  %1637 = load i32, ptr %1636, align 8, !tbaa !74
  %1638 = load ptr, ptr %4, align 8, !tbaa !5
  %1639 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1640 = load ptr, ptr %1639, align 8, !tbaa !118
  %1641 = getelementptr inbounds %class.HighsMipSolver, ptr %1640, i32 0, i32 25
  %1642 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1641) #8
  %1643 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1642, i32 0, i32 3
  invoke void @_ZN16HighsCliqueTable7rebuildEiRKN8presolve19HighsPostsolveStackERK11HighsDomainRKSt6vectorIiSaIiEESB_(ptr noundef nonnull align 8 dereferenceable(488) %1633, i32 noundef %1637, ptr noundef nonnull align 8 dereferenceable(224) %1638, ptr noundef nonnull align 8 dereferenceable(824) %1643, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %1644 unwind label %1718

1644:                                             ; preds = %1628
  %1645 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1646 = load ptr, ptr %1645, align 8, !tbaa !118
  %1647 = getelementptr inbounds %class.HighsMipSolver, ptr %1646, i32 0, i32 25
  %1648 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1647) #8
  %1649 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1648, i32 0, i32 7
  %1650 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1651 = load ptr, ptr %1650, align 8, !tbaa !9
  %1652 = getelementptr inbounds %class.HighsLp, ptr %1651, i32 0, i32 0
  %1653 = load i32, ptr %1652, align 8, !tbaa !74
  invoke void @_ZN17HighsImplications7rebuildEiRKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(176) %1649, i32 noundef %1653, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %15)
          to label %1654 unwind label %1718

1654:                                             ; preds = %1644
  call void @llvm.lifetime.start.p0(i64 680, ptr %102) #8
  %1655 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1656 = load ptr, ptr %1655, align 8, !tbaa !118
  %1657 = getelementptr inbounds %class.HighsMipSolver, ptr %1656, i32 0, i32 2
  %1658 = load ptr, ptr %1657, align 8, !tbaa !422
  %1659 = getelementptr inbounds %class.HighsLp, ptr %1658, i32 0, i32 0
  %1660 = load i32, ptr %1659, align 8, !tbaa !74
  %1661 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1662 = load ptr, ptr %1661, align 8, !tbaa !118
  %1663 = getelementptr inbounds %class.HighsMipSolver, ptr %1662, i32 0, i32 1
  %1664 = load ptr, ptr %1663, align 8, !tbaa !432
  %1665 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1664, i32 0, i32 115
  %1666 = load i32, ptr %1665, align 4, !tbaa !433
  %1667 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1668 = load ptr, ptr %1667, align 8, !tbaa !118
  %1669 = getelementptr inbounds %class.HighsMipSolver, ptr %1668, i32 0, i32 1
  %1670 = load ptr, ptr %1669, align 8, !tbaa !432
  %1671 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1670, i32 0, i32 116
  %1672 = load i32, ptr %1671, align 8, !tbaa !434
  invoke void @_ZN12HighsCutPoolC2Eiii(ptr noundef nonnull align 8 dereferenceable(680) %102, i32 noundef %1660, i32 noundef %1666, i32 noundef %1672)
          to label %1673 unwind label %1722

1673:                                             ; preds = %1654
  %1674 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1675 = load ptr, ptr %1674, align 8, !tbaa !118
  %1676 = getelementptr inbounds %class.HighsMipSolver, ptr %1675, i32 0, i32 25
  %1677 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1676) #8
  %1678 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1677, i32 0, i32 1
  %1679 = call noundef nonnull align 8 dereferenceable(680) ptr @_ZN12HighsCutPoolaSEOS_(ptr noundef nonnull align 8 dereferenceable(680) %1678, ptr noundef nonnull align 8 dereferenceable(680) %102) #8
  call void @_ZN12HighsCutPoolD2Ev(ptr noundef nonnull align 8 dereferenceable(680) %102) #8
  call void @llvm.lifetime.end.p0(i64 680, ptr %102) #8
  call void @llvm.lifetime.start.p0(i64 224, ptr %103) #8
  %1680 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1681 = load ptr, ptr %1680, align 8, !tbaa !118
  %1682 = getelementptr inbounds %class.HighsMipSolver, ptr %1681, i32 0, i32 1
  %1683 = load ptr, ptr %1682, align 8, !tbaa !432
  %1684 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1683, i32 0, i32 115
  %1685 = load i32, ptr %1684, align 4, !tbaa !433
  %1686 = mul nsw i32 5, %1685
  %1687 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1688 = load ptr, ptr %1687, align 8, !tbaa !118
  %1689 = getelementptr inbounds %class.HighsMipSolver, ptr %1688, i32 0, i32 1
  %1690 = load ptr, ptr %1689, align 8, !tbaa !432
  %1691 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1690, i32 0, i32 116
  %1692 = load i32, ptr %1691, align 8, !tbaa !434
  invoke void @_ZN17HighsConflictPoolC2Eii(ptr noundef nonnull align 8 dereferenceable(224) %103, i32 noundef %1686, i32 noundef %1692)
          to label %1693 unwind label %1726

1693:                                             ; preds = %1673
  %1694 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1695 = load ptr, ptr %1694, align 8, !tbaa !118
  %1696 = getelementptr inbounds %class.HighsMipSolver, ptr %1695, i32 0, i32 25
  %1697 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1696) #8
  %1698 = getelementptr inbounds %struct.HighsMipSolverData, ptr %1697, i32 0, i32 2
  %1699 = call noundef nonnull align 8 dereferenceable(224) ptr @_ZN17HighsConflictPoolaSEOS_(ptr noundef nonnull align 8 dereferenceable(224) %1698, ptr noundef nonnull align 8 dereferenceable(224) %103) #8
  call void @_ZN17HighsConflictPoolD2Ev(ptr noundef nonnull align 8 dereferenceable(224) %103) #8
  call void @llvm.lifetime.end.p0(i64 224, ptr %103) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #8
  store i32 0, ptr %104, align 4, !tbaa !94
  br label %1700

1700:                                             ; preds = %1750, %1693
  %1701 = load i32, ptr %104, align 4, !tbaa !94
  %1702 = load i32, ptr %5, align 4, !tbaa !94
  %1703 = icmp ne i32 %1701, %1702
  br i1 %1703, label %1730, label %1704

1704:                                             ; preds = %1700
  store i32 36, ptr %86, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #8
  br label %1753

1705:                                             ; preds = %1604
  %1706 = landingpad { ptr, i32 }
          cleanup
  %1707 = extractvalue { ptr, i32 } %1706, 0
  store ptr %1707, ptr %8, align 8
  %1708 = extractvalue { ptr, i32 } %1706, 1
  store i32 %1708, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 120, ptr %100) #8
  br label %1776

1709:                                             ; preds = %1612
  %1710 = landingpad { ptr, i32 }
          cleanup
  %1711 = extractvalue { ptr, i32 } %1710, 0
  store ptr %1711, ptr %8, align 8
  %1712 = extractvalue { ptr, i32 } %1710, 1
  store i32 %1712, ptr %9, align 4
  br label %1717

1713:                                             ; preds = %1621
  %1714 = landingpad { ptr, i32 }
          cleanup
  %1715 = extractvalue { ptr, i32 } %1714, 0
  store ptr %1715, ptr %8, align 8
  %1716 = extractvalue { ptr, i32 } %1714, 1
  store i32 %1716, ptr %9, align 4
  call void @_ZN11HighsDomainD2Ev(ptr noundef nonnull align 8 dereferenceable(824) %101) #8
  br label %1717

1717:                                             ; preds = %1713, %1709
  call void @llvm.lifetime.end.p0(i64 824, ptr %101) #8
  br label %1776

1718:                                             ; preds = %1773, %1770, %1766, %1759, %1753, %1644, %1628
  %1719 = landingpad { ptr, i32 }
          cleanup
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %8, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %9, align 4
  br label %1776

1722:                                             ; preds = %1654
  %1723 = landingpad { ptr, i32 }
          cleanup
  %1724 = extractvalue { ptr, i32 } %1723, 0
  store ptr %1724, ptr %8, align 8
  %1725 = extractvalue { ptr, i32 } %1723, 1
  store i32 %1725, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 680, ptr %102) #8
  br label %1776

1726:                                             ; preds = %1673
  %1727 = landingpad { ptr, i32 }
          cleanup
  %1728 = extractvalue { ptr, i32 } %1727, 0
  store ptr %1728, ptr %8, align 8
  %1729 = extractvalue { ptr, i32 } %1727, 1
  store i32 %1729, ptr %9, align 4
  call void @llvm.lifetime.end.p0(i64 224, ptr %103) #8
  br label %1776

1730:                                             ; preds = %1700
  %1731 = load i32, ptr %104, align 4, !tbaa !94
  %1732 = sext i32 %1731 to i64
  %1733 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1732) #8
  %1734 = load i32, ptr %1733, align 4, !tbaa !94
  %1735 = icmp ne i32 %1734, -1
  br i1 %1735, label %1736, label %1749

1736:                                             ; preds = %1730
  %1737 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 48
  %1738 = load i32, ptr %104, align 4, !tbaa !94
  %1739 = sext i32 %1738 to i64
  %1740 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1737, i64 noundef %1739) #8
  %1741 = load i16, ptr %1740, align 2, !tbaa !435
  %1742 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 48
  %1743 = load i32, ptr %104, align 4, !tbaa !94
  %1744 = sext i32 %1743 to i64
  %1745 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %1744) #8
  %1746 = load i32, ptr %1745, align 4, !tbaa !94
  %1747 = sext i32 %1746 to i64
  %1748 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1742, i64 noundef %1747) #8
  store i16 %1741, ptr %1748, align 2, !tbaa !435
  br label %1749

1749:                                             ; preds = %1736, %1730
  br label %1750

1750:                                             ; preds = %1749
  %1751 = load i32, ptr %104, align 4, !tbaa !94
  %1752 = add nsw i32 %1751, 1
  store i32 %1752, ptr %104, align 4, !tbaa !94
  br label %1700, !llvm.loop !437

1753:                                             ; preds = %1704
  %1754 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 3
  %1755 = load ptr, ptr %1754, align 8, !tbaa !118
  %1756 = getelementptr inbounds %class.HighsMipSolver, ptr %1755, i32 0, i32 25
  %1757 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %1756) #8
  %1758 = getelementptr inbounds i8, ptr %1757, i64 26800
  invoke void @_ZNK13HighsDebugSol6shrinkERKSt6vectorIiSaIiEE(ptr noundef nonnull align 1 dereferenceable(1) %1758, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %1759 unwind label %1718

1759:                                             ; preds = %1753
  %1760 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 48
  %1761 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1762 = load ptr, ptr %1761, align 8, !tbaa !9
  %1763 = getelementptr inbounds %class.HighsLp, ptr %1762, i32 0, i32 0
  %1764 = load i32, ptr %1763, align 8, !tbaa !74
  %1765 = sext i32 %1764 to i64
  invoke void @_ZNSt6vectorItSaItEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %1760, i64 noundef %1765)
          to label %1766 unwind label %1718

1766:                                             ; preds = %1759
  %1767 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1768 = load ptr, ptr %1767, align 8, !tbaa !9
  invoke void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920) %1768)
          to label %1769 unwind label %1718

1769:                                             ; preds = %1766
  br label %1770

1770:                                             ; preds = %1769, %1600
  %1771 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 0
  %1772 = load ptr, ptr %1771, align 8, !tbaa !9
  invoke void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920) %1772)
          to label %1773 unwind label %1718

1773:                                             ; preds = %1770
  %1774 = getelementptr inbounds %"class.presolve::HPresolve", ptr %105, i32 0, i32 58
  invoke void @_ZN17HPresolveAnalysis15resetNumDeletedEv(ptr noundef nonnull align 8 dereferenceable(128) %1774)
          to label %1775 unwind label %1718

1775:                                             ; preds = %1773
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #8
  ret void

1776:                                             ; preds = %1726, %1722, %1718, %1717, %1705, %1592, %1559, %1558, %1476, %1422, %1368, %1314
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #8
  br label %1777

1777:                                             ; preds = %1776, %1153, %1149, %1030, %980, %635
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  br label %1778

1778:                                             ; preds = %1777, %557
  call void @llvm.lifetime.end.p0(i64 24, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #8
  br label %1779

1779:                                             ; preds = %1778, %507, %503, %237
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #8
  br label %1780

1780:                                             ; preds = %1779, %136
  call void @llvm.lifetime.end.p0(i64 24, ptr %6) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #8
  br label %1781

1781:                                             ; preds = %1780
  %1782 = load ptr, ptr %8, align 8
  %1783 = load i32, ptr %9, align 4
  %1784 = insertvalue { ptr, i32 } poison, ptr %1782, 0
  %1785 = insertvalue { ptr, i32 } %1784, i32 %1783, 1
  resume { ptr, i32 } %1785

1786:                                             ; preds = %1501
  unreachable
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnand(double noundef) #1

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_0ET0_T_S8_S7_"(ptr, ptr, ptr, ptr) #3

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_1ET0_T_S8_S7_"(ptr, ptr, ptr, ptr) #3

declare void @_ZN8presolve19HighsPostsolveStack17compressIndexMapsERKSt6vectorIiSaIiEES5_(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

declare void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS3_SaIS3_EEEEZN8presolve9HPresolve13shrinkProblemERNS9_19HighsPostsolveStackEE3$_2ET_SE_SE_T0_"(ptr, ptr) #6

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE7emplaceIJRiS7_EEES0_ISt23_Rb_tree_const_iteratorIS1_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) #3 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) #7

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

declare void @_ZN22HighsObjectiveFunctionC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(120), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #4

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

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

declare void @_ZN11HighsDomainC1ER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #4

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

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

declare void @_ZN16HighsCliqueTable7rebuildEiRKN8presolve19HighsPostsolveStackERK11HighsDomainRKSt6vectorIiSaIiEESB_(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, ptr noundef nonnull align 8 dereferenceable(224), ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

declare void @_ZN17HighsImplications7rebuildEiRKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12HighsCutPoolC2Eiii(ptr noundef nonnull align 8 dereferenceable(680), i32 noundef, i32 noundef, i32 noundef) unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17HighsConflictPoolC2Eii(ptr noundef nonnull align 8 dereferenceable(224), i32 noundef, i32 noundef) unnamed_addr #3 align 2

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

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

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

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

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

declare void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920)) #4

declare void @_ZN17HPresolveAnalysis15resetNumDeletedEv(ptr noundef nonnull align 8 dereferenceable(128)) #4

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

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

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

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


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

%"class.std::vector.5" = type { %"struct.std::_Vector_base.6" }
%"struct.std::_Vector_base.6" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.7" = type { i8 }
%"class.std::set.102" = type { %"class.std::_Rb_tree.103" }
%"class.std::_Rb_tree.103" = type { %"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<int>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<int, int, std::_Identity<int>, std::less<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.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.404" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.405" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.406" = type { ptr }
%"struct.std::_Rb_tree_const_iterator.408" = type { ptr }
%class.HighsObjectiveFunction = type { ptr, double, i32, i32, %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5" }
%"class.std::vector.20" = type { %"struct.std::_Vector_base.21" }
%"struct.std::_Vector_base.21" = 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.HighsDomain = type { %"class.std::vector.10", %"class.std::vector.5", %"class.std::vector.35", %"class.std::vector.156", %"class.std::vector.166", %"class.std::vector.171", %"class.std::vector.30", %"class.std::vector.30", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.10", %"class.std::vector.5", %"struct.HighsDomain::ObjectivePropagation", ptr, %"class.std::deque", %"class.std::deque.189", i8, %"struct.HighsDomain::Reason", i32, %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %class.HighsHashTable, i8, %"class.std::vector.20", %"class.std::vector.20" }
%"class.std::vector.35" = type { %"struct.std::_Vector_base.36" }
%"struct.std::_Vector_base.36" = 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.156" = type { %"struct.std::_Vector_base.157" }
%"struct.std::_Vector_base.157" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsDomainChange, std::allocator<HighsDomainChange>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.166" = type { %"struct.std::_Vector_base.167" }
%"struct.std::_Vector_base.167" = 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.171" = type { %"struct.std::_Vector_base.172" }
%"struct.std::_Vector_base.172" = 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.30" = type { %"struct.std::_Vector_base.31" }
%"struct.std::_Vector_base.31" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsCDouble, std::allocator<HighsCDouble>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.10" = type { %"struct.std::_Vector_base.11" }
%"struct.std::_Vector_base.11" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.HighsDomain::ObjectivePropagation" = type { ptr, ptr, ptr, %class.HighsCDouble, i32, double, i8, %"class.std::vector.176", %"class.std::vector.35", %"class.std::vector.20", %"class.std::vector.181" }
%class.HighsCDouble = type { double, double }
%"class.std::vector.176" = type { %"struct.std::_Vector_base.177" }
%"struct.std::_Vector_base.177" = 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.181" = type { %"struct.std::_Vector_base.182" }
%"struct.std::_Vector_base.182" = 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.189" = type { %"class.std::_Deque_base.190" }
%"class.std::_Deque_base.190" = 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.194", %"struct.std::_Deque_iterator.194" }
%"struct.std::_Deque_iterator.194" = type { ptr, ptr, ptr, ptr }
%"struct.HighsDomain::Reason" = type { i32, i32 }
%class.HighsHashTable = type { %"class.std::unique_ptr.195", %"class.std::unique_ptr.203", i64, i64, i64 }
%"class.std::unique_ptr.195" = type { %"struct.std::__uniq_ptr_data.196" }
%"struct.std::__uniq_ptr_data.196" = type { %"class.std::__uniq_ptr_impl.197" }
%"class.std::__uniq_ptr_impl.197" = type { %"class.std::tuple.198" }
%"class.std::tuple.198" = type { %"struct.std::_Tuple_impl.199" }
%"struct.std::_Tuple_impl.199" = type { %"struct.std::_Head_base.202" }
%"struct.std::_Head_base.202" = type { ptr }
%"class.std::unique_ptr.203" = type { %"struct.std::__uniq_ptr_data.204" }
%"struct.std::__uniq_ptr_data.204" = type { %"class.std::__uniq_ptr_impl.205" }
%"class.std::__uniq_ptr_impl.205" = type { %"class.std::tuple.206" }
%"class.std::tuple.206" = type { %"struct.std::_Tuple_impl.207" }
%"struct.std::_Tuple_impl.207" = type { %"struct.std::_Head_base.210" }
%"struct.std::_Head_base.210" = type { ptr }
%class.HighsCutPool = type { %class.HighsDynamicRowMatrix, %"class.std::vector.20", %"class.std::vector.117", %"class.std::vector.20", %"class.std::vector.20", %"class.std::vector.10", %"class.std::unordered_multimap", %"class.std::vector.141", %"class.std::set", double, double, double, i32, i32, i32, i32, i32, %"class.std::vector.5", %"class.std::vector.146" }
%class.HighsDynamicRowMatrix = type { %"class.std::vector.35", %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.5", %"class.std::vector.10", %"class.std::set", %"class.std::vector.5" }
%"class.std::vector.117" = type { %"struct.std::_Vector_base.118" }
%"struct.std::_Vector_base.118" = 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.122" }
%"class.std::_Hashtable.122" = 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.141" = type { %"struct.std::_Vector_base.142" }
%"struct.std::_Vector_base.142" = 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" }
%"class.std::vector.146" = type { %"struct.std::_Vector_base.147" }
%"struct.std::_Vector_base.147" = 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.5", %"class.std::vector.117", %"class.std::vector.151", %"class.std::vector.156", %"class.std::vector.35", %"class.std::set", %"class.std::vector.5", %"class.std::vector.161" }
%"class.std::vector.151" = type { %"struct.std::_Vector_base.152" }
%"struct.std::_Vector_base.152" = 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.161" = type { %"struct.std::_Vector_base.162" }
%"struct.std::_Vector_base.162" = 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 }

@.str.55 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [78 x i8], align 1
@__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE = external hidden unnamed_addr constant [63 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [27 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::vector.5", align 8
  %4 = alloca %"class.std::allocator.7", align 1
  %5 = alloca i8, align 1
  %6 = alloca %"class.std::vector.5", align 8
  %7 = alloca %"class.std::allocator.7", align 1
  %8 = alloca %"class.std::set.102", align 8
  %9 = alloca %"class.std::set.102", align 8
  %10 = alloca i8, align 1
  %11 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %12 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %13 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %14 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %17 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %18 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %19 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %22 = alloca i32, align 4
  %23 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %24 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %25 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %26 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %27 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %28 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %29 = alloca i32, align 4
  %30 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %31 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %33 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %35 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %36 = alloca i32, align 4
  %37 = alloca %"class.__gnu_cxx::__normal_iterator.404", align 8
  %38 = alloca %"class.__gnu_cxx::__normal_iterator", align 8
  %39 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %40 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %41 = alloca %"class.__gnu_cxx::__normal_iterator.406", align 8
  %42 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %43 = alloca %"class.__gnu_cxx::__normal_iterator.406", align 8
  %44 = alloca %"class.__gnu_cxx::__normal_iterator.405", align 8
  %45 = alloca %"struct.std::_Rb_tree_const_iterator.408", align 8
  %46 = alloca i32, align 4
  %47 = alloca %class.HighsObjectiveFunction, align 8
  %48 = alloca %class.HighsDomain, align 8
  %49 = alloca %class.HighsCutPool, align 8
  %50 = alloca %class.HighsConflictPool, align 8
  %51 = load ptr, ptr %0, align 8, !tbaa !5
  %52 = load i32, ptr %51, align 8, !tbaa !73
  store i32 0, ptr %51, align 8, !tbaa !73
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #7
  %53 = sext i32 %52 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %53, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %54 unwind label %64

54:                                               ; preds = %2
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  %55 = load ptr, ptr %0, align 8, !tbaa !5
  %56 = getelementptr inbounds i8, ptr %55, i64 328
  %57 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %56) #7
  %.not = icmp eq i64 %57, 0
  br i1 %.not, label %.critedge, label %58

58:                                               ; preds = %54
  %59 = load ptr, ptr %0, align 8, !tbaa !5
  %60 = getelementptr inbounds i8, ptr %59, i64 328
  %61 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %60) #7
  %62 = icmp eq i64 %61, %53
  br i1 %62, label %.critedge, label %63

63:                                               ; preds = %58
  call void @__assert_fail(ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.55, i32 noundef 744, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

64:                                               ; preds = %2
  %65 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #7
  br label %992

.critedge:                                        ; preds = %54, %58
  %.not208251 = icmp eq i32 %52, 0
  br i1 %.not208251, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %.critedge
  %66 = getelementptr inbounds i8, ptr %0, i64 1504
  %67 = getelementptr inbounds i8, ptr %0, i64 400
  %68 = getelementptr inbounds i8, ptr %0, i64 424
  %69 = getelementptr inbounds i8, ptr %0, i64 448
  %70 = getelementptr inbounds i8, ptr %0, i64 472
  %71 = getelementptr inbounds i8, ptr %0, i64 664
  %72 = getelementptr inbounds i8, ptr %0, i64 112
  %73 = getelementptr inbounds i8, ptr %0, i64 328
  %74 = getelementptr inbounds i8, ptr %0, i64 1240
  %75 = zext i32 %52 to i64
  br label %80

._crit_edge:                                      ; preds = %218, %.critedge
  %76 = getelementptr inbounds i8, ptr %0, i64 1504
  %77 = load ptr, ptr %0, align 8, !tbaa !5
  %78 = load i32, ptr %77, align 8, !tbaa !73
  %79 = sext i32 %78 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #7
  store i8 0, ptr %5, align 1, !tbaa !93
  invoke void @_ZNSt6vectorIhSaIhEE6assignEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %76, i64 noundef %79, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %219 unwind label %280

80:                                               ; preds = %.lr.ph, %218
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %218 ]
  %81 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv) #7
  %82 = load i8, ptr %81, align 1, !tbaa !93
  %.not243 = icmp eq i8 %82, 0
  br i1 %.not243, label %85, label %83

83:                                               ; preds = %80
  %84 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  store i32 -1, ptr %84, align 4, !tbaa !94
  br label %218

85:                                               ; preds = %80
  %86 = load ptr, ptr %0, align 8, !tbaa !5
  %87 = load i32, ptr %86, align 8, !tbaa !73
  %88 = add nsw i32 %87, 1
  store i32 %88, ptr %86, align 8, !tbaa !73
  %89 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  store i32 %87, ptr %89, align 4, !tbaa !94
  %90 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %91 = load i32, ptr %90, align 4, !tbaa !94
  %92 = sext i32 %91 to i64
  %93 = icmp sgt i64 %indvars.iv, %92
  br i1 %93, label %94, label %218

94:                                               ; preds = %85
  %95 = load ptr, ptr %0, align 8, !tbaa !5
  %96 = getelementptr inbounds i8, ptr %95, i64 8
  %97 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %96, i64 noundef %indvars.iv) #7
  %98 = load double, ptr %97, align 8, !tbaa !95
  %99 = load ptr, ptr %0, align 8, !tbaa !5
  %100 = getelementptr inbounds i8, ptr %99, i64 8
  %101 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %102 = load i32, ptr %101, align 4, !tbaa !94
  %103 = sext i32 %102 to i64
  %104 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %103) #7
  store double %98, ptr %104, align 8, !tbaa !95
  %105 = load ptr, ptr %0, align 8, !tbaa !5
  %106 = getelementptr inbounds i8, ptr %105, i64 32
  %107 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %106, i64 noundef %indvars.iv) #7
  %108 = load double, ptr %107, align 8, !tbaa !95
  %109 = load ptr, ptr %0, align 8, !tbaa !5
  %110 = getelementptr inbounds i8, ptr %109, i64 32
  %111 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %112 = load i32, ptr %111, align 4, !tbaa !94
  %113 = sext i32 %112 to i64
  %114 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %110, i64 noundef %113) #7
  store double %108, ptr %114, align 8, !tbaa !95
  %115 = load ptr, ptr %0, align 8, !tbaa !5
  %116 = getelementptr inbounds i8, ptr %115, i64 56
  %117 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %116, i64 noundef %indvars.iv) #7
  %118 = load double, ptr %117, align 8, !tbaa !95
  %119 = load ptr, ptr %0, align 8, !tbaa !5
  %120 = getelementptr inbounds i8, ptr %119, i64 56
  %121 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %122 = load i32, ptr %121, align 4, !tbaa !94
  %123 = sext i32 %122 to i64
  %124 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %120, i64 noundef %123) #7
  store double %118, ptr %124, align 8, !tbaa !95
  %125 = load ptr, ptr %0, align 8, !tbaa !5
  %126 = getelementptr inbounds i8, ptr %125, i64 32
  %127 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %128 = load i32, ptr %127, align 4, !tbaa !94
  %129 = sext i32 %128 to i64
  %130 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %126, i64 noundef %129) #7
  %131 = load double, ptr %130, align 8, !tbaa !95
  %132 = call noundef zeroext i1 @_ZSt5isnand(double noundef %131)
  br i1 %132, label %133, label %136

133:                                              ; preds = %94
  call void @__assert_fail(ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.55, i32 noundef 754, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

134:                                              ; preds = %146
  %135 = landingpad { ptr, i32 }
          cleanup
  br label %991

136:                                              ; preds = %94
  %137 = load ptr, ptr %0, align 8, !tbaa !5
  %138 = getelementptr inbounds i8, ptr %137, i64 56
  %139 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %140 = load i32, ptr %139, align 4, !tbaa !94
  %141 = sext i32 %140 to i64
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %138, i64 noundef %141) #7
  %143 = load double, ptr %142, align 8, !tbaa !95
  %144 = call noundef zeroext i1 @_ZSt5isnand(double noundef %143)
  br i1 %144, label %145, label %146

145:                                              ; preds = %136
  call void @__assert_fail(ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.55, i32 noundef 755, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

146:                                              ; preds = %136
  %147 = load ptr, ptr %0, align 8, !tbaa !5
  %148 = getelementptr inbounds i8, ptr %147, i64 376
  %149 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %148, i64 noundef %indvars.iv) #7
  %150 = load i8, ptr %149, align 1, !tbaa !96
  %151 = load ptr, ptr %0, align 8, !tbaa !5
  %152 = getelementptr inbounds i8, ptr %151, i64 376
  %153 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %154 = load i32, ptr %153, align 4, !tbaa !94
  %155 = sext i32 %154 to i64
  %156 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %152, i64 noundef %155) #7
  store i8 %150, ptr %156, align 1, !tbaa !96
  %157 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv) #7
  %158 = load double, ptr %157, align 8, !tbaa !95
  %159 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %160 = load i32, ptr %159, align 4, !tbaa !94
  %161 = sext i32 %160 to i64
  %162 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %161) #7
  store double %158, ptr %162, align 8, !tbaa !95
  %163 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef %indvars.iv) #7
  %164 = load double, ptr %163, align 8, !tbaa !95
  %165 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %166 = load i32, ptr %165, align 4, !tbaa !94
  %167 = sext i32 %166 to i64
  %168 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %68, i64 noundef %167) #7
  store double %164, ptr %168, align 8, !tbaa !95
  %169 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %indvars.iv) #7
  %170 = load i32, ptr %169, align 4, !tbaa !94
  %171 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %172 = load i32, ptr %171, align 4, !tbaa !94
  %173 = sext i32 %172 to i64
  %174 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %69, i64 noundef %173) #7
  store i32 %170, ptr %174, align 4, !tbaa !94
  %175 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %indvars.iv) #7
  %176 = load i32, ptr %175, align 4, !tbaa !94
  %177 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %178 = load i32, ptr %177, align 4, !tbaa !94
  %179 = sext i32 %178 to i64
  %180 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %70, i64 noundef %179) #7
  store i32 %176, ptr %180, align 4, !tbaa !94
  %181 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %indvars.iv) #7
  %182 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %183 = load i32, ptr %182, align 4, !tbaa !94
  %184 = sext i32 %183 to i64
  %185 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %71, i64 noundef %184) #7
  %186 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(48) %185, ptr noundef nonnull align 8 dereferenceable(48) %181)
          to label %187 unwind label %134

187:                                              ; preds = %146
  %188 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %indvars.iv) #7
  %189 = load i32, ptr %188, align 4, !tbaa !94
  %190 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %191 = load i32, ptr %190, align 4, !tbaa !94
  %192 = sext i32 %191 to i64
  %193 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %72, i64 noundef %192) #7
  store i32 %189, ptr %193, align 4, !tbaa !94
  %194 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %indvars.iv) #7
  %195 = load i32, ptr %194, align 4, !tbaa !94
  %196 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %197 = load i32, ptr %196, align 4, !tbaa !94
  %198 = sext i32 %197 to i64
  %199 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %73, i64 noundef %198) #7
  store i32 %195, ptr %199, align 4, !tbaa !94
  br i1 %.not, label %211, label %200

200:                                              ; preds = %187
  %201 = load ptr, ptr %0, align 8, !tbaa !5
  %202 = getelementptr inbounds i8, ptr %201, i64 328
  %203 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %202, i64 noundef %indvars.iv) #7
  %204 = load ptr, ptr %0, align 8, !tbaa !5
  %205 = getelementptr inbounds i8, ptr %204, i64 328
  %206 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %207 = load i32, ptr %206, align 4, !tbaa !94
  %208 = sext i32 %207 to i64
  %209 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %205, i64 noundef %208) #7
  %210 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %209, ptr noundef nonnull align 8 dereferenceable(32) %203) #7
  br label %211

211:                                              ; preds = %200, %187
  %212 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %indvars.iv) #7
  %213 = load i8, ptr %212, align 1, !tbaa !93
  %214 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv) #7
  %215 = load i32, ptr %214, align 4, !tbaa !94
  %216 = sext i32 %215 to i64
  %217 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %74, i64 noundef %216) #7
  store i8 %213, ptr %217, align 1, !tbaa !93
  br label %218

218:                                              ; preds = %83, %211, %85
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %.not208 = icmp eq i64 %indvars.iv.next, %75
  br i1 %.not208, label %._crit_edge, label %80, !llvm.loop !98

219:                                              ; preds = %._crit_edge
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  %220 = load ptr, ptr %0, align 8, !tbaa !5
  %221 = getelementptr inbounds i8, ptr %220, i64 8
  %222 = load i32, ptr %220, align 8, !tbaa !73
  %223 = sext i32 %222 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %221, i64 noundef %223)
          to label %224 unwind label %282

224:                                              ; preds = %219
  %225 = load ptr, ptr %0, align 8, !tbaa !5
  %226 = getelementptr inbounds i8, ptr %225, i64 32
  %227 = load i32, ptr %225, align 8, !tbaa !73
  %228 = sext i32 %227 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %226, i64 noundef %228)
          to label %229 unwind label %282

229:                                              ; preds = %224
  %230 = load ptr, ptr %0, align 8, !tbaa !5
  %231 = getelementptr inbounds i8, ptr %230, i64 56
  %232 = load i32, ptr %230, align 8, !tbaa !73
  %233 = sext i32 %232 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %231, i64 noundef %233)
          to label %234 unwind label %282

234:                                              ; preds = %229
  %235 = load ptr, ptr %0, align 8, !tbaa !5
  %236 = getelementptr inbounds i8, ptr %235, i64 376
  %237 = load i32, ptr %235, align 8, !tbaa !73
  %238 = sext i32 %237 to i64
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %236, i64 noundef %238)
          to label %239 unwind label %282

239:                                              ; preds = %234
  %240 = getelementptr inbounds i8, ptr %0, i64 400
  %241 = load ptr, ptr %0, align 8, !tbaa !5
  %242 = load i32, ptr %241, align 8, !tbaa !73
  %243 = sext i32 %242 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %240, i64 noundef %243)
          to label %244 unwind label %282

244:                                              ; preds = %239
  %245 = getelementptr inbounds i8, ptr %0, i64 424
  %246 = load ptr, ptr %0, align 8, !tbaa !5
  %247 = load i32, ptr %246, align 8, !tbaa !73
  %248 = sext i32 %247 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %245, i64 noundef %248)
          to label %249 unwind label %282

249:                                              ; preds = %244
  %250 = getelementptr inbounds i8, ptr %0, i64 448
  %251 = load ptr, ptr %0, align 8, !tbaa !5
  %252 = load i32, ptr %251, align 8, !tbaa !73
  %253 = sext i32 %252 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %253)
          to label %254 unwind label %282

254:                                              ; preds = %249
  %255 = getelementptr inbounds i8, ptr %0, i64 472
  %256 = load ptr, ptr %0, align 8, !tbaa !5
  %257 = load i32, ptr %256, align 8, !tbaa !73
  %258 = sext i32 %257 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef %258)
          to label %259 unwind label %282

259:                                              ; preds = %254
  %260 = getelementptr inbounds i8, ptr %0, i64 664
  %261 = load ptr, ptr %0, align 8, !tbaa !5
  %262 = load i32, ptr %261, align 8, !tbaa !73
  %263 = sext i32 %262 to i64
  invoke void @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %260, i64 noundef %263)
          to label %264 unwind label %282

264:                                              ; preds = %259
  %265 = getelementptr inbounds i8, ptr %0, i64 112
  %266 = load ptr, ptr %0, align 8, !tbaa !5
  %267 = load i32, ptr %266, align 8, !tbaa !73
  %268 = sext i32 %267 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %265, i64 noundef %268)
          to label %269 unwind label %282

269:                                              ; preds = %264
  %270 = getelementptr inbounds i8, ptr %0, i64 328
  %271 = load ptr, ptr %0, align 8, !tbaa !5
  %272 = load i32, ptr %271, align 8, !tbaa !73
  %273 = sext i32 %272 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %270, i64 noundef %273)
          to label %274 unwind label %282

274:                                              ; preds = %269
  br i1 %.not, label %284, label %275

275:                                              ; preds = %274
  %276 = load ptr, ptr %0, align 8, !tbaa !5
  %277 = getelementptr inbounds i8, ptr %276, i64 328
  %278 = load i32, ptr %276, align 8, !tbaa !73
  %279 = sext i32 %278 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %277, i64 noundef %279)
          to label %284 unwind label %282

280:                                              ; preds = %._crit_edge
  %281 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  br label %991

282:                                              ; preds = %284, %275, %269, %264, %259, %254, %249, %244, %239, %234, %229, %224, %219
  %283 = landingpad { ptr, i32 }
          cleanup
  br label %991

284:                                              ; preds = %275, %274
  %285 = getelementptr inbounds i8, ptr %0, i64 1240
  %286 = load ptr, ptr %0, align 8, !tbaa !5
  %287 = load i32, ptr %286, align 8, !tbaa !73
  %288 = sext i32 %287 to i64
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %285, i64 noundef %288)
          to label %289 unwind label %282

289:                                              ; preds = %284
  %290 = getelementptr inbounds i8, ptr %0, i64 1572
  store i32 0, ptr %290, align 4, !tbaa !100
  %291 = load ptr, ptr %0, align 8, !tbaa !5
  %292 = getelementptr inbounds i8, ptr %291, i64 4
  %293 = load i32, ptr %292, align 4, !tbaa !101
  %294 = getelementptr inbounds i8, ptr %291, i64 352
  %295 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %294) #7
  %.not209 = icmp eq i64 %295, 0
  br i1 %.not209, label %..critedge2_crit_edge, label %296

..critedge2_crit_edge:                            ; preds = %289
  %.pre325 = sext i32 %293 to i64
  br label %.critedge2

296:                                              ; preds = %289
  %297 = load ptr, ptr %0, align 8, !tbaa !5
  %298 = getelementptr inbounds i8, ptr %297, i64 352
  %299 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %298) #7
  %300 = sext i32 %293 to i64
  %301 = icmp eq i64 %299, %300
  br i1 %301, label %.critedge2, label %302

302:                                              ; preds = %296
  call void @__assert_fail(ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.55, i32 noundef 788, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

.critedge2:                                       ; preds = %..critedge2_crit_edge, %296
  %.pre-phi = phi i64 [ %.pre325, %..critedge2_crit_edge ], [ %300, %296 ]
  %303 = load ptr, ptr %0, align 8, !tbaa !5
  %304 = getelementptr inbounds i8, ptr %303, i64 4
  store i32 0, ptr %304, align 4, !tbaa !101
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #7
  call void @_ZNSaIiEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  invoke void @_ZNSt6vectorIiSaIiEEC2EmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %.pre-phi, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %305 unwind label %322

305:                                              ; preds = %.critedge2
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  %.not210253 = icmp eq i32 %293, 0
  br i1 %.not210253, label %.preheader249, label %.lr.ph256

.lr.ph256:                                        ; preds = %305
  %306 = getelementptr inbounds i8, ptr %0, i64 1480
  %307 = getelementptr inbounds i8, ptr %0, i64 496
  %308 = getelementptr inbounds i8, ptr %0, i64 520
  %309 = getelementptr inbounds i8, ptr %0, i64 544
  %310 = getelementptr inbounds i8, ptr %0, i64 568
  %311 = getelementptr inbounds i8, ptr %0, i64 592
  %312 = getelementptr inbounds i8, ptr %0, i64 616
  %313 = getelementptr inbounds i8, ptr %0, i64 640
  %314 = getelementptr inbounds i8, ptr %0, i64 184
  %315 = getelementptr inbounds i8, ptr %0, i64 256
  %316 = getelementptr inbounds i8, ptr %0, i64 280
  %317 = getelementptr inbounds i8, ptr %0, i64 304
  %318 = getelementptr inbounds i8, ptr %0, i64 1192
  %319 = zext i32 %293 to i64
  br label %324

.preheader249:                                    ; preds = %467, %305
  %320 = load ptr, ptr %0, align 8, !tbaa !5
  %321 = load i32, ptr %320, align 8, !tbaa !73
  %.not211257 = icmp eq i32 %321, 0
  br i1 %.not211257, label %.preheader248, label %.lr.ph259

322:                                              ; preds = %.critedge2
  %323 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIiED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  br label %990

324:                                              ; preds = %.lr.ph256, %467
  %indvars.iv302 = phi i64 [ 0, %.lr.ph256 ], [ %indvars.iv.next303, %467 ]
  %325 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %306, i64 noundef %indvars.iv302) #7
  %326 = load i8, ptr %325, align 1, !tbaa !93
  %.not239 = icmp eq i8 %326, 0
  br i1 %.not239, label %329, label %327

327:                                              ; preds = %324
  %328 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  store i32 -1, ptr %328, align 4, !tbaa !94
  br label %467

329:                                              ; preds = %324
  %330 = load ptr, ptr %0, align 8, !tbaa !5
  %331 = getelementptr inbounds i8, ptr %330, i64 4
  %332 = load i32, ptr %331, align 4, !tbaa !101
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr %331, align 4, !tbaa !101
  %334 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  store i32 %332, ptr %334, align 4, !tbaa !94
  %335 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %336 = load i32, ptr %335, align 4, !tbaa !94
  %337 = sext i32 %336 to i64
  %338 = icmp sgt i64 %indvars.iv302, %337
  br i1 %338, label %339, label %467

339:                                              ; preds = %329
  %340 = load ptr, ptr %0, align 8, !tbaa !5
  %341 = getelementptr inbounds i8, ptr %340, i64 80
  %342 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %341, i64 noundef %indvars.iv302) #7
  %343 = load double, ptr %342, align 8, !tbaa !95
  %344 = load ptr, ptr %0, align 8, !tbaa !5
  %345 = getelementptr inbounds i8, ptr %344, i64 80
  %346 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %347 = load i32, ptr %346, align 4, !tbaa !94
  %348 = sext i32 %347 to i64
  %349 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %345, i64 noundef %348) #7
  store double %343, ptr %349, align 8, !tbaa !95
  %350 = load ptr, ptr %0, align 8, !tbaa !5
  %351 = getelementptr inbounds i8, ptr %350, i64 104
  %352 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %351, i64 noundef %indvars.iv302) #7
  %353 = load double, ptr %352, align 8, !tbaa !95
  %354 = load ptr, ptr %0, align 8, !tbaa !5
  %355 = getelementptr inbounds i8, ptr %354, i64 104
  %356 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %357 = load i32, ptr %356, align 4, !tbaa !94
  %358 = sext i32 %357 to i64
  %359 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %355, i64 noundef %358) #7
  store double %353, ptr %359, align 8, !tbaa !95
  %360 = load ptr, ptr %0, align 8, !tbaa !5
  %361 = getelementptr inbounds i8, ptr %360, i64 80
  %362 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %363 = load i32, ptr %362, align 4, !tbaa !94
  %364 = sext i32 %363 to i64
  %365 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %361, i64 noundef %364) #7
  %366 = load double, ptr %365, align 8, !tbaa !95
  %367 = call noundef zeroext i1 @_ZSt5isnand(double noundef %366)
  br i1 %367, label %368, label %371

368:                                              ; preds = %339
  call void @__assert_fail(ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.55, i32 noundef 799, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

369:                                              ; preds = %381
  %370 = landingpad { ptr, i32 }
          cleanup
  br label %989

371:                                              ; preds = %339
  %372 = load ptr, ptr %0, align 8, !tbaa !5
  %373 = getelementptr inbounds i8, ptr %372, i64 104
  %374 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %375 = load i32, ptr %374, align 4, !tbaa !94
  %376 = sext i32 %375 to i64
  %377 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %373, i64 noundef %376) #7
  %378 = load double, ptr %377, align 8, !tbaa !95
  %379 = call noundef zeroext i1 @_ZSt5isnand(double noundef %378)
  br i1 %379, label %380, label %381

380:                                              ; preds = %371
  call void @__assert_fail(ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.55, i32 noundef 800, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

381:                                              ; preds = %371
  %382 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %307, i64 noundef %indvars.iv302) #7
  %383 = load double, ptr %382, align 8, !tbaa !95
  %384 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %385 = load i32, ptr %384, align 4, !tbaa !94
  %386 = sext i32 %385 to i64
  %387 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %307, i64 noundef %386) #7
  store double %383, ptr %387, align 8, !tbaa !95
  %388 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %308, i64 noundef %indvars.iv302) #7
  %389 = load double, ptr %388, align 8, !tbaa !95
  %390 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %391 = load i32, ptr %390, align 4, !tbaa !94
  %392 = sext i32 %391 to i64
  %393 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %308, i64 noundef %392) #7
  store double %389, ptr %393, align 8, !tbaa !95
  %394 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %309, i64 noundef %indvars.iv302) #7
  %395 = load double, ptr %394, align 8, !tbaa !95
  %396 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %397 = load i32, ptr %396, align 4, !tbaa !94
  %398 = sext i32 %397 to i64
  %399 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %309, i64 noundef %398) #7
  store double %395, ptr %399, align 8, !tbaa !95
  %400 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %310, i64 noundef %indvars.iv302) #7
  %401 = load double, ptr %400, align 8, !tbaa !95
  %402 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %403 = load i32, ptr %402, align 4, !tbaa !94
  %404 = sext i32 %403 to i64
  %405 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %310, i64 noundef %404) #7
  store double %401, ptr %405, align 8, !tbaa !95
  %406 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %311, i64 noundef %indvars.iv302) #7
  %407 = load i32, ptr %406, align 4, !tbaa !94
  %408 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %409 = load i32, ptr %408, align 4, !tbaa !94
  %410 = sext i32 %409 to i64
  %411 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %311, i64 noundef %410) #7
  store i32 %407, ptr %411, align 4, !tbaa !94
  %412 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %312, i64 noundef %indvars.iv302) #7
  %413 = load i32, ptr %412, align 4, !tbaa !94
  %414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %415 = load i32, ptr %414, align 4, !tbaa !94
  %416 = sext i32 %415 to i64
  %417 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %312, i64 noundef %416) #7
  store i32 %413, ptr %417, align 4, !tbaa !94
  %418 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %313, i64 noundef %indvars.iv302) #7
  %419 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %420 = load i32, ptr %419, align 4, !tbaa !94
  %421 = sext i32 %420 to i64
  %422 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %313, i64 noundef %421) #7
  %423 = invoke noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSERKS3_(ptr noundef nonnull align 8 dereferenceable(48) %422, ptr noundef nonnull align 8 dereferenceable(48) %418)
          to label %424 unwind label %369

424:                                              ; preds = %381
  %425 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %indvars.iv302) #7
  %426 = load i32, ptr %425, align 4, !tbaa !94
  %427 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %428 = load i32, ptr %427, align 4, !tbaa !94
  %429 = sext i32 %428 to i64
  %430 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %314, i64 noundef %429) #7
  store i32 %426, ptr %430, align 4, !tbaa !94
  %431 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %315, i64 noundef %indvars.iv302) #7
  %432 = load i32, ptr %431, align 4, !tbaa !94
  %433 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %434 = load i32, ptr %433, align 4, !tbaa !94
  %435 = sext i32 %434 to i64
  %436 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %315, i64 noundef %435) #7
  store i32 %432, ptr %436, align 4, !tbaa !94
  %437 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %indvars.iv302) #7
  %438 = load i32, ptr %437, align 4, !tbaa !94
  %439 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %440 = load i32, ptr %439, align 4, !tbaa !94
  %441 = sext i32 %440 to i64
  %442 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %316, i64 noundef %441) #7
  store i32 %438, ptr %442, align 4, !tbaa !94
  %443 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %317, i64 noundef %indvars.iv302) #7
  %444 = load i32, ptr %443, align 4, !tbaa !94
  %445 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %446 = load i32, ptr %445, align 4, !tbaa !94
  %447 = sext i32 %446 to i64
  %448 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %317, i64 noundef %447) #7
  store i32 %444, ptr %448, align 4, !tbaa !94
  br i1 %.not209, label %460, label %449

449:                                              ; preds = %424
  %450 = load ptr, ptr %0, align 8, !tbaa !5
  %451 = getelementptr inbounds i8, ptr %450, i64 352
  %452 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %451, i64 noundef %indvars.iv302) #7
  %453 = load ptr, ptr %0, align 8, !tbaa !5
  %454 = getelementptr inbounds i8, ptr %453, i64 352
  %455 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %456 = load i32, ptr %455, align 4, !tbaa !94
  %457 = sext i32 %456 to i64
  %458 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %454, i64 noundef %457) #7
  %459 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %458, ptr noundef nonnull align 8 dereferenceable(32) %452) #7
  br label %460

460:                                              ; preds = %449, %424
  %461 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %318, i64 noundef %indvars.iv302) #7
  %462 = load i8, ptr %461, align 1, !tbaa !93
  %463 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %indvars.iv302) #7
  %464 = load i32, ptr %463, align 4, !tbaa !94
  %465 = sext i32 %464 to i64
  %466 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %318, i64 noundef %465) #7
  store i8 %462, ptr %466, align 1, !tbaa !93
  br label %467

467:                                              ; preds = %327, %460, %329
  %indvars.iv.next303 = add nuw nsw i64 %indvars.iv302, 1
  %.not210 = icmp eq i64 %indvars.iv.next303, %319
  br i1 %.not210, label %.preheader249, label %324, !llvm.loop !102

.preheader248:                                    ; preds = %493, %.preheader249
  %468 = phi i32 [ 0, %.preheader249 ], [ %495, %493 ]
  %469 = phi ptr [ %320, %.preheader249 ], [ %494, %493 ]
  %470 = getelementptr inbounds i8, ptr %469, i64 4
  %471 = load i32, ptr %470, align 4, !tbaa !101
  %.not212260 = icmp eq i32 %471, 0
  br i1 %.not212260, label %.preheader247, label %.lr.ph262

.lr.ph262:                                        ; preds = %.preheader248
  %472 = getelementptr inbounds i8, ptr %0, i64 592
  %473 = getelementptr inbounds i8, ptr %0, i64 616
  br label %499

.lr.ph259:                                        ; preds = %.preheader249, %493
  %indvars.iv305 = phi i64 [ %indvars.iv.next306, %493 ], [ 0, %.preheader249 ]
  %474 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %indvars.iv305) #7
  %475 = load i32, ptr %474, align 4, !tbaa !94
  %.not237 = icmp eq i32 %475, -1
  br i1 %.not237, label %483, label %476

476:                                              ; preds = %.lr.ph259
  %477 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %indvars.iv305) #7
  %478 = load i32, ptr %477, align 4, !tbaa !94
  %479 = sext i32 %478 to i64
  %480 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %479) #7
  %481 = load i32, ptr %480, align 4, !tbaa !94
  %482 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %250, i64 noundef %indvars.iv305) #7
  store i32 %481, ptr %482, align 4, !tbaa !94
  br label %483

483:                                              ; preds = %476, %.lr.ph259
  %484 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef %indvars.iv305) #7
  %485 = load i32, ptr %484, align 4, !tbaa !94
  %.not238 = icmp eq i32 %485, -1
  br i1 %.not238, label %493, label %486

486:                                              ; preds = %483
  %487 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef %indvars.iv305) #7
  %488 = load i32, ptr %487, align 4, !tbaa !94
  %489 = sext i32 %488 to i64
  %490 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %489) #7
  %491 = load i32, ptr %490, align 4, !tbaa !94
  %492 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %255, i64 noundef %indvars.iv305) #7
  store i32 %491, ptr %492, align 4, !tbaa !94
  br label %493

493:                                              ; preds = %483, %486
  %indvars.iv.next306 = add nuw nsw i64 %indvars.iv305, 1
  %494 = load ptr, ptr %0, align 8, !tbaa !5
  %495 = load i32, ptr %494, align 8, !tbaa !73
  %496 = zext i32 %495 to i64
  %.not211 = icmp eq i64 %indvars.iv.next306, %496
  br i1 %.not211, label %.preheader248, label %.lr.ph259, !llvm.loop !103

.preheader247.loopexit:                           ; preds = %519
  %.pre = load i32, ptr %520, align 8, !tbaa !73
  br label %.preheader247

.preheader247:                                    ; preds = %.preheader247.loopexit, %.preheader248
  %497 = phi i32 [ %.pre, %.preheader247.loopexit ], [ %468, %.preheader248 ]
  %498 = phi ptr [ %520, %.preheader247.loopexit ], [ %469, %.preheader248 ]
  %.not213263 = icmp eq i32 %497, 0
  br i1 %.not213263, label %.preheader, label %.lr.ph265

499:                                              ; preds = %.lr.ph262, %519
  %indvars.iv308 = phi i64 [ 0, %.lr.ph262 ], [ %indvars.iv.next309, %519 ]
  %500 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %472, i64 noundef %indvars.iv308) #7
  %501 = load i32, ptr %500, align 4, !tbaa !94
  %.not235 = icmp eq i32 %501, -1
  br i1 %.not235, label %509, label %502

502:                                              ; preds = %499
  %503 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %472, i64 noundef %indvars.iv308) #7
  %504 = load i32, ptr %503, align 4, !tbaa !94
  %505 = sext i32 %504 to i64
  %506 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %505) #7
  %507 = load i32, ptr %506, align 4, !tbaa !94
  %508 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %472, i64 noundef %indvars.iv308) #7
  store i32 %507, ptr %508, align 4, !tbaa !94
  br label %509

509:                                              ; preds = %502, %499
  %510 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %indvars.iv308) #7
  %511 = load i32, ptr %510, align 4, !tbaa !94
  %.not236 = icmp eq i32 %511, -1
  br i1 %.not236, label %519, label %512

512:                                              ; preds = %509
  %513 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %indvars.iv308) #7
  %514 = load i32, ptr %513, align 4, !tbaa !94
  %515 = sext i32 %514 to i64
  %516 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %515) #7
  %517 = load i32, ptr %516, align 4, !tbaa !94
  %518 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %473, i64 noundef %indvars.iv308) #7
  store i32 %517, ptr %518, align 4, !tbaa !94
  br label %519

519:                                              ; preds = %509, %512
  %indvars.iv.next309 = add nuw nsw i64 %indvars.iv308, 1
  %520 = load ptr, ptr %0, align 8, !tbaa !5
  %521 = getelementptr inbounds i8, ptr %520, i64 4
  %522 = load i32, ptr %521, align 4, !tbaa !101
  %523 = zext i32 %522 to i64
  %.not212 = icmp eq i64 %indvars.iv.next309, %523
  br i1 %.not212, label %.preheader247.loopexit, label %499, !llvm.loop !104

.preheader:                                       ; preds = %533, %.preheader247
  %524 = phi ptr [ %498, %.preheader247 ], [ %536, %533 ]
  %525 = getelementptr inbounds i8, ptr %524, i64 4
  %526 = load i32, ptr %525, align 4, !tbaa !101
  %.not214266 = icmp eq i32 %526, 0
  br i1 %.not214266, label %._crit_edge269, label %.lr.ph268

.lr.ph268:                                        ; preds = %.preheader
  %527 = getelementptr inbounds i8, ptr %0, i64 640
  br label %543

.lr.ph265:                                        ; preds = %.preheader247, %533
  %indvars.iv311 = phi i64 [ %indvars.iv.next312, %533 ], [ 0, %.preheader247 ]
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %8) #7
  call void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  %528 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %260, i64 noundef %indvars.iv311) #7
  %529 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %528) #7
  %530 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %260, i64 noundef %indvars.iv311) #7
  %531 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE4cendEv(ptr noundef nonnull align 8 dereferenceable(48) %530) #7
  %532 = invoke { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_0ET0_T_S8_S7_"(ptr %529, ptr %531, ptr nonnull %6, ptr nonnull %8)
          to label %533 unwind label %539

533:                                              ; preds = %.lr.ph265
  %534 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %260, i64 noundef %indvars.iv311) #7
  %535 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(48) %534, ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  %indvars.iv.next312 = add nuw nsw i64 %indvars.iv311, 1
  %536 = load ptr, ptr %0, align 8, !tbaa !5
  %537 = load i32, ptr %536, align 8, !tbaa !73
  %538 = zext i32 %537 to i64
  %.not213 = icmp eq i64 %indvars.iv.next312, %538
  br i1 %.not213, label %.preheader, label %.lr.ph265, !llvm.loop !105

539:                                              ; preds = %.lr.ph265
  %540 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %8) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %8) #7
  br label %989

._crit_edge269:                                   ; preds = %549, %.preheader
  %.lcssa = phi i32 [ 0, %.preheader ], [ %554, %549 ]
  %541 = getelementptr inbounds i8, ptr %0, i64 1480
  %542 = sext i32 %.lcssa to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #7
  store i8 0, ptr %10, align 1, !tbaa !93
  invoke void @_ZNSt6vectorIhSaIhEE6assignEmRKh(ptr noundef nonnull align 8 dereferenceable(24) %541, i64 noundef %542, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %558 unwind label %643

543:                                              ; preds = %.lr.ph268, %549
  %indvars.iv314 = phi i64 [ 0, %.lr.ph268 ], [ %indvars.iv.next315, %549 ]
  call void @llvm.lifetime.start.p0(i64 48, ptr nonnull %9) #7
  call void @_ZNSt3setIiSt4lessIiESaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  %544 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %527, i64 noundef %indvars.iv314) #7
  %545 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE6cbeginEv(ptr noundef nonnull align 8 dereferenceable(48) %544) #7
  %546 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %527, i64 noundef %indvars.iv314) #7
  %547 = call ptr @_ZNKSt3setIiSt4lessIiESaIiEE4cendEv(ptr noundef nonnull align 8 dereferenceable(48) %546) #7
  %548 = invoke { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_1ET0_T_S8_S7_"(ptr %545, ptr %547, ptr nonnull %3, ptr nonnull %9)
          to label %549 unwind label %556

549:                                              ; preds = %543
  %550 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %527, i64 noundef %indvars.iv314) #7
  %551 = call noundef nonnull align 8 dereferenceable(48) ptr @_ZNSt3setIiSt4lessIiESaIiEEaSEOS3_(ptr noundef nonnull align 8 dereferenceable(48) %550, ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  %indvars.iv.next315 = add nuw nsw i64 %indvars.iv314, 1
  %552 = load ptr, ptr %0, align 8, !tbaa !5
  %553 = getelementptr inbounds i8, ptr %552, i64 4
  %554 = load i32, ptr %553, align 4, !tbaa !101
  %555 = zext i32 %554 to i64
  %.not214 = icmp eq i64 %indvars.iv.next315, %555
  br i1 %.not214, label %._crit_edge269, label %543, !llvm.loop !106

556:                                              ; preds = %543
  %557 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt3setIiSt4lessIiESaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(48) %9) #7
  call void @llvm.lifetime.end.p0(i64 48, ptr nonnull %9) #7
  br label %989

558:                                              ; preds = %._crit_edge269
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  %559 = load ptr, ptr %0, align 8, !tbaa !5
  %560 = getelementptr inbounds i8, ptr %559, i64 80
  %561 = getelementptr inbounds i8, ptr %559, i64 4
  %562 = load i32, ptr %561, align 4, !tbaa !101
  %563 = sext i32 %562 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %560, i64 noundef %563)
          to label %564 unwind label %645

564:                                              ; preds = %558
  %565 = load ptr, ptr %0, align 8, !tbaa !5
  %566 = getelementptr inbounds i8, ptr %565, i64 104
  %567 = getelementptr inbounds i8, ptr %565, i64 4
  %568 = load i32, ptr %567, align 4, !tbaa !101
  %569 = sext i32 %568 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %566, i64 noundef %569)
          to label %570 unwind label %645

570:                                              ; preds = %564
  %571 = getelementptr inbounds i8, ptr %0, i64 496
  %572 = load ptr, ptr %0, align 8, !tbaa !5
  %573 = getelementptr inbounds i8, ptr %572, i64 4
  %574 = load i32, ptr %573, align 4, !tbaa !101
  %575 = sext i32 %574 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %571, i64 noundef %575)
          to label %576 unwind label %645

576:                                              ; preds = %570
  %577 = getelementptr inbounds i8, ptr %0, i64 520
  %578 = load ptr, ptr %0, align 8, !tbaa !5
  %579 = getelementptr inbounds i8, ptr %578, i64 4
  %580 = load i32, ptr %579, align 4, !tbaa !101
  %581 = sext i32 %580 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %577, i64 noundef %581)
          to label %582 unwind label %645

582:                                              ; preds = %576
  %583 = getelementptr inbounds i8, ptr %0, i64 544
  %584 = load ptr, ptr %0, align 8, !tbaa !5
  %585 = getelementptr inbounds i8, ptr %584, i64 4
  %586 = load i32, ptr %585, align 4, !tbaa !101
  %587 = sext i32 %586 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %583, i64 noundef %587)
          to label %588 unwind label %645

588:                                              ; preds = %582
  %589 = getelementptr inbounds i8, ptr %0, i64 568
  %590 = load ptr, ptr %0, align 8, !tbaa !5
  %591 = getelementptr inbounds i8, ptr %590, i64 4
  %592 = load i32, ptr %591, align 4, !tbaa !101
  %593 = sext i32 %592 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %589, i64 noundef %593)
          to label %594 unwind label %645

594:                                              ; preds = %588
  %595 = getelementptr inbounds i8, ptr %0, i64 592
  %596 = load ptr, ptr %0, align 8, !tbaa !5
  %597 = getelementptr inbounds i8, ptr %596, i64 4
  %598 = load i32, ptr %597, align 4, !tbaa !101
  %599 = sext i32 %598 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %595, i64 noundef %599)
          to label %600 unwind label %645

600:                                              ; preds = %594
  %601 = getelementptr inbounds i8, ptr %0, i64 616
  %602 = load ptr, ptr %0, align 8, !tbaa !5
  %603 = getelementptr inbounds i8, ptr %602, i64 4
  %604 = load i32, ptr %603, align 4, !tbaa !101
  %605 = sext i32 %604 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %601, i64 noundef %605)
          to label %606 unwind label %645

606:                                              ; preds = %600
  %607 = getelementptr inbounds i8, ptr %0, i64 640
  %608 = load ptr, ptr %0, align 8, !tbaa !5
  %609 = getelementptr inbounds i8, ptr %608, i64 4
  %610 = load i32, ptr %609, align 4, !tbaa !101
  %611 = sext i32 %610 to i64
  invoke void @_ZNSt6vectorISt3setIiSt4lessIiESaIiEESaIS4_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %607, i64 noundef %611)
          to label %612 unwind label %645

612:                                              ; preds = %606
  %613 = getelementptr inbounds i8, ptr %0, i64 184
  %614 = load ptr, ptr %0, align 8, !tbaa !5
  %615 = getelementptr inbounds i8, ptr %614, i64 4
  %616 = load i32, ptr %615, align 4, !tbaa !101
  %617 = sext i32 %616 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %613, i64 noundef %617)
          to label %618 unwind label %645

618:                                              ; preds = %612
  %619 = getelementptr inbounds i8, ptr %0, i64 256
  %620 = load ptr, ptr %0, align 8, !tbaa !5
  %621 = getelementptr inbounds i8, ptr %620, i64 4
  %622 = load i32, ptr %621, align 4, !tbaa !101
  %623 = sext i32 %622 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %619, i64 noundef %623)
          to label %624 unwind label %645

624:                                              ; preds = %618
  %625 = getelementptr inbounds i8, ptr %0, i64 280
  %626 = load ptr, ptr %0, align 8, !tbaa !5
  %627 = getelementptr inbounds i8, ptr %626, i64 4
  %628 = load i32, ptr %627, align 4, !tbaa !101
  %629 = sext i32 %628 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %625, i64 noundef %629)
          to label %630 unwind label %645

630:                                              ; preds = %624
  %631 = getelementptr inbounds i8, ptr %0, i64 304
  %632 = load ptr, ptr %0, align 8, !tbaa !5
  %633 = getelementptr inbounds i8, ptr %632, i64 4
  %634 = load i32, ptr %633, align 4, !tbaa !101
  %635 = sext i32 %634 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %631, i64 noundef %635)
          to label %636 unwind label %645

636:                                              ; preds = %630
  br i1 %.not209, label %647, label %637

637:                                              ; preds = %636
  %638 = load ptr, ptr %0, align 8, !tbaa !5
  %639 = getelementptr inbounds i8, ptr %638, i64 352
  %640 = getelementptr inbounds i8, ptr %638, i64 4
  %641 = load i32, ptr %640, align 4, !tbaa !101
  %642 = sext i32 %641 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %639, i64 noundef %642)
          to label %647 unwind label %645

643:                                              ; preds = %._crit_edge269
  %644 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #7
  br label %989

645:                                              ; preds = %660, %655, %653, %647, %637, %630, %624, %618, %612, %606, %600, %594, %588, %582, %576, %570, %564, %558
  %646 = landingpad { ptr, i32 }
          cleanup
  br label %989

647:                                              ; preds = %637, %636
  %648 = getelementptr inbounds i8, ptr %0, i64 1192
  %649 = load ptr, ptr %0, align 8, !tbaa !5
  %650 = getelementptr inbounds i8, ptr %649, i64 4
  %651 = load i32, ptr %650, align 4, !tbaa !101
  %652 = sext i32 %651 to i64
  invoke void @_ZNSt6vectorIhSaIhEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %648, i64 noundef %652)
          to label %653 unwind label %645

653:                                              ; preds = %647
  %654 = getelementptr inbounds i8, ptr %0, i64 1568
  store i32 0, ptr %654, align 8, !tbaa !107
  invoke void @_ZN8presolve19HighsPostsolveStack17compressIndexMapsERKSt6vectorIiSaIiEES5_(ptr noundef nonnull align 8 dereferenceable(224) %1, ptr noundef nonnull align 8 dereferenceable(24) %6, ptr noundef nonnull align 8 dereferenceable(24) %3)
          to label %655 unwind label %645

655:                                              ; preds = %653
  %656 = getelementptr inbounds i8, ptr %0, i64 688
  %657 = load ptr, ptr %0, align 8, !tbaa !5
  %658 = getelementptr inbounds i8, ptr %657, i64 4
  %659 = load i32, ptr %658, align 4, !tbaa !101
  invoke void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240) %656, ptr noundef nonnull align 8 dereferenceable(24) %6, i32 noundef %659)
          to label %660 unwind label %645

660:                                              ; preds = %655
  %661 = getelementptr inbounds i8, ptr %0, i64 928
  %662 = load ptr, ptr %0, align 8, !tbaa !5
  %663 = load i32, ptr %662, align 8, !tbaa !73
  invoke void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240) %661, ptr noundef nonnull align 8 dereferenceable(24) %3, i32 noundef %663)
          to label %664 unwind label %645

664:                                              ; preds = %660
  %665 = getelementptr inbounds i8, ptr %0, i64 40
  %666 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %665) #7
  %667 = and i64 %666, 4294967295
  %.not215270 = icmp eq i64 %667, 0
  br i1 %.not215270, label %._crit_edge274, label %.lr.ph273

.lr.ph273:                                        ; preds = %664
  %668 = getelementptr inbounds i8, ptr %0, i64 88
  %669 = getelementptr inbounds i8, ptr %0, i64 64
  %670 = and i64 %666, 4294967295
  br label %675

._crit_edge274:                                   ; preds = %706, %664
  %671 = getelementptr inbounds i8, ptr %0, i64 1456
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  %672 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #7
  store ptr %672, ptr %11, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #7
  %673 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #7
  store ptr %673, ptr %12, align 8
  %674 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  br i1 %674, label %.lr.ph276, label %._crit_edge277

675:                                              ; preds = %.lr.ph273, %706
  %indvars.iv317 = phi i64 [ 0, %.lr.ph273 ], [ %indvars.iv.next318, %706 ]
  %676 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %665, i64 noundef %indvars.iv317) #7
  %677 = load double, ptr %676, align 8, !tbaa !95
  %678 = fcmp oeq double %677, 0.000000e+00
  br i1 %678, label %706, label %679

679:                                              ; preds = %675
  %680 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %indvars.iv317) #7
  %681 = load i32, ptr %680, align 4, !tbaa !94
  %682 = sext i32 %681 to i64
  %683 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %682) #7
  %684 = load i32, ptr %683, align 4, !tbaa !94
  %.not233 = icmp eq i32 %684, -1
  br i1 %.not233, label %685, label %686

685:                                              ; preds = %679
  call void @__assert_fail(ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.55, i32 noundef 876, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

686:                                              ; preds = %679
  %687 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %669, i64 noundef %indvars.iv317) #7
  %688 = load i32, ptr %687, align 4, !tbaa !94
  %689 = sext i32 %688 to i64
  %690 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %689) #7
  %691 = load i32, ptr %690, align 4, !tbaa !94
  %.not234 = icmp eq i32 %691, -1
  br i1 %.not234, label %692, label %693

692:                                              ; preds = %686
  call void @__assert_fail(ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.55, i32 noundef 877, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE) #8
  unreachable

693:                                              ; preds = %686
  %694 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %indvars.iv317) #7
  %695 = load i32, ptr %694, align 4, !tbaa !94
  %696 = sext i32 %695 to i64
  %697 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %696) #7
  %698 = load i32, ptr %697, align 4, !tbaa !94
  %699 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %668, i64 noundef %indvars.iv317) #7
  store i32 %698, ptr %699, align 4, !tbaa !94
  %700 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %669, i64 noundef %indvars.iv317) #7
  %701 = load i32, ptr %700, align 4, !tbaa !94
  %702 = sext i32 %701 to i64
  %703 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %702) #7
  %704 = load i32, ptr %703, align 4, !tbaa !94
  %705 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %669, i64 noundef %indvars.iv317) #7
  store i32 %704, ptr %705, align 4, !tbaa !94
  br label %706

706:                                              ; preds = %675, %693
  %indvars.iv.next318 = add nuw nsw i64 %indvars.iv317, 1
  %.not215 = icmp eq i64 %indvars.iv.next318, %670
  br i1 %.not215, label %._crit_edge274, label %675, !llvm.loop !108

._crit_edge277:                                   ; preds = %.lr.ph276, %._crit_edge274
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  %707 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #7
  %708 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  store i32 -1, ptr %15, align 4, !tbaa !94
  %709 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %707, ptr %708, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %717 unwind label %730

.lr.ph276:                                        ; preds = %._crit_edge274, %.lr.ph276
  %710 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  %711 = load i32, ptr %710, align 4, !tbaa !94
  %712 = sext i32 %711 to i64
  %713 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %712) #7
  %714 = load i32, ptr %713, align 4, !tbaa !94
  store i32 %714, ptr %710, align 4, !tbaa !94
  %715 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %11) #7
  %716 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12) #7
  br i1 %716, label %.lr.ph276, label %._crit_edge277

717:                                              ; preds = %._crit_edge277
  store ptr %709, ptr %14, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #7
  %718 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %671) #7
  store ptr %718, ptr %17, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17) #7
  %719 = load ptr, ptr %13, align 8
  %720 = load ptr, ptr %16, align 8
  %721 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %671, ptr %719, ptr %720)
          to label %722 unwind label %732

722:                                              ; preds = %717
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  %723 = getelementptr inbounds i8, ptr %0, i64 1216
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %724 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %723) #7
  store ptr %724, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %725 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %723) #7
  store ptr %725, ptr %19, align 8
  %726 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  br i1 %726, label %.lr.ph279, label %._crit_edge280

._crit_edge280:                                   ; preds = %.lr.ph279, %722
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %727 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %723) #7
  %728 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %723) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #7
  store i32 -1, ptr %22, align 4, !tbaa !94
  %729 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %727, ptr %728, ptr noundef nonnull align 4 dereferenceable(4) %22)
          to label %742 unwind label %755

730:                                              ; preds = %._crit_edge277
  %731 = landingpad { ptr, i32 }
          cleanup
  br label %734

732:                                              ; preds = %717
  %733 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  br label %734

734:                                              ; preds = %732, %730
  %.pn = phi { ptr, i32 } [ %733, %732 ], [ %731, %730 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %989

.lr.ph279:                                        ; preds = %722, %.lr.ph279
  %735 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  %736 = load i32, ptr %735, align 4, !tbaa !94
  %737 = sext i32 %736 to i64
  %738 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %737) #7
  %739 = load i32, ptr %738, align 4, !tbaa !94
  store i32 %739, ptr %735, align 4, !tbaa !94
  %740 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %18) #7
  %741 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  br i1 %741, label %.lr.ph279, label %._crit_edge280

742:                                              ; preds = %._crit_edge280
  store ptr %729, ptr %21, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %743 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %723) #7
  store ptr %743, ptr %24, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %23, ptr noundef nonnull align 8 dereferenceable(8) %24) #7
  %744 = load ptr, ptr %20, align 8
  %745 = load ptr, ptr %23, align 8
  %746 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %723, ptr %744, ptr %745)
          to label %747 unwind label %757

747:                                              ; preds = %742
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  %748 = getelementptr inbounds i8, ptr %0, i64 1432
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %749 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %748) #7
  store ptr %749, ptr %25, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  %750 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %748) #7
  store ptr %750, ptr %26, align 8
  %751 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br i1 %751, label %.lr.ph282, label %._crit_edge283

._crit_edge283:                                   ; preds = %.lr.ph282, %747
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #7
  %752 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %748) #7
  %753 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %748) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  store i32 -1, ptr %29, align 4, !tbaa !94
  %754 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %752, ptr %753, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %767 unwind label %780

755:                                              ; preds = %._crit_edge280
  %756 = landingpad { ptr, i32 }
          cleanup
  br label %759

757:                                              ; preds = %742
  %758 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %759

759:                                              ; preds = %757, %755
  %.pn217 = phi { ptr, i32 } [ %758, %757 ], [ %756, %755 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br label %989

.lr.ph282:                                        ; preds = %747, %.lr.ph282
  %760 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  %761 = load i32, ptr %760, align 4, !tbaa !94
  %762 = sext i32 %761 to i64
  %763 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %762) #7
  %764 = load i32, ptr %763, align 4, !tbaa !94
  store i32 %764, ptr %760, align 4, !tbaa !94
  %765 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  %766 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #7
  br i1 %766, label %.lr.ph282, label %._crit_edge283

767:                                              ; preds = %._crit_edge283
  store ptr %754, ptr %28, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %27, ptr noundef nonnull align 8 dereferenceable(8) %28) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #7
  %768 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %748) #7
  store ptr %768, ptr %31, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(8) %31) #7
  %769 = load ptr, ptr %27, align 8
  %770 = load ptr, ptr %30, align 8
  %771 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %748, ptr %769, ptr %770)
          to label %772 unwind label %782

772:                                              ; preds = %767
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  %773 = getelementptr inbounds i8, ptr %0, i64 1168
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #7
  %774 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %773) #7
  store ptr %774, ptr %32, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  %775 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %773) #7
  store ptr %775, ptr %33, align 8
  %776 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br i1 %776, label %.lr.ph285, label %._crit_edge286

._crit_edge286:                                   ; preds = %.lr.ph285, %772
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #7
  %777 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %773) #7
  %778 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %773) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #7
  store i32 -1, ptr %36, align 4, !tbaa !94
  %779 = invoke ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr %777, ptr %778, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %792 unwind label %805

780:                                              ; preds = %._crit_edge283
  %781 = landingpad { ptr, i32 }
          cleanup
  br label %784

782:                                              ; preds = %767
  %783 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #7
  br label %784

784:                                              ; preds = %782, %780
  %.pn219 = phi { ptr, i32 } [ %783, %782 ], [ %781, %780 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #7
  br label %989

.lr.ph285:                                        ; preds = %772, %.lr.ph285
  %785 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  %786 = load i32, ptr %785, align 4, !tbaa !94
  %787 = sext i32 %786 to i64
  %788 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %787) #7
  %789 = load i32, ptr %788, align 4, !tbaa !94
  store i32 %789, ptr %785, align 4, !tbaa !94
  %790 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %32) #7
  %791 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %32, ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  br i1 %791, label %.lr.ph285, label %._crit_edge286

792:                                              ; preds = %._crit_edge286
  store ptr %779, ptr %35, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %793 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %773) #7
  store ptr %793, ptr %38, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEC2IPivEERKNS0_IT_S5_EE(ptr noundef nonnull align 8 dereferenceable(8) %37, ptr noundef nonnull align 8 dereferenceable(8) %38) #7
  %794 = load ptr, ptr %34, align 8
  %795 = load ptr, ptr %37, align 8
  %796 = invoke ptr @_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_(ptr noundef nonnull align 8 dereferenceable(24) %773, ptr %794, ptr %795)
          to label %797 unwind label %807

797:                                              ; preds = %792
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  %798 = getelementptr inbounds i8, ptr %0, i64 1264
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %799 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  store ptr %799, ptr %39, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #7
  %800 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  store ptr %800, ptr %40, align 8
  %801 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  br i1 %801, label %.lr.ph288, label %._crit_edge289

._crit_edge289:                                   ; preds = %822, %797
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #7
  %802 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  %803 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  %804 = invoke ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS3_SaIS3_EEEEZN8presolve9HPresolve13shrinkProblemERNS9_19HighsPostsolveStackEE3$_2ET_SE_SE_T0_"(ptr %802, ptr %803)
          to label %825 unwind label %845

805:                                              ; preds = %._crit_edge286
  %806 = landingpad { ptr, i32 }
          cleanup
  br label %809

807:                                              ; preds = %792
  %808 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %809

809:                                              ; preds = %807, %805
  %.pn221 = phi { ptr, i32 } [ %808, %807 ], [ %806, %805 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #7
  br label %989

.lr.ph288:                                        ; preds = %797, %822
  %810 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  %811 = load i32, ptr %810, align 4, !tbaa !109
  %812 = icmp eq i32 %811, -1
  br i1 %812, label %822, label %813

813:                                              ; preds = %.lr.ph288
  %814 = sext i32 %811 to i64
  %815 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %6, i64 noundef %814) #7
  %816 = load i32, ptr %815, align 4, !tbaa !94
  store i32 %816, ptr %810, align 4, !tbaa !109
  %817 = getelementptr inbounds i8, ptr %810, i64 4
  %818 = load i32, ptr %817, align 4, !tbaa !111
  %819 = sext i32 %818 to i64
  %820 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %819) #7
  %821 = load i32, ptr %820, align 4, !tbaa !94
  store i32 %821, ptr %817, align 4, !tbaa !111
  br label %822

822:                                              ; preds = %.lr.ph288, %813
  %823 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  %824 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiiESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %39, ptr noundef nonnull align 8 dereferenceable(8) %40) #7
  br i1 %824, label %.lr.ph288, label %._crit_edge289

825:                                              ; preds = %._crit_edge289
  store ptr %804, ptr %42, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIiiESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %41, ptr noundef nonnull align 8 dereferenceable(8) %42) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %826 = call ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  store ptr %826, ptr %44, align 8
  call void @_ZN9__gnu_cxx17__normal_iteratorIPKSt4pairIiiESt6vectorIS2_SaIS2_EEEC2IPS2_vEERKNS0_IT_S7_EE(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %44) #7
  %827 = load ptr, ptr %41, align 8
  %828 = load ptr, ptr %43, align 8
  %829 = invoke ptr @_ZNSt6vectorISt4pairIiiESaIS1_EE5eraseEN9__gnu_cxx17__normal_iteratorIPKS1_S3_EES8_(ptr noundef nonnull align 8 dereferenceable(24) %798, ptr %827, ptr %828)
          to label %830 unwind label %847

830:                                              ; preds = %825
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  %831 = getelementptr inbounds i8, ptr %0, i64 1344
  call void @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(48) %831) #7
  %832 = getelementptr inbounds i8, ptr %0, i64 1392
  %833 = load ptr, ptr %0, align 8, !tbaa !5
  %834 = getelementptr inbounds i8, ptr %833, i64 4
  %835 = load i32, ptr %834, align 4, !tbaa !101
  %836 = sext i32 %835 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %837 = call ptr @_ZNKSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(48) %831) #7
  store ptr %837, ptr %45, align 8
  invoke void @_ZNSt6vectorISt23_Rb_tree_const_iteratorISt4pairIiiEESaIS3_EE6assignEmRKS3_(ptr noundef nonnull align 8 dereferenceable(24) %832, i64 noundef %836, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %838 unwind label %850

838:                                              ; preds = %830
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #7
  store i32 0, ptr %46, align 4, !tbaa !94
  %839 = load ptr, ptr %0, align 8, !tbaa !5
  %840 = getelementptr inbounds i8, ptr %839, i64 4
  %841 = load i32, ptr %840, align 4, !tbaa !101
  %.not225290 = icmp eq i32 %841, 0
  br i1 %.not225290, label %._crit_edge294, label %.lr.ph293

._crit_edge294:                                   ; preds = %875, %838
  %842 = phi ptr [ %839, %838 ], [ %878, %875 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  %843 = getelementptr inbounds i8, ptr %0, i64 24
  %844 = load ptr, ptr %843, align 8, !tbaa !112
  %.not226 = icmp eq ptr %844, null
  br i1 %.not226, label %984, label %881

845:                                              ; preds = %._crit_edge289
  %846 = landingpad { ptr, i32 }
          cleanup
  br label %849

847:                                              ; preds = %825
  %848 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  br label %849

849:                                              ; preds = %847, %845
  %.pn223 = phi { ptr, i32 } [ %848, %847 ], [ %846, %845 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #7
  br label %989

850:                                              ; preds = %830
  %851 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  br label %989

.lr.ph293:                                        ; preds = %838, %875
  %852 = phi ptr [ %878, %875 ], [ %839, %838 ]
  %storemerge291 = phi i32 [ %877, %875 ], [ 0, %838 ]
  %853 = getelementptr inbounds i8, ptr %852, i64 80
  %854 = sext i32 %storemerge291 to i64
  %855 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %853, i64 noundef %854) #7
  %856 = load double, ptr %855, align 8, !tbaa !95
  %857 = load ptr, ptr %0, align 8, !tbaa !5
  %858 = getelementptr inbounds i8, ptr %857, i64 104
  %859 = load i32, ptr %46, align 4, !tbaa !94
  %860 = sext i32 %859 to i64
  %861 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %858, i64 noundef %860) #7
  %862 = load double, ptr %861, align 8, !tbaa !95
  %863 = fcmp oeq double %856, %862
  br i1 %863, label %864, label %875

864:                                              ; preds = %.lr.ph293
  %865 = load i32, ptr %46, align 4, !tbaa !94
  %866 = sext i32 %865 to i64
  %867 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %619, i64 noundef %866) #7
  %868 = invoke { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE7emplaceIJRiS7_EEES0_ISt23_Rb_tree_const_iteratorIS1_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48) %831, ptr noundef nonnull align 4 dereferenceable(4) %867, ptr noundef nonnull align 4 dereferenceable(4) %46)
          to label %869 unwind label %873

869:                                              ; preds = %864
  %.fca.0.extract = extractvalue { ptr, i8 } %868, 0
  %870 = load i32, ptr %46, align 4, !tbaa !94
  %871 = sext i32 %870 to i64
  %872 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorISt23_Rb_tree_const_iteratorISt4pairIiiEESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %832, i64 noundef %871) #7
  store ptr %.fca.0.extract, ptr %872, align 8, !tbaa !113
  br label %875

873:                                              ; preds = %864
  %874 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #7
  br label %989

875:                                              ; preds = %.lr.ph293, %869
  %876 = load i32, ptr %46, align 4, !tbaa !94
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr %46, align 4, !tbaa !94
  %878 = load ptr, ptr %0, align 8, !tbaa !5
  %879 = getelementptr inbounds i8, ptr %878, i64 4
  %880 = load i32, ptr %879, align 4, !tbaa !101
  %.not225 = icmp eq i32 %877, %880
  br i1 %.not225, label %._crit_edge294, label %.lr.ph293, !llvm.loop !114

881:                                              ; preds = %._crit_edge294
  %882 = getelementptr inbounds i8, ptr %844, i64 224
  %883 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %882) #7
  %884 = getelementptr inbounds i8, ptr %883, i64 25617
  store i8 0, ptr %884, align 1, !tbaa !115
  call void @llvm.lifetime.start.p0(i64 120, ptr nonnull %47) #7
  %885 = load ptr, ptr %843, align 8, !tbaa !112
  invoke void @_ZN22HighsObjectiveFunctionC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(120) %47, ptr noundef nonnull align 8 dereferenceable(496) %885)
          to label %886 unwind label %958

886:                                              ; preds = %881
  %887 = load ptr, ptr %843, align 8, !tbaa !112
  %888 = getelementptr inbounds i8, ptr %887, i64 224
  %889 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %888) #7
  %890 = getelementptr inbounds i8, ptr %889, i64 24344
  %891 = call noundef nonnull align 8 dereferenceable(120) ptr @_ZN22HighsObjectiveFunctionaSEOS_(ptr noundef nonnull align 8 dereferenceable(120) %890, ptr noundef nonnull align 8 dereferenceable(120) %47) #7
  call void @_ZN22HighsObjectiveFunctionD2Ev(ptr noundef nonnull align 8 dereferenceable(120) %47) #7
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %47) #7
  call void @llvm.lifetime.start.p0(i64 824, ptr nonnull %48) #7
  %892 = load ptr, ptr %843, align 8, !tbaa !112
  invoke void @_ZN11HighsDomainC1ER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(824) %48, ptr noundef nonnull align 8 dereferenceable(496) %892)
          to label %893 unwind label %960

893:                                              ; preds = %886
  %894 = load ptr, ptr %843, align 8, !tbaa !112
  %895 = getelementptr inbounds i8, ptr %894, i64 224
  %896 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %895) #7
  %897 = getelementptr inbounds i8, ptr %896, i64 912
  %898 = invoke noundef nonnull align 8 dereferenceable(824) ptr @_ZN11HighsDomainaSERKS_(ptr noundef nonnull align 8 dereferenceable(824) %897, ptr noundef nonnull align 8 dereferenceable(824) %48)
          to label %899 unwind label %962

899:                                              ; preds = %893
  call void @_ZN11HighsDomainD2Ev(ptr noundef nonnull align 8 dereferenceable(824) %48) #7
  call void @llvm.lifetime.end.p0(i64 824, ptr nonnull %48) #7
  %900 = load ptr, ptr %843, align 8, !tbaa !112
  %901 = getelementptr inbounds i8, ptr %900, i64 224
  %902 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %901) #7
  %903 = getelementptr inbounds i8, ptr %902, i64 23528
  %904 = load ptr, ptr %0, align 8, !tbaa !5
  %905 = load i32, ptr %904, align 8, !tbaa !73
  %906 = load ptr, ptr %843, align 8, !tbaa !112
  %907 = getelementptr inbounds i8, ptr %906, i64 224
  %908 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %907) #7
  %909 = getelementptr inbounds i8, ptr %908, i64 912
  invoke void @_ZN16HighsCliqueTable7rebuildEiRKN8presolve19HighsPostsolveStackERK11HighsDomainRKSt6vectorIiSaIiEESB_(ptr noundef nonnull align 8 dereferenceable(488) %903, i32 noundef %905, ptr noundef nonnull align 8 dereferenceable(224) %1, ptr noundef nonnull align 8 dereferenceable(824) %909, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %910 unwind label %965

910:                                              ; preds = %899
  %911 = load ptr, ptr %843, align 8, !tbaa !112
  %912 = getelementptr inbounds i8, ptr %911, i64 224
  %913 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %912) #7
  %914 = getelementptr inbounds i8, ptr %913, i64 24016
  %915 = load ptr, ptr %0, align 8, !tbaa !5
  %916 = load i32, ptr %915, align 8, !tbaa !73
  invoke void @_ZN17HighsImplications7rebuildEiRKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(176) %914, i32 noundef %916, ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) %6)
          to label %917 unwind label %965

917:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 680, ptr nonnull %49) #7
  %918 = load ptr, ptr %843, align 8, !tbaa !112
  %919 = getelementptr inbounds i8, ptr %918, i64 16
  %920 = load ptr, ptr %919, align 8, !tbaa !418
  %921 = load i32, ptr %920, align 8, !tbaa !73
  %922 = getelementptr inbounds i8, ptr %918, i64 8
  %923 = load ptr, ptr %922, align 8, !tbaa !428
  %924 = getelementptr inbounds i8, ptr %923, i64 788
  %925 = load i32, ptr %924, align 4, !tbaa !429
  %926 = getelementptr inbounds i8, ptr %923, i64 792
  %927 = load i32, ptr %926, align 8, !tbaa !430
  invoke void @_ZN12HighsCutPoolC2Eiii(ptr noundef nonnull align 8 dereferenceable(680) %49, i32 noundef %921, i32 noundef %925, i32 noundef %927)
          to label %928 unwind label %967

928:                                              ; preds = %917
  %929 = load ptr, ptr %843, align 8, !tbaa !112
  %930 = getelementptr inbounds i8, ptr %929, i64 224
  %931 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %930) #7
  %932 = getelementptr inbounds i8, ptr %931, i64 8
  %933 = call noundef nonnull align 8 dereferenceable(680) ptr @_ZN12HighsCutPoolaSEOS_(ptr noundef nonnull align 8 dereferenceable(680) %932, ptr noundef nonnull align 8 dereferenceable(680) %49) #7
  call void @_ZN12HighsCutPoolD2Ev(ptr noundef nonnull align 8 dereferenceable(680) %49) #7
  call void @llvm.lifetime.end.p0(i64 680, ptr nonnull %49) #7
  call void @llvm.lifetime.start.p0(i64 224, ptr nonnull %50) #7
  %934 = load ptr, ptr %843, align 8, !tbaa !112
  %935 = getelementptr inbounds i8, ptr %934, i64 8
  %936 = load ptr, ptr %935, align 8, !tbaa !428
  %937 = getelementptr inbounds i8, ptr %936, i64 788
  %938 = load i32, ptr %937, align 4, !tbaa !429
  %939 = mul nsw i32 %938, 5
  %940 = getelementptr inbounds i8, ptr %936, i64 792
  %941 = load i32, ptr %940, align 8, !tbaa !430
  invoke void @_ZN17HighsConflictPoolC2Eii(ptr noundef nonnull align 8 dereferenceable(224) %50, i32 noundef %939, i32 noundef %941)
          to label %942 unwind label %969

942:                                              ; preds = %928
  %943 = load ptr, ptr %843, align 8, !tbaa !112
  %944 = getelementptr inbounds i8, ptr %943, i64 224
  %945 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %944) #7
  %946 = getelementptr inbounds i8, ptr %945, i64 688
  %947 = call noundef nonnull align 8 dereferenceable(224) ptr @_ZN17HighsConflictPoolaSEOS_(ptr noundef nonnull align 8 dereferenceable(224) %946, ptr noundef nonnull align 8 dereferenceable(224) %50) #7
  call void @_ZN17HighsConflictPoolD2Ev(ptr noundef nonnull align 8 dereferenceable(224) %50) #7
  call void @llvm.lifetime.end.p0(i64 224, ptr nonnull %50) #7
  br i1 %.not208251, label %._crit_edge299, label %.lr.ph298

.lr.ph298:                                        ; preds = %942
  %948 = getelementptr inbounds i8, ptr %0, i64 1528
  %949 = zext i32 %52 to i64
  br label %971

._crit_edge299:                                   ; preds = %981, %942
  %950 = load ptr, ptr %843, align 8, !tbaa !112
  %951 = getelementptr inbounds i8, ptr %950, i64 224
  %952 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %951) #7
  %953 = getelementptr inbounds i8, ptr %952, i64 26800
  call void @_ZNK13HighsDebugSol6shrinkERKSt6vectorIiSaIiEE(ptr noundef nonnull align 1 dereferenceable(1) %953, ptr noundef nonnull align 8 dereferenceable(24) %3)
  %954 = getelementptr inbounds i8, ptr %0, i64 1528
  %955 = load ptr, ptr %0, align 8, !tbaa !5
  %956 = load i32, ptr %955, align 8, !tbaa !73
  %957 = sext i32 %956 to i64
  invoke void @_ZNSt6vectorItSaItEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %954, i64 noundef %957)
          to label %982 unwind label %965

958:                                              ; preds = %881
  %959 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 120, ptr nonnull %47) #7
  br label %989

960:                                              ; preds = %886
  %961 = landingpad { ptr, i32 }
          cleanup
  br label %964

962:                                              ; preds = %893
  %963 = landingpad { ptr, i32 }
          cleanup
  call void @_ZN11HighsDomainD2Ev(ptr noundef nonnull align 8 dereferenceable(824) %48) #7
  br label %964

964:                                              ; preds = %962, %960
  %.pn227 = phi { ptr, i32 } [ %963, %962 ], [ %961, %960 ]
  call void @llvm.lifetime.end.p0(i64 824, ptr nonnull %48) #7
  br label %989

965:                                              ; preds = %986, %984, %982, %._crit_edge299, %910, %899
  %966 = landingpad { ptr, i32 }
          cleanup
  br label %989

967:                                              ; preds = %917
  %968 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 680, ptr nonnull %49) #7
  br label %989

969:                                              ; preds = %928
  %970 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 224, ptr nonnull %50) #7
  br label %989

971:                                              ; preds = %.lr.ph298, %981
  %indvars.iv320 = phi i64 [ 0, %.lr.ph298 ], [ %indvars.iv.next321, %981 ]
  %972 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv320) #7
  %973 = load i32, ptr %972, align 4, !tbaa !94
  %.not230 = icmp eq i32 %973, -1
  br i1 %.not230, label %981, label %974

974:                                              ; preds = %971
  %975 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %948, i64 noundef %indvars.iv320) #7
  %976 = load i16, ptr %975, align 2, !tbaa !431
  %977 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %indvars.iv320) #7
  %978 = load i32, ptr %977, align 4, !tbaa !94
  %979 = sext i32 %978 to i64
  %980 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %948, i64 noundef %979) #7
  store i16 %976, ptr %980, align 2, !tbaa !431
  br label %981

981:                                              ; preds = %971, %974
  %indvars.iv.next321 = add nuw nsw i64 %indvars.iv320, 1
  %.not229 = icmp eq i64 %indvars.iv.next321, %949
  br i1 %.not229, label %._crit_edge299, label %971, !llvm.loop !433

982:                                              ; preds = %._crit_edge299
  %983 = load ptr, ptr %0, align 8, !tbaa !5
  invoke void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920) %983)
          to label %._crit_edge323 unwind label %965

._crit_edge323:                                   ; preds = %982
  %.pre324 = load ptr, ptr %0, align 8, !tbaa !5
  br label %984

984:                                              ; preds = %._crit_edge323, %._crit_edge294
  %985 = phi ptr [ %.pre324, %._crit_edge323 ], [ %842, %._crit_edge294 ]
  invoke void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920) %985)
          to label %986 unwind label %965

986:                                              ; preds = %984
  %987 = getelementptr inbounds i8, ptr %0, i64 1592
  invoke void @_ZN17HPresolveAnalysis15resetNumDeletedEv(ptr noundef nonnull align 8 dereferenceable(128) %987)
          to label %988 unwind label %965

988:                                              ; preds = %986
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  ret void

989:                                              ; preds = %734, %759, %784, %809, %849, %850, %873, %958, %964, %965, %967, %969, %645, %643, %556, %539, %369
  %.pn240 = phi { ptr, i32 } [ %370, %369 ], [ %540, %539 ], [ %557, %556 ], [ %646, %645 ], [ %644, %643 ], [ %874, %873 ], [ %966, %965 ], [ %970, %969 ], [ %968, %967 ], [ %.pn227, %964 ], [ %959, %958 ], [ %851, %850 ], [ %.pn223, %849 ], [ %.pn221, %809 ], [ %.pn219, %784 ], [ %.pn217, %759 ], [ %.pn, %734 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %6) #7
  br label %990

990:                                              ; preds = %989, %322
  %.pn240.pn = phi { ptr, i32 } [ %.pn240, %989 ], [ %323, %322 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #7
  br label %991

991:                                              ; preds = %990, %282, %280, %134
  %.pn244 = phi { ptr, i32 } [ %135, %134 ], [ %.pn240.pn, %990 ], [ %283, %282 ], [ %281, %280 ]
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #7
  br label %992

992:                                              ; preds = %991, %64
  %.pn244.pn = phi { ptr, i32 } [ %.pn244, %991 ], [ %65, %64 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #7
  resume { ptr, i32 } %.pn244.pn
}

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSt5isnand(double noundef) local_unnamed_addr #1

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_0ET0_T_S8_S7_"(ptr, ptr, ptr, ptr) local_unnamed_addr #3

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

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

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

; Function Attrs: mustprogress uwtable
declare hidden { ptr, ptr } @"_ZSt8for_eachISt23_Rb_tree_const_iteratorIiEZN8presolve9HPresolve13shrinkProblemERNS2_19HighsPostsolveStackEE3$_1ET0_T_S8_S7_"(ptr, ptr, ptr, ptr) local_unnamed_addr #3

declare void @_ZN8presolve19HighsPostsolveStack17compressIndexMapsERKSt6vectorIiSaIiEES5_(ptr noundef nonnull align 8 dereferenceable(224), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

declare void @_ZN20HighsLinearSumBounds6shrinkERKSt6vectorIiSaIiEEi(ptr noundef nonnull align 8 dereferenceable(240), ptr noundef nonnull align 8 dereferenceable(24), i32 noundef) local_unnamed_addr #4

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local ptr @_ZSt6removeIN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEEiET_S7_S7_RKT0_(ptr, ptr, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #6

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden ptr @"_ZSt9remove_ifIN9__gnu_cxx17__normal_iteratorIPSt4pairIiiESt6vectorIS3_SaIS3_EEEEZN8presolve9HPresolve13shrinkProblemERNS9_19HighsPostsolveStackEE3$_2ET_SE_SE_T0_"(ptr, ptr) local_unnamed_addr #6

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt3setISt4pairIiiESt4lessIS1_ESaIS1_EE7emplaceIJRiS7_EEES0_ISt23_Rb_tree_const_iteratorIS1_EbEDpOT_(ptr noundef nonnull align 8 dereferenceable(48), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3 align 2

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

declare void @_ZN22HighsObjectiveFunctionC1ERK14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(120), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #4

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

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

declare void @_ZN11HighsDomainC1ER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(496)) unnamed_addr #4

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

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

declare void @_ZN16HighsCliqueTable7rebuildEiRKN8presolve19HighsPostsolveStackERK11HighsDomainRKSt6vectorIiSaIiEESB_(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, ptr noundef nonnull align 8 dereferenceable(224), ptr noundef nonnull align 8 dereferenceable(824), ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

declare void @_ZN17HighsImplications7rebuildEiRKSt6vectorIiSaIiEES4_(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN12HighsCutPoolC2Eiii(ptr noundef nonnull align 8 dereferenceable(680), i32 noundef, i32 noundef, i32 noundef) unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN17HighsConflictPoolC2Eii(ptr noundef nonnull align 8 dereferenceable(224), i32 noundef, i32 noundef) unnamed_addr #3 align 2

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

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

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

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

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

declare void @_ZN7HighsLp19setMatrixDimensionsEv(ptr noundef nonnull align 8 dereferenceable(920)) local_unnamed_addr #4

declare void @_ZN17HPresolveAnalysis15resetNumDeletedEv(ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #4

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

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


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