; LLVM IR from ERGO-Code/HiGHS :: src/presolve/HPresolve.ll (ZN8presolve9HPresolve10runProbingERNS_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.421" = type { %"struct.std::_Vector_base.422" }
%"struct.std::_Vector_base.422" = type { %"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsRandom = type { i64 }
%"class.__gnu_cxx::__normal_iterator.435" = type { ptr }
%class.anon.436 = type { ptr }
%class.anon.437 = type { ptr, ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.438" = type { ptr }
%struct.HighsEmptySlice = type { i8 }
%"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.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.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::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.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::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"class.std::set" = type { %"class.std::_Rb_tree" }
%"class.std::_Rb_tree" = type { %"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" }
%"struct.std::_Rb_tree<std::pair<int, int>, std::pair<int, int>, std::_Identity<std::pair<int, int>>, std::less<std::pair<int, int>>>::_Rb_tree_impl" = type { [8 x i8], %"struct.std::_Rb_tree_header" }
%"struct.std::_Rb_tree_header" = type { %"struct.std::_Rb_tree_node_base", i64 }
%"struct.std::_Rb_tree_node_base" = type { i32, ptr, ptr, ptr }
%"class.std::vector.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.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::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 }
%"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.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" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%struct.HighsTimerClock = type { ptr, %"class.std::vector.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] }>
%"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.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::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.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.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 }
%"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::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.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.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.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.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 }
%"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.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.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.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.HighsObjectiveFunction = type { ptr, double, i32, i32, %"class.std::vector.5", %"class.std::vector.20", %"class.std::vector.5", %"class.std::vector.5" }
%"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.HighsCDouble = type { double, double }
%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 }
%"struct.std::pair.439" = type { i32, %"struct.HighsCliqueTable::CliqueVar" }
%"struct.HighsCliqueTable::CliqueVar" = type { i32 }

@.str.77 = external hidden unnamed_addr constant [81 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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) #2

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

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

; 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 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720), ptr noundef nonnull align 8 dereferenceable(224)) #3 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)) #2

; 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 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 uwtable
define dso_local noundef i32 @_ZN8presolve9HPresolve10runProbingERNS_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 i32, align 4
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca double, align 8
  %7 = alloca i32, align 4
  %8 = alloca double, align 8
  %9 = alloca double, align 8
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i8, align 1
  %16 = alloca double, align 8
  %17 = alloca %"class.std::vector.421", align 8
  %18 = alloca ptr, align 8
  %19 = alloca i32, align 4
  %20 = alloca %class.HighsRandom, align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca double, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %32 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %33 = alloca i64, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i64, align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca %class.anon.436, align 8
  %43 = alloca i64, align 8
  %44 = alloca i64, align 8
  %45 = alloca i64, align 8
  %46 = alloca i64, align 8
  %47 = alloca %class.anon.437, align 8
  %48 = alloca ptr, align 8
  %49 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %50 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %51 = alloca ptr, align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i8, align 1
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca ptr, 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 ptr, align 8
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca %"class.__gnu_cxx::__normal_iterator.438", align 8
  %72 = alloca %"class.__gnu_cxx::__normal_iterator.438", align 8
  %73 = alloca ptr, align 8
  %74 = alloca double, align 8
  %75 = alloca i32, align 4
  %76 = alloca %struct.HighsEmptySlice, align 1
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  store ptr %0, ptr %4, align 8, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !5
  %80 = load ptr, ptr %4, align 8
  %81 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %82 = load ptr, ptr %81, align 8, !tbaa !9
  %83 = getelementptr inbounds %class.HighsMipSolver, ptr %82, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %83, i32 noundef 11)
  %84 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 56
  store i8 0, ptr %84, align 8, !tbaa !74
  %85 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 53
  %86 = load i32, ptr %85, align 4, !tbaa !75
  %87 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 52
  %88 = load i32, ptr %87, align 8, !tbaa !76
  %89 = add nsw i32 %86, %88
  %90 = icmp ne i32 %89, 0
  br i1 %90, label %91, label %93

91:                                               ; preds = %2
  %92 = load ptr, ptr %5, align 8, !tbaa !5
  call void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(224) %92)
  br label %93

93:                                               ; preds = %91, %2
  %94 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %95 = load ptr, ptr %94, align 8, !tbaa !77
  %96 = getelementptr inbounds %class.HighsLp, ptr %95, i32 0, i32 7
  %97 = getelementptr inbounds %class.HighsSparseMatrix, ptr %96, i32 0, i32 6
  %98 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %99 = load ptr, ptr %98, align 8, !tbaa !77
  %100 = getelementptr inbounds %class.HighsLp, ptr %99, i32 0, i32 7
  %101 = getelementptr inbounds %class.HighsSparseMatrix, ptr %100, i32 0, i32 5
  %102 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %103 = load ptr, ptr %102, align 8, !tbaa !77
  %104 = getelementptr inbounds %class.HighsLp, ptr %103, i32 0, i32 7
  %105 = getelementptr inbounds %class.HighsSparseMatrix, ptr %104, i32 0, i32 3
  call void @_ZN8presolve9HPresolve5toCSCERSt6vectorIdSaIdEERS1_IiSaIiEES7_(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(24) %97, ptr noundef nonnull align 8 dereferenceable(24) %101, ptr noundef nonnull align 8 dereferenceable(24) %105)
  %106 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %107 = load ptr, ptr %106, align 8, !tbaa !77
  %108 = getelementptr inbounds %class.HighsLp, ptr %107, i32 0, i32 7
  %109 = getelementptr inbounds %class.HighsSparseMatrix, ptr %108, i32 0, i32 6
  %110 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %111 = load ptr, ptr %110, align 8, !tbaa !77
  %112 = getelementptr inbounds %class.HighsLp, ptr %111, i32 0, i32 7
  %113 = getelementptr inbounds %class.HighsSparseMatrix, ptr %112, i32 0, i32 5
  %114 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %115 = load ptr, ptr %114, align 8, !tbaa !77
  %116 = getelementptr inbounds %class.HighsLp, ptr %115, i32 0, i32 7
  %117 = getelementptr inbounds %class.HighsSparseMatrix, ptr %116, i32 0, i32 3
  %118 = call noundef zeroext i1 @_ZN8presolve9HPresolve9okFromCSCERKSt6vectorIdSaIdEERKS1_IiSaIiEES9_(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(24) %109, ptr noundef nonnull align 8 dereferenceable(24) %113, ptr noundef nonnull align 8 dereferenceable(24) %117)
  %119 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %120 = load ptr, ptr %119, align 8, !tbaa !9
  %121 = getelementptr inbounds %class.HighsMipSolver, ptr %120, i32 0, i32 25
  %122 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %121) #6
  %123 = getelementptr inbounds %struct.HighsMipSolverData, ptr %122, i32 0, i32 6
  %124 = call noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %80)
  call void @_ZN16HighsCliqueTable13setMaxEntriesEi(ptr noundef nonnull align 8 dereferenceable(488) %123, i32 noundef %124)
  call void @llvm.lifetime.start.p0(i64 8, ptr %6) #6
  %125 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 4
  %126 = load double, ptr %125, align 8, !tbaa !78
  %127 = fdiv double %126, 0x3D06849B86A12B9B
  store double %127, ptr %6, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #6
  store i32 0, ptr %7, align 4, !tbaa !80
  br label %128

128:                                              ; preds = %222, %93
  %129 = load i32, ptr %7, align 4, !tbaa !80
  %130 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %131 = load ptr, ptr %130, align 8, !tbaa !77
  %132 = getelementptr inbounds %class.HighsLp, ptr %131, i32 0, i32 0
  %133 = load i32, ptr %132, align 8, !tbaa !81
  %134 = icmp ne i32 %129, %133
  br i1 %134, label %136, label %135

135:                                              ; preds = %128
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #6
  br label %225

136:                                              ; preds = %128
  %137 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %138 = load ptr, ptr %137, align 8, !tbaa !77
  %139 = getelementptr inbounds %class.HighsLp, ptr %138, i32 0, i32 3
  %140 = load i32, ptr %7, align 4, !tbaa !80
  %141 = sext i32 %140 to i64
  %142 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %139, i64 noundef %141) #6
  %143 = load double, ptr %142, align 8, !tbaa !79
  %144 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 20
  %145 = load i32, ptr %7, align 4, !tbaa !80
  %146 = sext i32 %145 to i64
  %147 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %144, i64 noundef %146) #6
  %148 = load double, ptr %147, align 8, !tbaa !79
  %149 = fcmp oge double %143, %148
  br i1 %149, label %150, label %165

150:                                              ; preds = %136
  %151 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %152 = load ptr, ptr %151, align 8, !tbaa !77
  %153 = getelementptr inbounds %class.HighsLp, ptr %152, i32 0, i32 4
  %154 = load i32, ptr %7, align 4, !tbaa !80
  %155 = sext i32 %154 to i64
  %156 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %153, i64 noundef %155) #6
  %157 = load double, ptr %156, align 8, !tbaa !79
  %158 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 21
  %159 = load i32, ptr %7, align 4, !tbaa !80
  %160 = sext i32 %159 to i64
  %161 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %158, i64 noundef %160) #6
  %162 = load double, ptr %161, align 8, !tbaa !79
  %163 = fcmp ole double %157, %162
  br i1 %163, label %164, label %165

164:                                              ; preds = %150
  br label %222

165:                                              ; preds = %150, %136
  %166 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 20
  %167 = load i32, ptr %7, align 4, !tbaa !80
  %168 = sext i32 %167 to i64
  %169 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %166, i64 noundef %168) #6
  %170 = load double, ptr %169, align 8, !tbaa !79
  %171 = call noundef double @_ZSt3absd(double noundef %170)
  %172 = load double, ptr %6, align 8, !tbaa !79
  %173 = fcmp ole double %171, %172
  br i1 %173, label %174, label %193

174:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  %175 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 20
  %176 = load i32, ptr %7, align 4, !tbaa !80
  %177 = sext i32 %176 to i64
  %178 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %175, i64 noundef %177) #6
  %179 = load double, ptr %178, align 8, !tbaa !79
  store double %179, ptr %8, align 8, !tbaa !79
  %180 = load double, ptr %8, align 8, !tbaa !79
  %181 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %182 = load ptr, ptr %181, align 8, !tbaa !77
  %183 = getelementptr inbounds %class.HighsLp, ptr %182, i32 0, i32 3
  %184 = load i32, ptr %7, align 4, !tbaa !80
  %185 = sext i32 %184 to i64
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %183, i64 noundef %185) #6
  %187 = load double, ptr %186, align 8, !tbaa !79
  %188 = fcmp ogt double %180, %187
  br i1 %188, label %189, label %192

189:                                              ; preds = %174
  %190 = load i32, ptr %7, align 4, !tbaa !80
  %191 = load double, ptr %8, align 8, !tbaa !79
  call void @_ZN8presolve9HPresolve14changeColLowerEid(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %190, double noundef %191)
  br label %192

192:                                              ; preds = %189, %174
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %193

193:                                              ; preds = %192, %165
  %194 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 21
  %195 = load i32, ptr %7, align 4, !tbaa !80
  %196 = sext i32 %195 to i64
  %197 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %194, i64 noundef %196) #6
  %198 = load double, ptr %197, align 8, !tbaa !79
  %199 = call noundef double @_ZSt3absd(double noundef %198)
  %200 = load double, ptr %6, align 8, !tbaa !79
  %201 = fcmp ole double %199, %200
  br i1 %201, label %202, label %221

202:                                              ; preds = %193
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %203 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 21
  %204 = load i32, ptr %7, align 4, !tbaa !80
  %205 = sext i32 %204 to i64
  %206 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %203, i64 noundef %205) #6
  %207 = load double, ptr %206, align 8, !tbaa !79
  store double %207, ptr %9, align 8, !tbaa !79
  %208 = load double, ptr %9, align 8, !tbaa !79
  %209 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %210 = load ptr, ptr %209, align 8, !tbaa !77
  %211 = getelementptr inbounds %class.HighsLp, ptr %210, i32 0, i32 4
  %212 = load i32, ptr %7, align 4, !tbaa !80
  %213 = sext i32 %212 to i64
  %214 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %211, i64 noundef %213) #6
  %215 = load double, ptr %214, align 8, !tbaa !79
  %216 = fcmp olt double %208, %215
  br i1 %216, label %217, label %220

217:                                              ; preds = %202
  %218 = load i32, ptr %7, align 4, !tbaa !80
  %219 = load double, ptr %9, align 8, !tbaa !79
  call void @_ZN8presolve9HPresolve14changeColUpperEid(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %218, double noundef %219)
  br label %220

220:                                              ; preds = %217, %202
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  br label %221

221:                                              ; preds = %220, %193
  br label %222

222:                                              ; preds = %221, %164
  %223 = load i32, ptr %7, align 4, !tbaa !80
  %224 = add nsw i32 %223, 1
  store i32 %224, ptr %7, align 4, !tbaa !80
  br label %128, !llvm.loop !101

225:                                              ; preds = %135
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  %226 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 51
  %227 = load i32, ptr %226, align 4, !tbaa !103
  store i32 %227, ptr %10, align 4, !tbaa !80
  %228 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %229 = load ptr, ptr %228, align 8, !tbaa !9
  %230 = getelementptr inbounds %class.HighsMipSolver, ptr %229, i32 0, i32 25
  %231 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %230) #6
  call void @_ZN18HighsMipSolverData22setupDomainPropagationEv(ptr noundef nonnull align 8 dereferenceable(26801) %231)
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #6
  %232 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %233 = load ptr, ptr %232, align 8, !tbaa !9
  %234 = getelementptr inbounds %class.HighsMipSolver, ptr %233, i32 0, i32 25
  %235 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %234) #6
  %236 = getelementptr inbounds %struct.HighsMipSolverData, ptr %235, i32 0, i32 3
  store ptr %236, ptr %11, align 8, !tbaa !5
  %237 = load ptr, ptr %11, align 8, !tbaa !5
  %238 = call noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %237)
  %239 = load ptr, ptr %11, align 8, !tbaa !5
  %240 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %239)
  br i1 %240, label %241, label %245

241:                                              ; preds = %225
  %242 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %243 = load ptr, ptr %242, align 8, !tbaa !9
  %244 = getelementptr inbounds %class.HighsMipSolver, ptr %243, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %244, i32 noundef 11)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1240

245:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #6
  %246 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %247 = load ptr, ptr %246, align 8, !tbaa !9
  %248 = getelementptr inbounds %class.HighsMipSolver, ptr %247, i32 0, i32 25
  %249 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %248) #6
  %250 = getelementptr inbounds %struct.HighsMipSolverData, ptr %249, i32 0, i32 6
  store ptr %250, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #6
  %251 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %252 = load ptr, ptr %251, align 8, !tbaa !9
  %253 = getelementptr inbounds %class.HighsMipSolver, ptr %252, i32 0, i32 25
  %254 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %253) #6
  %255 = getelementptr inbounds %struct.HighsMipSolverData, ptr %254, i32 0, i32 7
  store ptr %255, ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #6
  %256 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %257 = load ptr, ptr %256, align 8, !tbaa !9
  %258 = getelementptr inbounds %class.HighsMipSolver, ptr %257, i32 0, i32 25
  %259 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %258) #6
  %260 = getelementptr inbounds %struct.HighsMipSolverData, ptr %259, i32 0, i32 15
  %261 = load i8, ptr %260, align 8, !tbaa !104, !range !407, !noundef !408
  %262 = trunc i8 %261 to i1
  %263 = xor i1 %262, true
  %264 = zext i1 %263 to i8
  store i8 %264, ptr %15, align 1, !tbaa !409
  %265 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %266 = load ptr, ptr %265, align 8, !tbaa !9
  %267 = getelementptr inbounds %class.HighsMipSolver, ptr %266, i32 0, i32 25
  %268 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %267) #6
  %269 = getelementptr inbounds %struct.HighsMipSolverData, ptr %268, i32 0, i32 15
  store i8 1, ptr %269, align 8, !tbaa !104
  %270 = load i8, ptr %15, align 1, !tbaa !409, !range !407, !noundef !408
  %271 = trunc i8 %270 to i1
  br i1 %271, label %272, label %337

272:                                              ; preds = %245
  %273 = load ptr, ptr %13, align 8, !tbaa !5
  %274 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %275 = load ptr, ptr %274, align 8, !tbaa !9
  call void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488) %273, ptr noundef nonnull align 8 dereferenceable(496) %275, i1 noundef zeroext true)
  %276 = load ptr, ptr %11, align 8, !tbaa !5
  %277 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %276)
  br i1 %277, label %278, label %282

278:                                              ; preds = %272
  %279 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %280 = load ptr, ptr %279, align 8, !tbaa !9
  %281 = getelementptr inbounds %class.HighsMipSolver, ptr %280, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %281, i32 noundef 11)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1239

282:                                              ; preds = %272
  %283 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %284 = load ptr, ptr %283, align 8, !tbaa !9
  %285 = getelementptr inbounds %class.HighsMipSolver, ptr %284, i32 0, i32 25
  %286 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %285) #6
  %287 = getelementptr inbounds %struct.HighsMipSolverData, ptr %286, i32 0, i32 77
  %288 = load double, ptr %287, align 8, !tbaa !410
  %289 = fcmp une double %288, 0x7FF0000000000000
  br i1 %289, label %290, label %327

290:                                              ; preds = %282
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  %291 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %292 = load ptr, ptr %291, align 8, !tbaa !9
  %293 = getelementptr inbounds %class.HighsMipSolver, ptr %292, i32 0, i32 25
  %294 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %293) #6
  %295 = getelementptr inbounds %struct.HighsMipSolverData, ptr %294, i32 0, i32 77
  %296 = load double, ptr %295, align 8, !tbaa !410
  store double %296, ptr %16, align 8, !tbaa !79
  %297 = load double, ptr %16, align 8, !tbaa !79
  %298 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %299 = load ptr, ptr %298, align 8, !tbaa !77
  %300 = getelementptr inbounds %class.HighsLp, ptr %299, i32 0, i32 9
  %301 = load double, ptr %300, align 8, !tbaa !411
  %302 = fsub double %297, %301
  %303 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %304 = load ptr, ptr %303, align 8, !tbaa !9
  %305 = getelementptr inbounds %class.HighsMipSolver, ptr %304, i32 0, i32 25
  %306 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %305) #6
  %307 = getelementptr inbounds %struct.HighsMipSolverData, ptr %306, i32 0, i32 77
  store double %302, ptr %307, align 8, !tbaa !410
  %308 = load ptr, ptr %13, align 8, !tbaa !5
  %309 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %310 = load ptr, ptr %309, align 8, !tbaa !9
  call void @_ZN16HighsCliqueTable17extractObjCliquesER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(488) %308, ptr noundef nonnull align 8 dereferenceable(496) %310)
  %311 = load double, ptr %16, align 8, !tbaa !79
  %312 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %313 = load ptr, ptr %312, align 8, !tbaa !9
  %314 = getelementptr inbounds %class.HighsMipSolver, ptr %313, i32 0, i32 25
  %315 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %314) #6
  %316 = getelementptr inbounds %struct.HighsMipSolverData, ptr %315, i32 0, i32 77
  store double %311, ptr %316, align 8, !tbaa !410
  %317 = load ptr, ptr %11, align 8, !tbaa !5
  %318 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %317)
  br i1 %318, label %319, label %323

319:                                              ; preds = %290
  %320 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %321 = load ptr, ptr %320, align 8, !tbaa !9
  %322 = getelementptr inbounds %class.HighsMipSolver, ptr %321, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %322, i32 noundef 11)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %324

323:                                              ; preds = %290
  store i32 0, ptr %12, align 4
  br label %324

324:                                              ; preds = %323, %319
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  %325 = load i32, ptr %12, align 4
  switch i32 %325, label %1239 [
    i32 0, label %326
  ]

326:                                              ; preds = %324
  br label %327

327:                                              ; preds = %326, %282
  %328 = load ptr, ptr %11, align 8, !tbaa !5
  %329 = call noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %328)
  %330 = load ptr, ptr %11, align 8, !tbaa !5
  %331 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %330)
  br i1 %331, label %332, label %336

332:                                              ; preds = %327
  %333 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %334 = load ptr, ptr %333, align 8, !tbaa !9
  %335 = getelementptr inbounds %class.HighsMipSolver, ptr %334, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %335, i32 noundef 11)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1239

336:                                              ; preds = %327
  br label %337

337:                                              ; preds = %336, %245
  %338 = load ptr, ptr %13, align 8, !tbaa !5
  %339 = load ptr, ptr %11, align 8, !tbaa !5
  call void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %338, ptr noundef nonnull align 8 dereferenceable(824) %339)
  %340 = load ptr, ptr %11, align 8, !tbaa !5
  %341 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %340)
  br i1 %341, label %342, label %346

342:                                              ; preds = %337
  %343 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %344 = load ptr, ptr %343, align 8, !tbaa !9
  %345 = getelementptr inbounds %class.HighsMipSolver, ptr %344, i32 0, i32 26
  call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %345, i32 noundef 11)
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1239

346:                                              ; preds = %337
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #6
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %347 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %348 = load ptr, ptr %347, align 8, !tbaa !9
  %349 = getelementptr inbounds %class.HighsMipSolver, ptr %348, i32 0, i32 25
  %350 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %349) #6
  %351 = getelementptr inbounds %struct.HighsMipSolverData, ptr %350, i32 0, i32 6
  %352 = invoke noundef zeroext i1 @_ZNK16HighsCliqueTable6isFullEv(ptr noundef nonnull align 8 dereferenceable(488) %351)
          to label %353 unwind label %374

353:                                              ; preds = %346
  br i1 %352, label %461, label %354

354:                                              ; preds = %353
  %355 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %356 = load ptr, ptr %355, align 8, !tbaa !77
  %357 = getelementptr inbounds %class.HighsLp, ptr %356, i32 0, i32 0
  %358 = load i32, ptr %357, align 8, !tbaa !81
  %359 = sext i32 %358 to i64
  invoke void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %17, i64 noundef %359)
          to label %360 unwind label %374

360:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  %361 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 1
  %362 = load ptr, ptr %361, align 8, !tbaa !412
  %363 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %362, i32 0, i32 8
  %364 = load i32, ptr %363, align 8, !tbaa !413
  invoke void @_ZN11HighsRandomC2Ej(ptr noundef nonnull align 8 dereferenceable(8) %20, i32 noundef %364)
          to label %365 unwind label %378

365:                                              ; preds = %360
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  store i32 0, ptr %21, align 4, !tbaa !80
  br label %366

366:                                              ; preds = %455, %365
  %367 = load i32, ptr %21, align 4, !tbaa !80
  %368 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %369 = load ptr, ptr %368, align 8, !tbaa !77
  %370 = getelementptr inbounds %class.HighsLp, ptr %369, i32 0, i32 0
  %371 = load i32, ptr %370, align 8, !tbaa !81
  %372 = icmp ne i32 %367, %371
  br i1 %372, label %382, label %373

373:                                              ; preds = %366
  store i32 5, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  br label %459

374:                                              ; preds = %1233, %1229, %463, %354, %346
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %18, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %19, align 4
  br label %1238

378:                                              ; preds = %360
  %379 = landingpad { ptr, i32 }
          cleanup
  %380 = extractvalue { ptr, i32 } %379, 0
  store ptr %380, ptr %18, align 8
  %381 = extractvalue { ptr, i32 } %379, 1
  store i32 %381, ptr %19, align 4
  br label %460

382:                                              ; preds = %366
  %383 = load ptr, ptr %11, align 8, !tbaa !5
  %384 = load i32, ptr %21, align 4, !tbaa !80
  %385 = invoke noundef zeroext i1 @_ZNK11HighsDomain8isBinaryEi(ptr noundef nonnull align 8 dereferenceable(824) %383, i32 noundef %384)
          to label %386 unwind label %426

386:                                              ; preds = %382
  br i1 %385, label %387, label %454

387:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  %388 = load ptr, ptr %13, align 8, !tbaa !5
  %389 = load i32, ptr %21, align 4, !tbaa !80
  %390 = invoke noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488) %388, i32 noundef %389, i1 noundef zeroext true)
          to label %391 unwind label %430

391:                                              ; preds = %387
  store i32 %390, ptr %22, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #6
  %392 = load ptr, ptr %13, align 8, !tbaa !5
  %393 = load i32, ptr %21, align 4, !tbaa !80
  %394 = invoke noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488) %392, i32 noundef %393, i1 noundef zeroext false)
          to label %395 unwind label %434

395:                                              ; preds = %391
  store i32 %394, ptr %23, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  store i64 5000, ptr %25, align 8, !tbaa !414
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %396 = load i32, ptr %22, align 4, !tbaa !80
  %397 = sext i32 %396 to i64
  %398 = load i32, ptr %23, align 4, !tbaa !80
  %399 = sext i32 %398 to i64
  %400 = mul nsw i64 %397, %399
  store i64 %400, ptr %26, align 8, !tbaa !414
  %401 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIlERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26)
          to label %402 unwind label %438

402:                                              ; preds = %395
  %403 = load i64, ptr %401, align 8, !tbaa !414
  %404 = sub nsw i64 0, %403
  %405 = sitofp i64 %404 to double
  %406 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 48
  %407 = load i32, ptr %21, align 4, !tbaa !80
  %408 = sext i32 %407 to i64
  %409 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %406, i64 noundef %408) #6
  %410 = load i16, ptr %409, align 2, !tbaa !415
  %411 = zext i16 %410 to i32
  %412 = sitofp i32 %411 to double
  %413 = fadd double 1.000000e+00, %412
  %414 = fdiv double %405, %413
  store double %414, ptr %24, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #6
  store i32 100, ptr %28, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #6
  %415 = load i32, ptr %22, align 4, !tbaa !80
  %416 = load i32, ptr %23, align 4, !tbaa !80
  %417 = add nsw i32 %415, %416
  store i32 %417, ptr %29, align 4, !tbaa !80
  %418 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 4 dereferenceable(4) %29)
          to label %419 unwind label %442

419:                                              ; preds = %402
  %420 = load i32, ptr %418, align 4, !tbaa !80
  %421 = sub nsw i32 0, %420
  store i32 %421, ptr %27, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #6
  %422 = invoke noundef i32 @_ZN11HighsRandom7integerEv(ptr noundef nonnull align 8 dereferenceable(8) %20)
          to label %423 unwind label %446

423:                                              ; preds = %419
  store i32 %422, ptr %30, align 4, !tbaa !80
  %424 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE12emplace_backIJdiiRiEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 4 dereferenceable(4) %30, ptr noundef nonnull align 4 dereferenceable(4) %21)
          to label %425 unwind label %446

425:                                              ; preds = %423
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  br label %454

426:                                              ; preds = %382
  %427 = landingpad { ptr, i32 }
          cleanup
  %428 = extractvalue { ptr, i32 } %427, 0
  store ptr %428, ptr %18, align 8
  %429 = extractvalue { ptr, i32 } %427, 1
  store i32 %429, ptr %19, align 4
  br label %458

430:                                              ; preds = %387
  %431 = landingpad { ptr, i32 }
          cleanup
  %432 = extractvalue { ptr, i32 } %431, 0
  store ptr %432, ptr %18, align 8
  %433 = extractvalue { ptr, i32 } %431, 1
  store i32 %433, ptr %19, align 4
  br label %453

434:                                              ; preds = %391
  %435 = landingpad { ptr, i32 }
          cleanup
  %436 = extractvalue { ptr, i32 } %435, 0
  store ptr %436, ptr %18, align 8
  %437 = extractvalue { ptr, i32 } %435, 1
  store i32 %437, ptr %19, align 4
  br label %452

438:                                              ; preds = %395
  %439 = landingpad { ptr, i32 }
          cleanup
  %440 = extractvalue { ptr, i32 } %439, 0
  store ptr %440, ptr %18, align 8
  %441 = extractvalue { ptr, i32 } %439, 1
  store i32 %441, ptr %19, align 4
  br label %451

442:                                              ; preds = %402
  %443 = landingpad { ptr, i32 }
          cleanup
  %444 = extractvalue { ptr, i32 } %443, 0
  store ptr %444, ptr %18, align 8
  %445 = extractvalue { ptr, i32 } %443, 1
  store i32 %445, ptr %19, align 4
  br label %450

446:                                              ; preds = %423, %419
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %18, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #6
  br label %450

450:                                              ; preds = %446, %442
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #6
  br label %451

451:                                              ; preds = %450, %438
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %452

452:                                              ; preds = %451, %434
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #6
  br label %453

453:                                              ; preds = %452, %430
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  br label %458

454:                                              ; preds = %425, %386
  br label %455

455:                                              ; preds = %454
  %456 = load i32, ptr %21, align 4, !tbaa !80
  %457 = add nsw i32 %456, 1
  store i32 %457, ptr %21, align 4, !tbaa !80
  br label %366, !llvm.loop !417

458:                                              ; preds = %453, %426
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  br label %460

459:                                              ; preds = %373
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %461

460:                                              ; preds = %458, %378
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %1238

461:                                              ; preds = %459, %353
  %462 = call noundef zeroext i1 @_ZNKSt6vectorISt5tupleIJliiiEESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  br i1 %462, label %1229, label %463

463:                                              ; preds = %461
  %464 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %465 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %31, i32 0, i32 0
  store ptr %464, ptr %465, align 8
  %466 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  %467 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %32, i32 0, i32 0
  store ptr %466, ptr %467, align 8
  %468 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %31, i32 0, i32 0
  %469 = load ptr, ptr %468, align 8
  %470 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %32, i32 0, i32 0
  %471 = load ptr, ptr %470, align 8
  invoke void @_Z7pdqsortIN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS3_SaIS3_EEEEEvT_S9_(ptr %469, ptr %471)
          to label %472 unwind label %374

472:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #6
  store i64 0, ptr %33, align 8, !tbaa !414
  br label %473

473:                                              ; preds = %499, %472
  %474 = load ptr, ptr %11, align 8, !tbaa !5
  %475 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %474)
          to label %476 unwind label %495

476:                                              ; preds = %473
  %477 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %475) #6
  %478 = load i64, ptr %33, align 8, !tbaa !414
  %479 = icmp ne i64 %477, %478
  br i1 %479, label %480, label %500

480:                                              ; preds = %476
  %481 = load ptr, ptr %11, align 8, !tbaa !5
  %482 = load ptr, ptr %11, align 8, !tbaa !5
  %483 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %482)
          to label %484 unwind label %495

484:                                              ; preds = %480
  %485 = load i64, ptr %33, align 8, !tbaa !414
  %486 = add i64 %485, 1
  store i64 %486, ptr %33, align 8, !tbaa !414
  %487 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %483, i64 noundef %485) #6
  %488 = load i32, ptr %487, align 4, !tbaa !80
  %489 = invoke noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %481, i32 noundef %488)
          to label %490 unwind label %495

490:                                              ; preds = %484
  br i1 %489, label %491, label %499

491:                                              ; preds = %490
  %492 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 50
  %493 = load i32, ptr %492, align 8, !tbaa !418
  %494 = add nsw i32 %493, 1
  store i32 %494, ptr %492, align 8, !tbaa !418
  br label %499

495:                                              ; preds = %484, %480, %473
  %496 = landingpad { ptr, i32 }
          cleanup
  %497 = extractvalue { ptr, i32 } %496, 0
  store ptr %497, ptr %18, align 8
  %498 = extractvalue { ptr, i32 } %496, 1
  store i32 %498, ptr %19, align 4
  br label %1228

499:                                              ; preds = %491, %490
  br label %473, !llvm.loop !419

500:                                              ; preds = %476
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #6
  %501 = load ptr, ptr %13, align 8, !tbaa !5
  %502 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %501)
          to label %503 unwind label %568

503:                                              ; preds = %500
  store i32 %502, ptr %34, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #6
  %504 = load ptr, ptr %14, align 8, !tbaa !5
  %505 = invoke noundef i32 @_ZNK17HighsImplications18getNumImplicationsEv(ptr noundef nonnull align 8 dereferenceable(176) %504)
          to label %506 unwind label %572

506:                                              ; preds = %503
  store i32 %505, ptr %35, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #6
  %507 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 50
  %508 = load i32, ptr %507, align 8, !tbaa !418
  store i32 %508, ptr %36, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  %509 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 50
  %510 = load i32, ptr %509, align 8, !tbaa !418
  %511 = load i32, ptr %36, align 4, !tbaa !80
  %512 = sub nsw i32 %510, %511
  %513 = sext i32 %512 to i64
  %514 = load ptr, ptr %14, align 8, !tbaa !5
  %515 = getelementptr inbounds %class.HighsImplications, ptr %514, i32 0, i32 6
  %516 = call noundef i64 @_ZNKSt6vectorI17HighsSubstitutionSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %515) #6
  %517 = add i64 %513, %516
  %518 = load ptr, ptr %13, align 8, !tbaa !5
  %519 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable16getSubstitutionsEv(ptr noundef nonnull align 8 dereferenceable(488) %518)
          to label %520 unwind label %576

520:                                              ; preds = %506
  %521 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %519) #6
  %522 = add i64 %517, %521
  %523 = trunc i64 %522 to i32
  store i32 %523, ptr %37, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 8, ptr %38) #6
  %524 = load ptr, ptr %13, align 8, !tbaa !5
  %525 = getelementptr inbounds %class.HighsCliqueTable, ptr %524, i32 0, i32 23
  %526 = load i64, ptr %525, align 8, !tbaa !420
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #6
  %527 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %528 = load ptr, ptr %527, align 8, !tbaa !9
  %529 = getelementptr inbounds %class.HighsMipSolver, ptr %528, i32 0, i32 18
  %530 = load i8, ptr %529, align 8, !tbaa !421, !range !407, !noundef !408
  %531 = trunc i8 %530 to i1
  %532 = zext i1 %531 to i64
  %533 = select i1 %531, i32 0, i32 100000
  store i32 %533, ptr %39, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #6
  %534 = invoke noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %80)
          to label %535 unwind label %580

535:                                              ; preds = %520
  %536 = mul nsw i32 10, %534
  store i32 %536, ptr %40, align 4, !tbaa !80
  %537 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %39, ptr noundef nonnull align 4 dereferenceable(4) %40)
          to label %538 unwind label %580

538:                                              ; preds = %535
  %539 = load i32, ptr %537, align 4, !tbaa !80
  %540 = sext i32 %539 to i64
  %541 = add nsw i64 %526, %540
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  store i64 %541, ptr %38, align 8, !tbaa !414
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #6
  store i32 0, ptr %41, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #6
  %542 = getelementptr inbounds %class.anon.436, ptr %42, i32 0, i32 0
  store ptr %80, ptr %542, align 8, !tbaa !431
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  store i64 100000, ptr %44, align 8, !tbaa !414
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %543 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %544 = load ptr, ptr %543, align 8, !tbaa !77
  %545 = getelementptr inbounds %class.HighsLp, ptr %544, i32 0, i32 1
  %546 = load i32, ptr %545, align 4, !tbaa !433
  %547 = sext i32 %546 to i64
  %548 = mul i64 10, %547
  store i64 %548, ptr %45, align 8, !tbaa !414
  %549 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45)
          to label %550 unwind label %584

550:                                              ; preds = %538
  %551 = load i64, ptr %549, align 8, !tbaa !414
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  store i64 %551, ptr %43, align 8, !tbaa !414
  call void @llvm.lifetime.start.p0(i64 8, ptr %46) #6
  store i64 0, ptr %46, align 8, !tbaa !414
  %552 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %553 = load ptr, ptr %552, align 8, !tbaa !9
  %554 = getelementptr inbounds %class.HighsMipSolver, ptr %553, i32 0, i32 1
  %555 = load ptr, ptr %554, align 8, !tbaa !434
  %556 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %555, i32 0, i32 129
  %557 = load i32, ptr %556, align 4, !tbaa !435
  %558 = icmp ne i32 %557, -1
  br i1 %558, label %559, label %592

559:                                              ; preds = %550
  %560 = invoke noundef zeroext i1 @"_ZZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEENK3$_1clEm"(ptr noundef nonnull align 8 dereferenceable(8) %42, i64 noundef 2)
          to label %561 unwind label %588

561:                                              ; preds = %559
  br i1 %560, label %562, label %592

562:                                              ; preds = %561
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #6
  %563 = getelementptr inbounds %class.anon.437, ptr %47, i32 0, i32 0
  store ptr %80, ptr %563, align 8, !tbaa !436
  %564 = getelementptr inbounds %class.anon.437, ptr %47, i32 0, i32 1
  store ptr %46, ptr %564, align 8, !tbaa !5
  %565 = load ptr, ptr %14, align 8, !tbaa !5
  %566 = getelementptr inbounds %class.HighsImplications, ptr %565, i32 0, i32 8
  %567 = call noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFviiidEEaSIZN8presolve9HPresolve10runProbingERNS3_19HighsPostsolveStackEE3$_0EENSt9enable_ifIXsrNS1_9_CallableIT_NS8_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISA_E4typeEE4typeES1_EE5valueESt5decayISA_EE4type4typeESt15__invoke_resultIRSL_JiiidEEEE5valueERS1_E4typeEOSA_"(ptr noundef nonnull align 8 dereferenceable(32) %566, ptr noundef nonnull align 8 dereferenceable(16) %47) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #6
  br label %592

568:                                              ; preds = %500
  %569 = landingpad { ptr, i32 }
          cleanup
  %570 = extractvalue { ptr, i32 } %569, 0
  store ptr %570, ptr %18, align 8
  %571 = extractvalue { ptr, i32 } %569, 1
  store i32 %571, ptr %19, align 4
  br label %1227

572:                                              ; preds = %503
  %573 = landingpad { ptr, i32 }
          cleanup
  %574 = extractvalue { ptr, i32 } %573, 0
  store ptr %574, ptr %18, align 8
  %575 = extractvalue { ptr, i32 } %573, 1
  store i32 %575, ptr %19, align 4
  br label %1226

576:                                              ; preds = %506
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %18, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %19, align 4
  br label %1225

580:                                              ; preds = %535, %520
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %18, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #6
  br label %1224

584:                                              ; preds = %538
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %18, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  br label %1223

588:                                              ; preds = %936, %896, %891, %885, %559
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %18, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %19, align 4
  br label %1222

592:                                              ; preds = %562, %561, %550
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  store ptr %17, ptr %48, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %593 = load ptr, ptr %48, align 8, !tbaa !5
  %594 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %593) #6
  %595 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %49, i32 0, i32 0
  store ptr %594, ptr %595, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #6
  %596 = load ptr, ptr %48, align 8, !tbaa !5
  %597 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %596) #6
  %598 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.435", ptr %50, i32 0, i32 0
  store ptr %597, ptr %598, align 8
  br label %599

599:                                              ; preds = %878, %592
  %600 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %49, ptr noundef nonnull align 8 dereferenceable(8) %50) #6
  br i1 %600, label %602, label %601

601:                                              ; preds = %599
  store i32 10, ptr %12, align 4
  br label %883

602:                                              ; preds = %599
  call void @llvm.lifetime.start.p0(i64 8, ptr %51) #6
  %603 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #6
  store ptr %603, ptr %51, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #6
  %604 = load ptr, ptr %51, align 8, !tbaa !5
  %605 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm3EJliiiEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %604) #6
  %606 = load i32, ptr %605, align 4, !tbaa !80
  store i32 %606, ptr %52, align 4, !tbaa !80
  %607 = load ptr, ptr %13, align 8, !tbaa !5
  %608 = load i32, ptr %52, align 4, !tbaa !80
  %609 = invoke noundef ptr @_ZNK16HighsCliqueTable15getSubstitutionEi(ptr noundef nonnull align 8 dereferenceable(488) %607, i32 noundef %608)
          to label %610 unwind label %618

610:                                              ; preds = %602
  %611 = icmp ne ptr %609, null
  br i1 %611, label %617, label %612

612:                                              ; preds = %610
  %613 = load ptr, ptr %11, align 8, !tbaa !5
  %614 = load i32, ptr %52, align 4, !tbaa !80
  %615 = invoke noundef zeroext i1 @_ZNK11HighsDomain8isBinaryEi(ptr noundef nonnull align 8 dereferenceable(824) %613, i32 noundef %614)
          to label %616 unwind label %618

616:                                              ; preds = %612
  br i1 %615, label %622, label %617

617:                                              ; preds = %616, %610
  store i32 11, ptr %12, align 4
  br label %872

618:                                              ; preds = %652, %648, %612, %602
  %619 = landingpad { ptr, i32 }
          cleanup
  %620 = extractvalue { ptr, i32 } %619, 0
  store ptr %620, ptr %18, align 8
  %621 = extractvalue { ptr, i32 } %619, 1
  store i32 %621, ptr %19, align 4
  br label %882

622:                                              ; preds = %616
  %623 = load i32, ptr %37, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #6
  store i32 1000, ptr %53, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #6
  %624 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %625 = load ptr, ptr %624, align 8, !tbaa !77
  %626 = getelementptr inbounds %class.HighsLp, ptr %625, i32 0, i32 1
  %627 = load i32, ptr %626, align 4, !tbaa !433
  %628 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %629 = load ptr, ptr %628, align 8, !tbaa !77
  %630 = getelementptr inbounds %class.HighsLp, ptr %629, i32 0, i32 0
  %631 = load i32, ptr %630, align 8, !tbaa !81
  %632 = add nsw i32 %627, %631
  %633 = sdiv i32 %632, 20
  store i32 %633, ptr %54, align 4, !tbaa !80
  %634 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %53, ptr noundef nonnull align 4 dereferenceable(4) %54)
          to label %635 unwind label %644

635:                                              ; preds = %622
  %636 = load i32, ptr %634, align 4, !tbaa !80
  %637 = icmp sgt i32 %623, %636
  %638 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 56
  %639 = zext i1 %637 to i8
  store i8 %639, ptr %638, align 8, !tbaa !74
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  %640 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 56
  %641 = load i8, ptr %640, align 8, !tbaa !74, !range !407, !noundef !408
  %642 = trunc i8 %641 to i1
  br i1 %642, label %643, label %648

643:                                              ; preds = %635
  store i32 10, ptr %12, align 4
  br label %872

644:                                              ; preds = %622
  %645 = landingpad { ptr, i32 }
          cleanup
  %646 = extractvalue { ptr, i32 } %645, 0
  store ptr %646, ptr %18, align 8
  %647 = extractvalue { ptr, i32 } %645, 1
  store i32 %647, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #6
  br label %882

648:                                              ; preds = %635
  %649 = load ptr, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #6
  %650 = invoke noundef zeroext i1 @_ZNK16HighsCliqueTable6isFullEv(ptr noundef nonnull align 8 dereferenceable(488) %649)
          to label %651 unwind label %618

651:                                              ; preds = %648
  br i1 %650, label %678, label %652

652:                                              ; preds = %651
  %653 = load ptr, ptr %13, align 8, !tbaa !5
  %654 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %653)
          to label %655 unwind label %618

655:                                              ; preds = %652
  %656 = load i32, ptr %34, align 4, !tbaa !80
  %657 = sub nsw i32 %654, %656
  store i32 1000000, ptr %55, align 4, !tbaa !80
  %658 = invoke noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %80)
          to label %659 unwind label %681

659:                                              ; preds = %655
  %660 = mul nsw i32 2, %658
  store i32 %660, ptr %56, align 4, !tbaa !80
  %661 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %55, ptr noundef nonnull align 4 dereferenceable(4) %56)
          to label %662 unwind label %681

662:                                              ; preds = %659
  %663 = load i32, ptr %661, align 4, !tbaa !80
  %664 = icmp sgt i32 %657, %663
  br i1 %664, label %678, label %665

665:                                              ; preds = %662
  %666 = load ptr, ptr %14, align 8, !tbaa !5
  %667 = invoke noundef i32 @_ZNK17HighsImplications18getNumImplicationsEv(ptr noundef nonnull align 8 dereferenceable(176) %666)
          to label %668 unwind label %681

668:                                              ; preds = %665
  %669 = load i32, ptr %35, align 4, !tbaa !80
  %670 = sub nsw i32 %667, %669
  store i32 1000000, ptr %57, align 4, !tbaa !80
  %671 = invoke noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %80)
          to label %672 unwind label %685

672:                                              ; preds = %668
  %673 = mul nsw i32 2, %671
  store i32 %673, ptr %58, align 4, !tbaa !80
  %674 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %57, ptr noundef nonnull align 4 dereferenceable(4) %58)
          to label %675 unwind label %685

675:                                              ; preds = %672
  %676 = load i32, ptr %674, align 4, !tbaa !80
  %677 = icmp sgt i32 %670, %676
  br label %678

678:                                              ; preds = %675, %662, %651
  %679 = phi i1 [ true, %662 ], [ true, %651 ], [ %677, %675 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #6
  br i1 %679, label %680, label %690

680:                                              ; preds = %678
  store i32 10, ptr %12, align 4
  br label %872

681:                                              ; preds = %665, %659, %655
  %682 = landingpad { ptr, i32 }
          cleanup
  %683 = extractvalue { ptr, i32 } %682, 0
  store ptr %683, ptr %18, align 8
  %684 = extractvalue { ptr, i32 } %682, 1
  store i32 %684, ptr %19, align 4
  br label %689

685:                                              ; preds = %672, %668
  %686 = landingpad { ptr, i32 }
          cleanup
  %687 = extractvalue { ptr, i32 } %686, 0
  store ptr %687, ptr %18, align 8
  %688 = extractvalue { ptr, i32 } %686, 1
  store i32 %688, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #6
  br label %689

689:                                              ; preds = %685, %681
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #6
  br label %882

690:                                              ; preds = %678
  %691 = load ptr, ptr %13, align 8, !tbaa !5
  %692 = getelementptr inbounds %class.HighsCliqueTable, ptr %691, i32 0, i32 23
  %693 = load i64, ptr %692, align 8, !tbaa !420
  %694 = load i64, ptr %38, align 8, !tbaa !414
  %695 = icmp sgt i64 %693, %694
  br i1 %695, label %696, label %697

696:                                              ; preds = %690
  store i32 10, ptr %12, align 4
  br label %872

697:                                              ; preds = %690
  %698 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 49
  %699 = load i64, ptr %698, align 8, !tbaa !438
  %700 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 51
  %701 = load i32, ptr %700, align 4, !tbaa !103
  %702 = sext i32 %701 to i64
  %703 = sub nsw i64 %699, %702
  %704 = icmp slt i64 %703, 0
  br i1 %704, label %705, label %706

705:                                              ; preds = %697
  store i32 10, ptr %12, align 4
  br label %872

706:                                              ; preds = %697
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #6
  store i32 0, ptr %59, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #6
  %707 = load ptr, ptr %13, align 8, !tbaa !5
  %708 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %707)
          to label %709 unwind label %719

709:                                              ; preds = %706
  %710 = sub nsw i32 0, %708
  store i32 %710, ptr %60, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #6
  %711 = load ptr, ptr %14, align 8, !tbaa !5
  %712 = load i32, ptr %52, align 4, !tbaa !80
  %713 = invoke noundef zeroext i1 @_ZN17HighsImplications10runProbingEiRi(ptr noundef nonnull align 8 dereferenceable(176) %711, i32 noundef %712, ptr noundef nonnull align 4 dereferenceable(4) %59)
          to label %714 unwind label %723

714:                                              ; preds = %709
  %715 = zext i1 %713 to i8
  store i8 %715, ptr %61, align 1, !tbaa !409
  %716 = load i8, ptr %61, align 1, !tbaa !409, !range !407, !noundef !408
  %717 = trunc i8 %716 to i1
  br i1 %717, label %727, label %718

718:                                              ; preds = %714
  store i32 11, ptr %12, align 4
  br label %871

719:                                              ; preds = %706
  %720 = landingpad { ptr, i32 }
          cleanup
  %721 = extractvalue { ptr, i32 } %720, 0
  store ptr %721, ptr %18, align 8
  %722 = extractvalue { ptr, i32 } %720, 1
  store i32 %722, ptr %19, align 4
  br label %881

723:                                              ; preds = %752, %748, %741, %727, %709
  %724 = landingpad { ptr, i32 }
          cleanup
  %725 = extractvalue { ptr, i32 } %724, 0
  store ptr %725, ptr %18, align 8
  %726 = extractvalue { ptr, i32 } %724, 1
  store i32 %726, ptr %19, align 4
  br label %880

727:                                              ; preds = %714
  %728 = load i32, ptr %59, align 4, !tbaa !80
  %729 = sext i32 %728 to i64
  %730 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 49
  %731 = load i64, ptr %730, align 8, !tbaa !438
  %732 = add nsw i64 %731, %729
  store i64 %732, ptr %730, align 8, !tbaa !438
  %733 = load ptr, ptr %13, align 8, !tbaa !5
  %734 = invoke noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %733)
          to label %735 unwind label %723

735:                                              ; preds = %727
  %736 = load i32, ptr %60, align 4, !tbaa !80
  %737 = add nsw i32 %736, %734
  store i32 %737, ptr %60, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #6
  store i32 0, ptr %62, align 4, !tbaa !80
  %738 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %60, ptr noundef nonnull align 4 dereferenceable(4) %62)
          to label %739 unwind label %763

739:                                              ; preds = %735
  %740 = load i32, ptr %738, align 4, !tbaa !80
  store i32 %740, ptr %60, align 4, !tbaa !80
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #6
  br label %741

741:                                              ; preds = %767, %739
  %742 = load ptr, ptr %11, align 8, !tbaa !5
  %743 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %742)
          to label %744 unwind label %723

744:                                              ; preds = %741
  %745 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %743) #6
  %746 = load i64, ptr %33, align 8, !tbaa !414
  %747 = icmp ne i64 %745, %746
  br i1 %747, label %748, label %768

748:                                              ; preds = %744
  %749 = load ptr, ptr %11, align 8, !tbaa !5
  %750 = load ptr, ptr %11, align 8, !tbaa !5
  %751 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %750)
          to label %752 unwind label %723

752:                                              ; preds = %748
  %753 = load i64, ptr %33, align 8, !tbaa !414
  %754 = add i64 %753, 1
  store i64 %754, ptr %33, align 8, !tbaa !414
  %755 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %751, i64 noundef %753) #6
  %756 = load i32, ptr %755, align 4, !tbaa !80
  %757 = invoke noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %749, i32 noundef %756)
          to label %758 unwind label %723

758:                                              ; preds = %752
  br i1 %757, label %759, label %767

759:                                              ; preds = %758
  %760 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 50
  %761 = load i32, ptr %760, align 8, !tbaa !418
  %762 = add nsw i32 %761, 1
  store i32 %762, ptr %760, align 8, !tbaa !418
  br label %767

763:                                              ; preds = %735
  %764 = landingpad { ptr, i32 }
          cleanup
  %765 = extractvalue { ptr, i32 } %764, 0
  store ptr %765, ptr %18, align 8
  %766 = extractvalue { ptr, i32 } %764, 1
  store i32 %766, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #6
  br label %880

767:                                              ; preds = %759, %758
  br label %741, !llvm.loop !439

768:                                              ; preds = %744
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #6
  %769 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 50
  %770 = load i32, ptr %769, align 8, !tbaa !418
  %771 = load i32, ptr %36, align 4, !tbaa !80
  %772 = sub nsw i32 %770, %771
  %773 = sext i32 %772 to i64
  %774 = load ptr, ptr %14, align 8, !tbaa !5
  %775 = getelementptr inbounds %class.HighsImplications, ptr %774, i32 0, i32 6
  %776 = call noundef i64 @_ZNKSt6vectorI17HighsSubstitutionSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %775) #6
  %777 = add i64 %773, %776
  %778 = load ptr, ptr %13, align 8, !tbaa !5
  %779 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable16getSubstitutionsEv(ptr noundef nonnull align 8 dereferenceable(488) %778)
          to label %780 unwind label %811

780:                                              ; preds = %768
  %781 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %779) #6
  %782 = add i64 %777, %781
  %783 = trunc i64 %782 to i32
  store i32 %783, ptr %63, align 4, !tbaa !80
  %784 = load i32, ptr %63, align 4, !tbaa !80
  %785 = load i32, ptr %37, align 4, !tbaa !80
  %786 = icmp sgt i32 %784, %785
  br i1 %786, label %787, label %817

787:                                              ; preds = %780
  %788 = load i32, ptr %37, align 4, !tbaa !80
  %789 = sext i32 %788 to i64
  %790 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 49
  %791 = load i64, ptr %790, align 8, !tbaa !438
  %792 = add nsw i64 %791, %789
  store i64 %792, ptr %790, align 8, !tbaa !438
  %793 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %794 = load ptr, ptr %793, align 8, !tbaa !9
  %795 = getelementptr inbounds %class.HighsMipSolver, ptr %794, i32 0, i32 18
  %796 = load i8, ptr %795, align 8, !tbaa !421, !range !407, !noundef !408
  %797 = trunc i8 %796 to i1
  br i1 %797, label %815, label %798

798:                                              ; preds = %787
  %799 = load i32, ptr %63, align 4, !tbaa !80
  %800 = load i32, ptr %36, align 4, !tbaa !80
  %801 = add nsw i32 %799, %800
  %802 = mul nsw i32 100, %801
  %803 = sext i32 %802 to i64
  %804 = load i64, ptr %38, align 8, !tbaa !414
  %805 = add nsw i64 %804, %803
  store i64 %805, ptr %38, align 8, !tbaa !414
  %806 = load i32, ptr %60, align 4, !tbaa !80
  %807 = mul nsw i32 1000, %806
  %808 = sext i32 %807 to i64
  %809 = load i64, ptr %38, align 8, !tbaa !414
  %810 = add nsw i64 %809, %808
  store i64 %810, ptr %38, align 8, !tbaa !414
  br label %815

811:                                              ; preds = %864, %860, %768
  %812 = landingpad { ptr, i32 }
          cleanup
  %813 = extractvalue { ptr, i32 } %812, 0
  store ptr %813, ptr %18, align 8
  %814 = extractvalue { ptr, i32 } %812, 1
  store i32 %814, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #6
  br label %880

815:                                              ; preds = %798, %787
  %816 = load i32, ptr %63, align 4, !tbaa !80
  store i32 %816, ptr %37, align 4, !tbaa !80
  store i32 0, ptr %41, align 4, !tbaa !80
  br label %841

817:                                              ; preds = %780
  %818 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %819 = load ptr, ptr %818, align 8, !tbaa !9
  %820 = getelementptr inbounds %class.HighsMipSolver, ptr %819, i32 0, i32 18
  %821 = load i8, ptr %820, align 8, !tbaa !421, !range !407, !noundef !408
  %822 = trunc i8 %821 to i1
  br i1 %822, label %826, label %823

823:                                              ; preds = %817
  %824 = load i32, ptr %60, align 4, !tbaa !80
  %825 = icmp eq i32 %824, 0
  br i1 %825, label %826, label %834

826:                                              ; preds = %823, %817
  %827 = load i32, ptr %41, align 4, !tbaa !80
  %828 = mul nsw i32 100, %827
  %829 = sext i32 %828 to i64
  %830 = load i64, ptr %38, align 8, !tbaa !414
  %831 = sub nsw i64 %830, %829
  store i64 %831, ptr %38, align 8, !tbaa !414
  %832 = load i32, ptr %41, align 4, !tbaa !80
  %833 = add nsw i32 %832, 1
  store i32 %833, ptr %41, align 4, !tbaa !80
  br label %840

834:                                              ; preds = %823
  %835 = load i32, ptr %60, align 4, !tbaa !80
  %836 = mul nsw i32 1000, %835
  %837 = sext i32 %836 to i64
  %838 = load i64, ptr %38, align 8, !tbaa !414
  %839 = add nsw i64 %838, %837
  store i64 %839, ptr %38, align 8, !tbaa !414
  store i32 0, ptr %41, align 4, !tbaa !80
  br label %840

840:                                              ; preds = %834, %826
  br label %841

841:                                              ; preds = %840, %815
  %842 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 51
  %843 = load i32, ptr %842, align 4, !tbaa !103
  %844 = add nsw i32 %843, 1
  store i32 %844, ptr %842, align 4, !tbaa !103
  %845 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 48
  %846 = load i32, ptr %52, align 4, !tbaa !80
  %847 = sext i32 %846 to i64
  %848 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %845, i64 noundef %847) #6
  %849 = load i16, ptr %848, align 2, !tbaa !415
  %850 = zext i16 %849 to i32
  %851 = add nsw i32 %850, 1
  %852 = trunc i32 %851 to i16
  store i16 %852, ptr %848, align 2, !tbaa !415
  %853 = load i64, ptr %46, align 8, !tbaa !414
  %854 = load i64, ptr %43, align 8, !tbaa !414
  %855 = icmp uge i64 %853, %854
  br i1 %855, label %856, label %860

856:                                              ; preds = %841
  %857 = load ptr, ptr %14, align 8, !tbaa !5
  %858 = getelementptr inbounds %class.HighsImplications, ptr %857, i32 0, i32 8
  %859 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8functionIFviiidEEaSEDn(ptr noundef nonnull align 8 dereferenceable(32) %858, ptr null) #6
  br label %860

860:                                              ; preds = %856, %841
  %861 = load ptr, ptr %11, align 8, !tbaa !5
  %862 = invoke noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %861)
          to label %863 unwind label %811

863:                                              ; preds = %860
  br i1 %862, label %864, label %869

864:                                              ; preds = %863
  %865 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %866 = load ptr, ptr %865, align 8, !tbaa !9
  %867 = getelementptr inbounds %class.HighsMipSolver, ptr %866, i32 0, i32 26
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %867, i32 noundef 11)
          to label %868 unwind label %811

868:                                              ; preds = %864
  store i32 1, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %870

869:                                              ; preds = %863
  store i32 0, ptr %12, align 4
  br label %870

870:                                              ; preds = %869, %868
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #6
  br label %871

871:                                              ; preds = %870, %718
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %872

872:                                              ; preds = %871, %705, %696, %680, %643, %617
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #6
  %873 = load i32, ptr %12, align 4
  switch i32 %873, label %875 [
    i32 0, label %874
  ]

874:                                              ; preds = %872
  store i32 0, ptr %12, align 4
  br label %875

875:                                              ; preds = %874, %872
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  %876 = load i32, ptr %12, align 4
  switch i32 %876, label %883 [
    i32 0, label %877
    i32 11, label %878
  ]

877:                                              ; preds = %875
  br label %878

878:                                              ; preds = %877, %875
  %879 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %49) #6
  br label %599

880:                                              ; preds = %811, %763, %723
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #6
  br label %881

881:                                              ; preds = %880, %719
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #6
  br label %882

882:                                              ; preds = %881, %689, %644, %618
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  br label %1222

883:                                              ; preds = %875, %601
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  %884 = load i32, ptr %12, align 4
  switch i32 %884, label %1217 [
    i32 10, label %885
  ]

885:                                              ; preds = %883
  %886 = load ptr, ptr %13, align 8, !tbaa !5
  %887 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %886, ptr noundef nonnull align 8 dereferenceable(824) %887)
          to label %888 unwind label %588

888:                                              ; preds = %885
  %889 = load i8, ptr %15, align 1, !tbaa !409, !range !407, !noundef !408
  %890 = trunc i8 %889 to i1
  br i1 %890, label %896, label %891

891:                                              ; preds = %888
  %892 = load ptr, ptr %13, align 8, !tbaa !5
  %893 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %894 = load ptr, ptr %893, align 8, !tbaa !9
  invoke void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488) %892, ptr noundef nonnull align 8 dereferenceable(496) %894, i1 noundef zeroext false)
          to label %895 unwind label %588

895:                                              ; preds = %891
  br label %896

896:                                              ; preds = %895, %888
  %897 = load ptr, ptr %13, align 8, !tbaa !5
  %898 = load ptr, ptr %11, align 8, !tbaa !5
  invoke void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %897, ptr noundef nonnull align 8 dereferenceable(824) %898)
          to label %899 unwind label %588

899:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #6
  %900 = load ptr, ptr %13, align 8, !tbaa !5
  %901 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable14getDeletedRowsEv(ptr noundef nonnull align 8 dereferenceable(488) %900)
          to label %902 unwind label %912

902:                                              ; preds = %899
  store ptr %901, ptr %64, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #6
  %903 = load ptr, ptr %64, align 8, !tbaa !5
  %904 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %903) #6
  %905 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %65, i32 0, i32 0
  store ptr %904, ptr %905, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #6
  %906 = load ptr, ptr %64, align 8, !tbaa !5
  %907 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %906) #6
  %908 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator", ptr %66, i32 0, i32 0
  store ptr %907, ptr %908, align 8
  br label %909

909:                                              ; preds = %933, %902
  %910 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 8 dereferenceable(8) %66) #6
  br i1 %910, label %916, label %911

911:                                              ; preds = %909
  store i32 14, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %936

912:                                              ; preds = %899
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %18, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %19, align 4
  br label %935

916:                                              ; preds = %909
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #6
  %917 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %65) #6
  %918 = load i32, ptr %917, align 4, !tbaa !80
  store i32 %918, ptr %67, align 4, !tbaa !80
  %919 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 46
  %920 = load i32, ptr %67, align 4, !tbaa !80
  %921 = sext i32 %920 to i64
  %922 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %919, i64 noundef %921) #6
  %923 = load i8, ptr %922, align 1, !tbaa !440
  %924 = icmp ne i8 %923, 0
  br i1 %924, label %932, label %925

925:                                              ; preds = %916
  %926 = load i32, ptr %67, align 4, !tbaa !80
  invoke void @_ZN8presolve9HPresolve9removeRowEi(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %926)
          to label %927 unwind label %928

927:                                              ; preds = %925
  br label %932

928:                                              ; preds = %925
  %929 = landingpad { ptr, i32 }
          cleanup
  %930 = extractvalue { ptr, i32 } %929, 0
  store ptr %930, ptr %18, align 8
  %931 = extractvalue { ptr, i32 } %929, 1
  store i32 %931, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #6
  br label %935

932:                                              ; preds = %927, %916
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #6
  br label %933

933:                                              ; preds = %932
  %934 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %65) #6
  br label %909

935:                                              ; preds = %928, %912
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %1222

936:                                              ; preds = %911
  %937 = load ptr, ptr %13, align 8, !tbaa !5
  %938 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable14getDeletedRowsEv(ptr noundef nonnull align 8 dereferenceable(488) %937)
          to label %939 unwind label %588

939:                                              ; preds = %936
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %938) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #6
  %940 = load ptr, ptr %13, align 8, !tbaa !5
  %941 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable19getCliqueExtensionsEv(ptr noundef nonnull align 8 dereferenceable(488) %940)
          to label %942 unwind label %956

942:                                              ; preds = %939
  store ptr %941, ptr %68, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #6
  %943 = load ptr, ptr %68, align 8, !tbaa !5
  %944 = call noundef i64 @_ZNKSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %943) #6
  %945 = trunc i64 %944 to i32
  store i32 %945, ptr %69, align 4, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #6
  %946 = load ptr, ptr %68, align 8, !tbaa !5
  store ptr %946, ptr %70, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #6
  %947 = load ptr, ptr %70, align 8, !tbaa !5
  %948 = call ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %947) #6
  %949 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.438", ptr %71, i32 0, i32 0
  store ptr %948, ptr %949, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #6
  %950 = load ptr, ptr %70, align 8, !tbaa !5
  %951 = call ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %950) #6
  %952 = getelementptr inbounds %"class.__gnu_cxx::__normal_iterator.438", ptr %72, i32 0, i32 0
  store ptr %951, ptr %952, align 8
  br label %953

953:                                              ; preds = %1014, %942
  %954 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %71, ptr noundef nonnull align 8 dereferenceable(8) %72) #6
  br i1 %954, label %960, label %955

955:                                              ; preds = %953
  store i32 16, ptr %12, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  br label %1020

956:                                              ; preds = %939
  %957 = landingpad { ptr, i32 }
          cleanup
  %958 = extractvalue { ptr, i32 } %957, 0
  store ptr %958, ptr %18, align 8
  %959 = extractvalue { ptr, i32 } %957, 1
  store i32 %959, ptr %19, align 4
  br label %1221

960:                                              ; preds = %953
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #6
  %961 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %71) #6
  store ptr %961, ptr %73, align 8, !tbaa !5
  %962 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 46
  %963 = load ptr, ptr %73, align 8, !tbaa !5
  %964 = getelementptr inbounds %"struct.std::pair.439", ptr %963, i32 0, i32 0
  %965 = load i32, ptr %964, align 4, !tbaa !441
  %966 = sext i32 %965 to i64
  %967 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %962, i64 noundef %966) #6
  %968 = load i8, ptr %967, align 1, !tbaa !440
  %969 = icmp ne i8 %968, 0
  br i1 %969, label %970, label %973

970:                                              ; preds = %960
  %971 = load i32, ptr %69, align 4, !tbaa !80
  %972 = add nsw i32 %971, -1
  store i32 %972, ptr %69, align 4, !tbaa !80
  store i32 17, ptr %12, align 4
  br label %1011

973:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #6
  %974 = load ptr, ptr %73, align 8, !tbaa !5
  %975 = getelementptr inbounds %"struct.std::pair.439", ptr %974, i32 0, i32 1
  %976 = load i32, ptr %975, align 4
  %977 = lshr i32 %976, 31
  %978 = icmp eq i32 %977, 0
  br i1 %978, label %979, label %1000

979:                                              ; preds = %973
  %980 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %981 = load ptr, ptr %980, align 8, !tbaa !77
  %982 = getelementptr inbounds %class.HighsLp, ptr %981, i32 0, i32 5
  %983 = load ptr, ptr %73, align 8, !tbaa !5
  %984 = getelementptr inbounds %"struct.std::pair.439", ptr %983, i32 0, i32 0
  %985 = load i32, ptr %984, align 4, !tbaa !441
  %986 = sext i32 %985 to i64
  %987 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %982, i64 noundef %986) #6
  %988 = load double, ptr %987, align 8, !tbaa !79
  %989 = fsub double %988, 1.000000e+00
  store double %989, ptr %987, align 8, !tbaa !79
  %990 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %991 = load ptr, ptr %990, align 8, !tbaa !77
  %992 = getelementptr inbounds %class.HighsLp, ptr %991, i32 0, i32 6
  %993 = load ptr, ptr %73, align 8, !tbaa !5
  %994 = getelementptr inbounds %"struct.std::pair.439", ptr %993, i32 0, i32 0
  %995 = load i32, ptr %994, align 4, !tbaa !441
  %996 = sext i32 %995 to i64
  %997 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %992, i64 noundef %996) #6
  %998 = load double, ptr %997, align 8, !tbaa !79
  %999 = fsub double %998, 1.000000e+00
  store double %999, ptr %997, align 8, !tbaa !79
  store double -1.000000e+00, ptr %74, align 8, !tbaa !79
  br label %1001

1000:                                             ; preds = %973
  store double 1.000000e+00, ptr %74, align 8, !tbaa !79
  br label %1001

1001:                                             ; preds = %1000, %979
  %1002 = load ptr, ptr %73, align 8, !tbaa !5
  %1003 = getelementptr inbounds %"struct.std::pair.439", ptr %1002, i32 0, i32 0
  %1004 = load i32, ptr %1003, align 4, !tbaa !441
  %1005 = load ptr, ptr %73, align 8, !tbaa !5
  %1006 = getelementptr inbounds %"struct.std::pair.439", ptr %1005, i32 0, i32 1
  %1007 = load i32, ptr %1006, align 4
  %1008 = and i32 %1007, 2147483647
  %1009 = load double, ptr %74, align 8, !tbaa !79
  invoke void @_ZN8presolve9HPresolve11addToMatrixEiid(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %1004, i32 noundef %1008, double noundef %1009)
          to label %1010 unwind label %1016

1010:                                             ; preds = %1001
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #6
  store i32 0, ptr %12, align 4
  br label %1011

1011:                                             ; preds = %1010, %970
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #6
  %1012 = load i32, ptr %12, align 4
  switch i32 %1012, label %1247 [
    i32 0, label %1013
    i32 17, label %1014
  ]

1013:                                             ; preds = %1011
  br label %1014

1014:                                             ; preds = %1013, %1011
  %1015 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %71) #6
  br label %953

1016:                                             ; preds = %1001
  %1017 = landingpad { ptr, i32 }
          cleanup
  %1018 = extractvalue { ptr, i32 } %1017, 0
  store ptr %1018, ptr %18, align 8
  %1019 = extractvalue { ptr, i32 } %1017, 1
  store i32 %1019, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #6
  br label %1220

1020:                                             ; preds = %955
  %1021 = load ptr, ptr %68, align 8, !tbaa !5
  call void @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %1021) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #6
  store i32 0, ptr %75, align 4, !tbaa !80
  br label %1022

1022:                                             ; preds = %1131, %1020
  %1023 = load i32, ptr %75, align 4, !tbaa !80
  %1024 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %1025 = load ptr, ptr %1024, align 8, !tbaa !77
  %1026 = getelementptr inbounds %class.HighsLp, ptr %1025, i32 0, i32 0
  %1027 = load i32, ptr %1026, align 8, !tbaa !81
  %1028 = icmp ne i32 %1023, %1027
  br i1 %1028, label %1030, label %1029

1029:                                             ; preds = %1022
  store i32 18, ptr %12, align 4
  br label %1134

1030:                                             ; preds = %1022
  %1031 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 47
  %1032 = load i32, ptr %75, align 4, !tbaa !80
  %1033 = sext i32 %1032 to i64
  %1034 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1031, i64 noundef %1033) #6
  %1035 = load i8, ptr %1034, align 1, !tbaa !440
  %1036 = icmp ne i8 %1035, 0
  br i1 %1036, label %1037, label %1038

1037:                                             ; preds = %1030
  br label %1131

1038:                                             ; preds = %1030
  %1039 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %1040 = load ptr, ptr %1039, align 8, !tbaa !77
  %1041 = getelementptr inbounds %class.HighsLp, ptr %1040, i32 0, i32 3
  %1042 = load i32, ptr %75, align 4, !tbaa !80
  %1043 = sext i32 %1042 to i64
  %1044 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1041, i64 noundef %1043) #6
  %1045 = load double, ptr %1044, align 8, !tbaa !79
  %1046 = load ptr, ptr %11, align 8, !tbaa !5
  %1047 = getelementptr inbounds %class.HighsDomain, ptr %1046, i32 0, i32 25
  %1048 = load i32, ptr %75, align 4, !tbaa !80
  %1049 = sext i32 %1048 to i64
  %1050 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1047, i64 noundef %1049) #6
  %1051 = load double, ptr %1050, align 8, !tbaa !79
  %1052 = fcmp olt double %1045, %1051
  br i1 %1052, label %1053, label %1066

1053:                                             ; preds = %1038
  %1054 = load i32, ptr %75, align 4, !tbaa !80
  %1055 = load ptr, ptr %11, align 8, !tbaa !5
  %1056 = getelementptr inbounds %class.HighsDomain, ptr %1055, i32 0, i32 25
  %1057 = load i32, ptr %75, align 4, !tbaa !80
  %1058 = sext i32 %1057 to i64
  %1059 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1056, i64 noundef %1058) #6
  %1060 = load double, ptr %1059, align 8, !tbaa !79
  invoke void @_ZN8presolve9HPresolve14changeColLowerEid(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %1054, double noundef %1060)
          to label %1061 unwind label %1062

1061:                                             ; preds = %1053
  br label %1066

1062:                                             ; preds = %1105, %1090, %1081, %1053
  %1063 = landingpad { ptr, i32 }
          cleanup
  %1064 = extractvalue { ptr, i32 } %1063, 0
  store ptr %1064, ptr %18, align 8
  %1065 = extractvalue { ptr, i32 } %1063, 1
  store i32 %1065, ptr %19, align 4
  br label %1136

1066:                                             ; preds = %1061, %1038
  %1067 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %1068 = load ptr, ptr %1067, align 8, !tbaa !77
  %1069 = getelementptr inbounds %class.HighsLp, ptr %1068, i32 0, i32 4
  %1070 = load i32, ptr %75, align 4, !tbaa !80
  %1071 = sext i32 %1070 to i64
  %1072 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1069, i64 noundef %1071) #6
  %1073 = load double, ptr %1072, align 8, !tbaa !79
  %1074 = load ptr, ptr %11, align 8, !tbaa !5
  %1075 = getelementptr inbounds %class.HighsDomain, ptr %1074, i32 0, i32 26
  %1076 = load i32, ptr %75, align 4, !tbaa !80
  %1077 = sext i32 %1076 to i64
  %1078 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1075, i64 noundef %1077) #6
  %1079 = load double, ptr %1078, align 8, !tbaa !79
  %1080 = fcmp ogt double %1073, %1079
  br i1 %1080, label %1081, label %1090

1081:                                             ; preds = %1066
  %1082 = load i32, ptr %75, align 4, !tbaa !80
  %1083 = load ptr, ptr %11, align 8, !tbaa !5
  %1084 = getelementptr inbounds %class.HighsDomain, ptr %1083, i32 0, i32 26
  %1085 = load i32, ptr %75, align 4, !tbaa !80
  %1086 = sext i32 %1085 to i64
  %1087 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1084, i64 noundef %1086) #6
  %1088 = load double, ptr %1087, align 8, !tbaa !79
  invoke void @_ZN8presolve9HPresolve14changeColUpperEid(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %1082, double noundef %1088)
          to label %1089 unwind label %1062

1089:                                             ; preds = %1081
  br label %1090

1090:                                             ; preds = %1089, %1066
  %1091 = load ptr, ptr %11, align 8, !tbaa !5
  %1092 = load i32, ptr %75, align 4, !tbaa !80
  %1093 = invoke noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %1091, i32 noundef %1092)
          to label %1094 unwind label %1062

1094:                                             ; preds = %1090
  br i1 %1093, label %1095, label %1112

1095:                                             ; preds = %1094
  %1096 = load ptr, ptr %5, align 8, !tbaa !5
  %1097 = load i32, ptr %75, align 4, !tbaa !80
  %1098 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 0
  %1099 = load ptr, ptr %1098, align 8, !tbaa !77
  %1100 = getelementptr inbounds %class.HighsLp, ptr %1099, i32 0, i32 3
  %1101 = load i32, ptr %75, align 4, !tbaa !80
  %1102 = sext i32 %1101 to i64
  %1103 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1100, i64 noundef %1102) #6
  %1104 = load double, ptr %1103, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #6
  invoke void @_ZN8presolve19HighsPostsolveStack15removedFixedColI15HighsEmptySliceEEviddRK16HighsMatrixSliceIT_E(ptr noundef nonnull align 8 dereferenceable(224) %1096, i32 noundef %1097, double noundef %1104, double noundef 0.000000e+00, ptr noundef nonnull align 1 dereferenceable(1) %76)
          to label %1105 unwind label %1108

1105:                                             ; preds = %1095
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #6
  %1106 = load i32, ptr %75, align 4, !tbaa !80
  invoke void @_ZN8presolve9HPresolve14removeFixedColEi(ptr noundef nonnull align 8 dereferenceable(1720) %80, i32 noundef %1106)
          to label %1107 unwind label %1062

1107:                                             ; preds = %1105
  br label %1112

1108:                                             ; preds = %1095
  %1109 = landingpad { ptr, i32 }
          cleanup
  %1110 = extractvalue { ptr, i32 } %1109, 0
  store ptr %1110, ptr %18, align 8
  %1111 = extractvalue { ptr, i32 } %1109, 1
  store i32 %1111, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #6
  br label %1136

1112:                                             ; preds = %1107, %1094
  br label %1113

1113:                                             ; preds = %1112
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #6
  %1114 = load ptr, ptr %5, align 8, !tbaa !5
  %1115 = invoke noundef i32 @_ZN8presolve9HPresolve11checkLimitsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(224) %1114)
          to label %1116 unwind label %1121

1116:                                             ; preds = %1113
  store i32 %1115, ptr %77, align 4, !tbaa !444
  %1117 = load i32, ptr %77, align 4, !tbaa !444
  %1118 = icmp ne i32 %1117, 0
  br i1 %1118, label %1119, label %1125

1119:                                             ; preds = %1116
  %1120 = load i32, ptr %77, align 4, !tbaa !444
  store i32 %1120, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1126

1121:                                             ; preds = %1113
  %1122 = landingpad { ptr, i32 }
          cleanup
  %1123 = extractvalue { ptr, i32 } %1122, 0
  store ptr %1123, ptr %18, align 8
  %1124 = extractvalue { ptr, i32 } %1122, 1
  store i32 %1124, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  br label %1136

1125:                                             ; preds = %1116
  store i32 0, ptr %12, align 4
  br label %1126

1126:                                             ; preds = %1125, %1119
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #6
  %1127 = load i32, ptr %12, align 4
  switch i32 %1127, label %1134 [
    i32 0, label %1128
  ]

1128:                                             ; preds = %1126
  br label %1129

1129:                                             ; preds = %1128
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130, %1037
  %1132 = load i32, ptr %75, align 4, !tbaa !80
  %1133 = add nsw i32 %1132, 1
  store i32 %1133, ptr %75, align 4, !tbaa !80
  br label %1022, !llvm.loop !446

1134:                                             ; preds = %1126, %1029
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  %1135 = load i32, ptr %12, align 4
  switch i32 %1135, label %1216 [
    i32 18, label %1137
  ]

1136:                                             ; preds = %1121, %1108, %1062
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #6
  br label %1220

1137:                                             ; preds = %1134
  br label %1138

1138:                                             ; preds = %1137
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #6
  %1139 = load ptr, ptr %5, align 8, !tbaa !5
  %1140 = invoke noundef i32 @_ZN8presolve9HPresolve31applyConflictGraphSubstitutionsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(224) %1139)
          to label %1141 unwind label %1146

1141:                                             ; preds = %1138
  store i32 %1140, ptr %78, align 4, !tbaa !444
  %1142 = load i32, ptr %78, align 4, !tbaa !444
  %1143 = icmp ne i32 %1142, 0
  br i1 %1143, label %1144, label %1150

1144:                                             ; preds = %1141
  %1145 = load i32, ptr %78, align 4, !tbaa !444
  store i32 %1145, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1151

1146:                                             ; preds = %1138
  %1147 = landingpad { ptr, i32 }
          cleanup
  %1148 = extractvalue { ptr, i32 } %1147, 0
  store ptr %1148, ptr %18, align 8
  %1149 = extractvalue { ptr, i32 } %1147, 1
  store i32 %1149, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #6
  br label %1220

1150:                                             ; preds = %1141
  store i32 0, ptr %12, align 4
  br label %1151

1151:                                             ; preds = %1150, %1144
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #6
  %1152 = load i32, ptr %12, align 4
  switch i32 %1152, label %1216 [
    i32 0, label %1153
  ]

1153:                                             ; preds = %1151
  br label %1154

1154:                                             ; preds = %1153
  br label %1155

1155:                                             ; preds = %1154
  %1156 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 1
  %1157 = load ptr, ptr %1156, align 8, !tbaa !412
  %1158 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1157, i32 0, i32 130
  %1159 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 51
  %1160 = load i32, ptr %1159, align 4, !tbaa !103
  %1161 = load i32, ptr %10, align 4, !tbaa !80
  %1162 = sub nsw i32 %1160, %1161
  %1163 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 52
  %1164 = load i32, ptr %1163, align 8, !tbaa !76
  %1165 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 53
  %1166 = load i32, ptr %1165, align 4, !tbaa !75
  %1167 = load i32, ptr %69, align 4, !tbaa !80
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1158, i32 noundef 1, ptr noundef @.str.77, i32 noundef %1162, i32 noundef %1164, i32 noundef %1166, i32 noundef %1167)
          to label %1168 unwind label %1196

1168:                                             ; preds = %1155
  %1169 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %1170 = load ptr, ptr %1169, align 8, !tbaa !9
  %1171 = getelementptr inbounds %class.HighsMipSolver, ptr %1170, i32 0, i32 1
  %1172 = load ptr, ptr %1171, align 8, !tbaa !434
  %1173 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1172, i32 0, i32 129
  %1174 = load i32, ptr %1173, align 4, !tbaa !435
  %1175 = icmp ne i32 %1174, -1
  br i1 %1175, label %1176, label %1215

1176:                                             ; preds = %1168
  %1177 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 52
  %1178 = load i32, ptr %1177, align 8, !tbaa !76
  %1179 = icmp eq i32 %1178, 0
  br i1 %1179, label %1180, label %1210

1180:                                             ; preds = %1176
  %1181 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 53
  %1182 = load i32, ptr %1181, align 4, !tbaa !75
  %1183 = icmp eq i32 %1182, 0
  br i1 %1183, label %1184, label %1210

1184:                                             ; preds = %1180
  %1185 = load i32, ptr %69, align 4, !tbaa !80
  %1186 = icmp eq i32 %1185, 0
  br i1 %1186, label %1187, label %1210

1187:                                             ; preds = %1184
  br label %1188

1188:                                             ; preds = %1187
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #6
  %1189 = load ptr, ptr %5, align 8, !tbaa !5
  %1190 = invoke noundef i32 @_ZN8presolve9HPresolve17liftingForProbingERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(224) %1189)
          to label %1191 unwind label %1200

1191:                                             ; preds = %1188
  store i32 %1190, ptr %79, align 4, !tbaa !444
  %1192 = load i32, ptr %79, align 4, !tbaa !444
  %1193 = icmp ne i32 %1192, 0
  br i1 %1193, label %1194, label %1204

1194:                                             ; preds = %1191
  %1195 = load i32, ptr %79, align 4, !tbaa !444
  store i32 %1195, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1205

1196:                                             ; preds = %1155
  %1197 = landingpad { ptr, i32 }
          cleanup
  %1198 = extractvalue { ptr, i32 } %1197, 0
  store ptr %1198, ptr %18, align 8
  %1199 = extractvalue { ptr, i32 } %1197, 1
  store i32 %1199, ptr %19, align 4
  br label %1220

1200:                                             ; preds = %1188
  %1201 = landingpad { ptr, i32 }
          cleanup
  %1202 = extractvalue { ptr, i32 } %1201, 0
  store ptr %1202, ptr %18, align 8
  %1203 = extractvalue { ptr, i32 } %1201, 1
  store i32 %1203, ptr %19, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  br label %1220

1204:                                             ; preds = %1191
  store i32 0, ptr %12, align 4
  br label %1205

1205:                                             ; preds = %1204, %1194
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #6
  %1206 = load i32, ptr %12, align 4
  switch i32 %1206, label %1216 [
    i32 0, label %1207
  ]

1207:                                             ; preds = %1205
  br label %1208

1208:                                             ; preds = %1207
  br label %1209

1209:                                             ; preds = %1208
  br label %1210

1210:                                             ; preds = %1209, %1184, %1180, %1176
  %1211 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 39
  call void @_ZNSt13unordered_mapIi13HighsHashTreeISt4pairIiiEdESt4hashIiESt8equal_toIiESaIS1_IKiS3_EEE5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %1211) #6
  %1212 = load ptr, ptr %14, align 8, !tbaa !5
  %1213 = getelementptr inbounds %class.HighsImplications, ptr %1212, i32 0, i32 8
  %1214 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8functionIFviiidEEaSEDn(ptr noundef nonnull align 8 dereferenceable(32) %1213, ptr null) #6
  br label %1215

1215:                                             ; preds = %1210, %1168
  store i32 0, ptr %12, align 4
  br label %1216

1216:                                             ; preds = %1215, %1205, %1151, %1134
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  br label %1217

1217:                                             ; preds = %1216, %883
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  %1218 = load i32, ptr %12, align 4
  switch i32 %1218, label %1237 [
    i32 0, label %1219
  ]

1219:                                             ; preds = %1217
  br label %1229

1220:                                             ; preds = %1200, %1196, %1146, %1136, %1016
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #6
  br label %1221

1221:                                             ; preds = %1220, %956
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  br label %1222

1222:                                             ; preds = %1221, %935, %882, %588
  call void @llvm.lifetime.end.p0(i64 8, ptr %46) #6
  br label %1223

1223:                                             ; preds = %1222, %584
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #6
  br label %1224

1224:                                             ; preds = %1223, %580
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #6
  br label %1225

1225:                                             ; preds = %1224, %576
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  br label %1226

1226:                                             ; preds = %1225, %572
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #6
  br label %1227

1227:                                             ; preds = %1226, %568
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #6
  br label %1228

1228:                                             ; preds = %1227, %495
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  br label %1238

1229:                                             ; preds = %1219, %461
  %1230 = getelementptr inbounds %"class.presolve::HPresolve", ptr %80, i32 0, i32 3
  %1231 = load ptr, ptr %1230, align 8, !tbaa !9
  %1232 = getelementptr inbounds %class.HighsMipSolver, ptr %1231, i32 0, i32 26
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %1232, i32 noundef 11)
          to label %1233 unwind label %374

1233:                                             ; preds = %1229
  %1234 = load ptr, ptr %5, align 8, !tbaa !5
  %1235 = invoke noundef i32 @_ZN8presolve9HPresolve11checkLimitsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %80, ptr noundef nonnull align 8 dereferenceable(224) %1234)
          to label %1236 unwind label %374

1236:                                             ; preds = %1233
  store i32 %1235, ptr %3, align 4
  store i32 1, ptr %12, align 4
  br label %1237

1237:                                             ; preds = %1236, %1217
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #6
  br label %1239

1238:                                             ; preds = %1228, %460, %374
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  br label %1242

1239:                                             ; preds = %1237, %342, %332, %324, %278
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  br label %1240

1240:                                             ; preds = %1239, %241
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %6) #6
  %1241 = load i32, ptr %3, align 4
  ret i32 %1241

1242:                                             ; preds = %1238
  %1243 = load ptr, ptr %18, align 8
  %1244 = load i32, ptr %19, align 4
  %1245 = insertvalue { ptr, i32 } poison, ptr %1243, 0
  %1246 = insertvalue { ptr, i32 } %1245, i32 %1244, 1
  resume { ptr, i32 } %1246

1247:                                             ; preds = %1011
  unreachable
}

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

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

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

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

declare void @_ZN18HighsMipSolverData22setupDomainPropagationEv(ptr noundef nonnull align 8 dereferenceable(26801)) #4

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

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

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

declare void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(496), i1 noundef zeroext) #4

declare void @_ZN16HighsCliqueTable17extractObjCliquesER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(496)) #4

declare void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) #4

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

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

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

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

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

declare noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, i1 noundef zeroext) #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z7pdqsortIN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS3_SaIS3_EEEEEvT_S9_(ptr, ptr) #5

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @"_ZZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEENK3$_1clEm"(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFviiidEEaSIZN8presolve9HPresolve10runProbingERNS3_19HighsPostsolveStackEE3$_0EENSt9enable_ifIXsrNS1_9_CallableIT_NS8_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISA_E4typeEE4typeES1_EE5valueESt5decayISA_EE4type4typeESt15__invoke_resultIRSL_JiiidEEEE5valueERS1_E4typeEOSA_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) #1 align 2

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

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

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

declare noundef zeroext i1 @_ZN17HighsImplications10runProbingEiRi(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) #4

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

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

declare void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(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 = { 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 #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 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 = { 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 24}
!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 = !{!10, !55, i64 1584}
!75 = !{!10, !60, i64 1572}
!76 = !{!10, !60, i64 1568}
!77 = !{!10, !6, i64 0}
!78 = !{!10, !11, i64 32}
!79 = !{!11, !11, i64 0}
!80 = !{!60, !60, i64 0}
!81 = !{!82, !60, i64 0}
!82 = !{!"_ZTS7HighsLp", !60, i64 0, !60, i64 4, !12, i64 8, !12, i64 32, !12, i64 56, !12, i64 80, !12, i64 104, !83, i64 128, !85, i64 240, !11, i64 248, !86, i64 256, !86, i64 288, !60, i64 320, !60, i64 324, !88, i64 328, !88, i64 352, !92, i64 376, !96, i64 400, !96, i64 456, !60, i64 512, !60, i64 516, !99, i64 520, !55, i64 592, !55, i64 593, !60, i64 596, !55, i64 600, !100, i64 608}
!83 = !{!"_ZTS17HighsSparseMatrix", !84, i64 0, !60, i64 4, !60, i64 8, !16, i64 16, !16, i64 40, !16, i64 64, !12, i64 88}
!84 = !{!"_ZTS12MatrixFormat", !7, i64 0}
!85 = !{!"_ZTS8ObjSense", !7, i64 0}
!86 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !87, i64 0, !39, i64 8, !7, i64 16}
!87 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!88 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !89, i64 0}
!89 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !90, i64 0}
!90 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !91, i64 0}
!91 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!92 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !93, i64 0}
!93 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !94, i64 0}
!94 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !95, i64 0}
!95 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!96 = !{!"_ZTS13HighsNameHash", !97, i64 0}
!97 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !98, i64 0}
!98 = !{!"_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}
!99 = !{!"_ZTS10HighsScale", !60, i64 0, !55, i64 4, !60, i64 8, !60, i64 12, !11, i64 16, !12, i64 24, !12, i64 48}
!100 = !{!"_ZTS11HighsLpMods", !16, i64 0, !16, i64 24, !12, i64 48, !12, i64 72, !92, 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}
!101 = distinct !{!101, !102}
!102 = !{!"llvm.loop.mustprogress"}
!103 = !{!10, !60, i64 1564}
!104 = !{!105, !55, i64 25616}
!105 = !{!"_ZTS18HighsMipSolverData", !6, i64 0, !106, i64 8, !122, i64 688, !135, i64 912, !178, i64 1736, !314, i64 23168, !315, i64 23528, !347, i64 24016, !361, i64 24192, !362, i64 24296, !367, i64 24344, !294, i64 24464, !61, i64 24688, !82, i64 24696, !55, i64 25616, !55, i64 25617, !55, i64 25618, !228, 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, !368, i64 25912, !380, 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, !181, i64 26256, !11, i64 26352, !60, i64 26360, !60, i64 26364, !145, 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, !382, i64 26608, !405, i64 26760, !406, i64 26800}
!106 = !{!"_ZTS12HighsCutPool", !107, i64 0, !12, i64 336, !108, i64 360, !12, i64 384, !12, i64 408, !29, i64 432, !112, i64 456, !114, 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, !118, i64 656}
!107 = !{!"_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}
!108 = !{!"_ZTSSt6vectorIsSaIsEE", !109, i64 0}
!109 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !110, i64 0}
!110 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !111, i64 0}
!111 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!112 = !{!"_ZTSSt18unordered_multimapImiSt4hashImESt8equal_toImESaISt4pairIKmiEEE", !113, i64 0}
!113 = !{!"_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}
!114 = !{!"_ZTSSt6vectorIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !115, i64 0}
!115 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !116, i64 0}
!116 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE12_Vector_implE", !117, i64 0}
!117 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!118 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !119, i64 0}
!119 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !120, i64 0}
!120 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !121, i64 0}
!121 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!122 = !{!"_ZTS17HighsConflictPool", !60, i64 0, !60, i64 4, !16, i64 8, !108, i64 32, !123, i64 56, !127, i64 80, !33, i64 104, !43, i64 128, !16, i64 176, !131, i64 200}
!123 = !{!"_ZTSSt6vectorIjSaIjEE", !124, i64 0}
!124 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !126, i64 0}
!126 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!127 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !128, i64 0}
!128 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !129, i64 0}
!129 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !130, i64 0}
!130 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!131 = !{!"_ZTSSt6vectorIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !132, i64 0}
!132 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !133, i64 0}
!133 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE12_Vector_implE", !134, i64 0}
!134 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!135 = !{!"_ZTS11HighsDomain", !29, i64 0, !16, i64 24, !33, i64 48, !127, i64 72, !136, i64 96, !140, i64 120, !25, i64 144, !25, i64 168, !16, i64 192, !16, i64 216, !12, i64 240, !29, i64 264, !16, i64 288, !144, i64 312, !6, i64 472, !154, i64 480, !159, i64 560, !55, i64 640, !164, i64 644, !60, i64 652, !16, i64 656, !16, i64 680, !16, i64 704, !165, i64 728, !55, i64 768, !12, i64 776, !12, i64 800}
!136 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !137, i64 0}
!137 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !138, i64 0}
!138 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !139, i64 0}
!139 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!140 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !141, i64 0}
!141 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !142, i64 0}
!142 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !143, i64 0}
!143 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!144 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !6, i64 0, !6, i64 8, !6, i64 16, !145, i64 24, !60, i64 40, !11, i64 48, !55, i64 56, !146, i64 64, !33, i64 88, !12, i64 112, !150, i64 136}
!145 = !{!"_ZTS12HighsCDouble", !11, i64 0, !11, i64 8}
!146 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !147, i64 0}
!147 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !148, i64 0}
!148 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !149, i64 0}
!149 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!150 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !151, i64 0}
!151 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !152, i64 0}
!152 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !153, i64 0}
!153 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!154 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !155, i64 0}
!155 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !156, i64 0}
!156 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !157, i64 0}
!157 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !39, i64 8, !158, i64 16, !158, i64 48}
!158 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!159 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !160, i64 0}
!160 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !161, i64 0}
!161 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !162, i64 0}
!162 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !6, i64 0, !39, i64 8, !163, i64 16, !163, i64 48}
!163 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24}
!164 = !{!"_ZTSN11HighsDomain6ReasonE", !60, i64 0, !60, i64 4}
!165 = !{!"_ZTS14HighsHashTableIivE", !166, i64 0, !172, i64 8, !39, i64 16, !39, i64 24, !39, i64 32}
!166 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !167, i64 0}
!167 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !168, i64 0}
!168 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !169, i64 0}
!169 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !170, i64 0}
!170 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !171, i64 0}
!171 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !6, i64 0}
!172 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !173, i64 0}
!173 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !174, i64 0}
!174 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !175, i64 0}
!175 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !176, i64 0}
!176 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !177, i64 0}
!177 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !6, i64 0}
!178 = !{!"_ZTS17HighsLpRelaxation", !6, i64 0, !179, i64 8, !305, i64 20936, !118, i64 20960, !12, i64 20984, !16, i64 21008, !12, i64 21032, !12, i64 21056, !12, i64 21080, !275, i64 21104, !309, i64 21280, !11, i64 21328, !55, i64 21336, !11, i64 21344, !310, i64 21352, !55, i64 21368, !39, i64 21376, !39, i64 21384, !11, i64 21392, !39, i64 21400, !39, i64 21408, !60, i64 21416, !313, i64 21420, !55, i64 21424}
!179 = !{!"_ZTS5Highs", !180, i64 8, !181, i64 112, !186, i64 208, !191, i64 312, !194, i64 1312, !191, i64 1336, !198, i64 2336, !199, i64 2472, !204, i64 2728, !211, i64 3752, !217, i64 3936, !219, i64 4520, !224, i64 4648, !61, i64 4672, !228, i64 4676, !55, i64 4680, !11, i64 4688, !12, i64 4696, !12, i64 4720, !83, i64 4744, !229, i64 4856, !69, i64 19424, !60, i64 19448, !55, i64 19452, !60, i64 19456, !55, i64 19460, !287, i64 19464}
!180 = !{!"_ZTS13HighsSolution", !55, i64 0, !55, i64 1, !12, i64 8, !12, i64 32, !12, i64 56, !12, i64 80}
!181 = !{!"_ZTS10HighsBasis", !55, i64 0, !55, i64 1, !55, i64 2, !55, i64 3, !60, i64 4, !60, i64 8, !86, i64 16, !182, i64 48, !182, i64 72}
!182 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !183, i64 0}
!183 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !184, i64 0}
!184 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !185, i64 0}
!185 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!186 = !{!"_ZTS10ICrashInfo", !60, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !11, i64 40, !187, i64 48, !12, i64 72, !11, i64 96}
!187 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !188, i64 0}
!188 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !189, i64 0}
!189 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !190, i64 0}
!190 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!191 = !{!"_ZTS10HighsModel", !82, i64 0, !192, i64 920}
!192 = !{!"_ZTS12HighsHessian", !60, i64 0, !193, i64 4, !16, i64 8, !16, i64 32, !12, i64 56}
!193 = !{!"_ZTS13HessianFormat", !7, i64 0}
!194 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !195, i64 0}
!195 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !196, i64 0}
!196 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !197, i64 0}
!197 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!198 = !{!"_ZTS10HighsTimer", !11, i64 8, !60, i64 16, !16, i64 24, !12, i64 48, !12, i64 72, !88, i64 96, !60, i64 120, !60, i64 124, !60, i64 128}
!199 = !{!"_ZTS13HighsCallback", !200, i64 0, !6, i64 32, !6, i64 40, !63, i64 48, !202, i64 88, !203, i64 240}
!200 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !201, i64 0, !6, i64 24}
!201 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!202 = !{!"_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}
!203 = !{!"_ZTS19HighsCallbackDataIn", !60, i64 0, !6, i64 8}
!204 = !{!"_ZTS12HighsOptions", !205, i64 0, !207, i64 992, !60, i64 1016}
!205 = !{!"_ZTS18HighsOptionsStruct", !86, i64 8, !86, i64 40, !86, i64 72, !86, i64 104, !11, i64 136, !86, i64 144, !86, i64 176, !60, i64 208, !86, 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, !86, i64 392, !55, i64 424, !55, i64 425, !55, i64 426, !60, i64 428, !60, i64 432, !86, 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, !86, 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, !86, i64 856, !55, i64 888, !60, i64 892, !206, i64 896}
!206 = !{!"_ZTS15HighsLogOptions", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !200, i64 48, !6, i64 80, !55, i64 88}
!207 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !208, i64 0}
!208 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !209, i64 0}
!209 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !210, i64 0}
!210 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!211 = !{!"_ZTS9HighsInfo", !212, i64 8, !213, i64 160}
!212 = !{!"_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}
!213 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !214, i64 0}
!214 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !215, i64 0}
!215 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !216, i64 0}
!216 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!217 = !{!"_ZTS12HighsRanging", !55, i64 0, !218, i64 8, !218, i64 104, !218, i64 200, !218, i64 296, !218, i64 392, !218, i64 488}
!218 = !{!"_ZTS18HighsRangingRecord", !12, i64 0, !12, i64 24, !16, i64 48, !16, i64 72}
!219 = !{!"_ZTS8HighsIis", !55, i64 0, !60, i64 4, !16, i64 8, !16, i64 32, !16, i64 56, !16, i64 80, !220, i64 104}
!220 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !221, i64 0}
!221 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !222, i64 0}
!222 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !223, i64 0}
!223 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!224 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !225, i64 0}
!225 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !226, i64 0}
!226 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !227, i64 0}
!227 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!228 = !{!"_ZTS16HighsModelStatus", !7, i64 0}
!229 = !{!"_ZTS4HEkk", !6, i64 0, !6, i64 8, !6, i64 16, !230, i64 24, !82, i64 8600, !86, i64 9520, !247, i64 9552, !248, i64 9568, !228, i64 10608, !249, i64 10616, !254, i64 10736, !261, i64 10776, !12, i64 10784, !12, i64 10808, !55, i64 10832, !83, i64 10840, !83, i64 10952, !262, i64 11064, !279, 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, !280, i64 14092, !60, i64 14096, !60, i64 14100, !16, i64 14104, !12, i64 14128, !281, i64 14152, !281, 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, !282, i64 14464, !12, i64 14488, !286, i64 14512}
!230 = !{!"_ZTS20HighsSimplexAnalysis", !6, i64 0, !231, i64 8, !231, i64 32, !6, i64 56, !60, i64 64, !60, i64 68, !60, i64 72, !86, i64 80, !86, i64 112, !206, 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, !235, i64 252, !60, i64 256, !60, i64 260, !60, i64 264, !60, i64 268, !60, i64 272, !60, i64 276, !60, i64 280, !86, 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, !236, i64 608, !236, i64 760, !236, i64 912, !236, i64 1064, !236, i64 1216, !236, i64 1368, !236, i64 1520, !236, i64 1672, !236, i64 1824, !236, 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, !237, i64 2344, !241, 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, !236, i64 7664, !236, i64 7816, !236, i64 7968, !236, i64 8120, !236, i64 8272, !236, i64 8424}
!231 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !232, i64 0}
!232 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !233, i64 0}
!233 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !234, i64 0}
!234 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!235 = !{!"_ZTS14EdgeWeightMode", !7, i64 0}
!236 = !{!"_ZTS22HighsValueDistribution", !86, i64 0, !86, 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}
!237 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !238, i64 0}
!238 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !239, i64 0}
!239 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !240, i64 0}
!240 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!241 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !242, i64 0}
!242 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !243, i64 0}
!243 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !244, i64 0}
!244 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !245, i64 0}
!245 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !246, i64 0}
!246 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !6, i64 0}
!247 = !{!"_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}
!248 = !{!"_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, !249, 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}
!249 = !{!"_ZTS12SimplexBasis", !16, i64 0, !250, i64 24, !250, i64 48, !39, i64 72, !60, i64 80, !60, i64 84, !86, i64 88}
!250 = !{!"_ZTSSt6vectorIaSaIaEE", !251, i64 0}
!251 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !252, i64 0}
!252 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !253, i64 0}
!253 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!254 = !{!"_ZTS14HighsHashTableImvE", !255, i64 0, !172, i64 8, !39, i64 16, !39, i64 24, !39, i64 32}
!255 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !256, i64 0}
!256 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !257, i64 0}
!257 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !258, i64 0}
!258 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !259, i64 0}
!259 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !260, i64 0}
!260 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !6, i64 0}
!261 = !{!"_ZTS11HighsRandom", !39, i64 0}
!262 = !{!"_ZTS11HSimplexNla", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !263, i64 48, !55, i64 1960, !11, i64 1968, !276, i64 1976, !277, i64 2112}
!263 = !{!"_ZTS7HFactor", !11, i64 0, !11, i64 8, !60, i64 16, !16, i64 24, !16, i64 48, !16, i64 72, !264, 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, !265, i64 296, !206, 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, !271, 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, !275, i64 1736}
!264 = !{!"_ZTS12RefactorInfo", !55, i64 0, !16, i64 8, !16, i64 32, !250, i64 56, !11, i64 80}
!265 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !266, i64 0}
!266 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !267, i64 0}
!267 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !268, i64 0}
!268 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !269, i64 0}
!269 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !270, i64 0}
!270 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !6, i64 0}
!271 = !{!"_ZTSSt6vectorIcSaIcEE", !272, i64 0}
!272 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !273, i64 0}
!273 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !274, i64 0}
!274 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!275 = !{!"_ZTS11HVectorBaseIdE", !60, i64 0, !60, i64 4, !16, i64 8, !12, i64 32, !11, i64 56, !271, i64 64, !16, i64 88, !6, i64 112, !55, i64 120, !60, i64 124, !16, i64 128, !12, i64 152}
!276 = !{!"_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}
!277 = !{!"_ZTS14SimplexIterate", !55, i64 0, !249, i64 8, !278, i64 128, !12, i64 728}
!278 = !{!"_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}
!279 = !{!"_ZTS8HotStart", !55, i64 0, !264, i64 8, !250, i64 96}
!280 = !{!"_ZTS16SimplexAlgorithm", !7, i64 0}
!281 = !{!"_ZTS14HighsRayRecord", !60, i64 0, !60, i64 4, !12, i64 8}
!282 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !283, i64 0}
!283 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !284, i64 0}
!284 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !285, i64 0}
!285 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!286 = !{!"_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}
!287 = !{!"_ZTS17PresolveComponent", !288, i64 0, !292, i64 16, !293, i64 56, !6, i64 1440, !6, i64 1448, !61, i64 1456, !304, i64 1460}
!288 = !{!"_ZTS14HighsComponent", !289, i64 8, !290, i64 9, !291, i64 10}
!289 = !{!"_ZTS18HighsComponentInfo", !55, i64 0}
!290 = !{!"_ZTS18HighsComponentData", !55, i64 0}
!291 = !{!"_ZTS21HighsComponentOptions", !55, i64 0}
!292 = !{!"_ZTS21PresolveComponentInfo", !289, i64 8, !60, i64 12, !60, i64 16, !60, i64 20, !11, i64 24, !11, i64 32}
!293 = !{!"_ZTS21PresolveComponentData", !290, i64 8, !82, i64 16, !294, i64 936, !180, i64 1160, !181, i64 1264, !69, i64 1360}
!294 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !39, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32, !295, i64 40, !296, i64 72, !16, i64 96, !16, i64 120, !29, i64 144, !300, i64 168, !300, i64 192, !60, i64 216, !60, i64 220}
!295 = !{!"_ZTS14HighsDataStack", !271, i64 0, !39, i64 24}
!296 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !297, i64 0}
!297 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !298, i64 0}
!298 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !299, i64 0}
!299 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!300 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !301, i64 0}
!301 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !302, i64 0}
!302 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !303, i64 0}
!303 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!304 = !{!"_ZTS20HighsPostsolveStatus", !7, i64 0}
!305 = !{!"_ZTSSt6vectorIN17HighsLpRelaxation5LpRowESaIS1_EE", !306, i64 0}
!306 = !{!"_ZTSSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE", !307, i64 0}
!307 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE12_Vector_implE", !308, i64 0}
!308 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!309 = !{!"_ZTS20HighsSparseVectorSum", !25, i64 0, !16, i64 24}
!310 = !{!"_ZTSSt10shared_ptrIK10HighsBasisE", !311, i64 0}
!311 = !{!"_ZTSSt12__shared_ptrIK10HighsBasisLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !312, i64 8}
!312 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0}
!313 = !{!"_ZTSN17HighsLpRelaxation6StatusE", !7, i64 0}
!314 = !{!"_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}
!315 = !{!"_ZTS16HighsCliqueTable", !316, i64 0, !320, i64 24, !324, i64 48, !328, i64 72, !43, i64 112, !16, i64 160, !335, i64 184, !16, i64 208, !316, i64 232, !16, i64 256, !339, i64 280, !16, i64 304, !343, i64 328, !29, i64 352, !29, i64 376, !123, i64 400, !16, i64 424, !261, i64 448, !60, i64 456, !60, i64 460, !60, i64 464, !60, i64 468, !55, i64 472, !39, i64 480}
!316 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !317, i64 0}
!317 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !318, i64 0}
!318 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !319, i64 0}
!319 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!320 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !321, i64 0}
!321 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !322, i64 0}
!322 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !323, i64 0}
!323 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!324 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !325, i64 0}
!325 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !326, i64 0}
!326 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !327, i64 0}
!327 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!328 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !329, i64 0, !172, i64 8, !39, i64 16, !39, i64 24, !39, i64 32}
!329 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !330, i64 0}
!330 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !331, i64 0}
!331 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !332, i64 0}
!332 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !333, i64 0}
!333 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !334, i64 0}
!334 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !6, i64 0}
!335 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !336, i64 0}
!336 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !337, i64 0}
!337 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !338, i64 0}
!338 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!339 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !340, i64 0}
!340 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !341, i64 0}
!341 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !342, i64 0}
!342 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!343 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !344, i64 0}
!344 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !345, i64 0}
!345 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !346, i64 0}
!346 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!347 = !{!"_ZTS17HighsImplications", !60, i64 0, !348, i64 8, !39, i64 32, !352, i64 40, !352, i64 64, !6, i64 88, !356, i64 96, !29, i64 120, !360, i64 144}
!348 = !{!"_ZTSSt6vectorIN17HighsImplications7ImplicsESaIS1_EE", !349, i64 0}
!349 = !{!"_ZTSSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE", !350, i64 0}
!350 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE12_Vector_implE", !351, i64 0}
!351 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!352 = !{!"_ZTSSt6vectorI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !353, i64 0}
!353 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !354, i64 0}
!354 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE12_Vector_implE", !355, i64 0}
!355 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!356 = !{!"_ZTSSt6vectorI17HighsSubstitutionSaIS0_EE", !357, i64 0}
!357 = !{!"_ZTSSt12_Vector_baseI17HighsSubstitutionSaIS0_EE", !358, i64 0}
!358 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE12_Vector_implE", !359, i64 0}
!359 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!360 = !{!"_ZTSSt8functionIFviiidEE", !201, i64 0, !6, i64 24}
!361 = !{!"_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, !261, i64 72, !16, i64 80}
!362 = !{!"_ZTS18HighsRedcostFixing", !363, i64 0, !363, i64 24}
!363 = !{!"_ZTSSt6vectorISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !364, i64 0}
!364 = !{!"_ZTSSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !365, i64 0}
!365 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE12_Vector_implE", !366, i64 0}
!366 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!367 = !{!"_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}
!368 = !{!"_ZTS15HighsSymmetries", !16, i64 0, !16, i64 24, !16, i64 48, !16, i64 72, !16, i64 96, !16, i64 120, !369, i64 144, !373, i64 168, !60, i64 208, !60, i64 212}
!369 = !{!"_ZTSSt6vectorI19HighsOrbitopeMatrixSaIS0_EE", !370, i64 0}
!370 = !{!"_ZTSSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE", !371, i64 0}
!371 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE12_Vector_implE", !372, i64 0}
!372 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!373 = !{!"_ZTS14HighsHashTableIiiE", !374, i64 0, !172, i64 8, !39, i64 16, !39, i64 24, !39, i64 32}
!374 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !375, i64 0}
!375 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterELb1ELb1EE", !376, i64 0}
!376 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !377, i64 0}
!377 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !378, i64 0}
!378 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !379, i64 0}
!379 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIiiELb0EE", !6, i64 0}
!380 = !{!"_ZTSSt10shared_ptrIK16StabilizerOrbitsE", !381, i64 0}
!381 = !{!"_ZTSSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EE", !6, i64 0, !312, i64 8}
!382 = !{!"_ZTS14HighsNodeQueue", !383, i64 0, !389, i64 8, !393, i64 32, !399, i64 64, !399, 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}
!383 = !{!"_ZTSSt10unique_ptrIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !384, i64 0}
!384 = !{!"_ZTSSt15__uniq_ptr_dataIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_ELb1ELb1EE", !385, i64 0}
!385 = !{!"_ZTSSt15__uniq_ptr_implIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !386, i64 0}
!386 = !{!"_ZTSSt5tupleIJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !387, i64 0}
!387 = !{!"_ZTSSt11_Tuple_implILm0EJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !388, i64 0}
!388 = !{!"_ZTSSt10_Head_baseILm0EPN14HighsNodeQueue14AllocatorStateELb0EE", !6, i64 0}
!389 = !{!"_ZTSSt6vectorIN14HighsNodeQueue8OpenNodeESaIS1_EE", !390, i64 0}
!390 = !{!"_ZTSSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE", !391, i64 0}
!391 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE12_Vector_implE", !392, i64 0}
!392 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!393 = !{!"_ZTSSt14priority_queueIlSt6vectorIlSaIlEESt7greaterIlEE", !394, i64 0, !398, i64 24}
!394 = !{!"_ZTSSt6vectorIlSaIlEE", !395, i64 0}
!395 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !396, i64 0}
!396 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !397, i64 0}
!397 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!398 = !{!"_ZTSSt7greaterIlE"}
!399 = !{!"_ZTSSt10unique_ptrISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !400, i64 0}
!400 = !{!"_ZTSSt15__uniq_ptr_dataISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteELb1ELb1EE", !401, i64 0}
!401 = !{!"_ZTSSt15__uniq_ptr_implISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !402, i64 0}
!402 = !{!"_ZTSSt5tupleIJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !403, i64 0}
!403 = !{!"_ZTSSt11_Tuple_implILm0EJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !404, i64 0}
!404 = !{!"_ZTSSt10_Head_baseILm0EPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEELb0EE", !6, i64 0}
!405 = !{!"_ZTS22HighsPrimaDualIntegral", !11, i64 0, !11, i64 8, !11, i64 16, !11, i64 24, !11, i64 32}
!406 = !{!"_ZTS13HighsDebugSol"}
!407 = !{i8 0, i8 2}
!408 = !{}
!409 = !{!55, !55, i64 0}
!410 = !{!105, !11, i64 26568}
!411 = !{!82, !11, i64 248}
!412 = !{!10, !6, i64 8}
!413 = !{!205, !60, i64 208}
!414 = !{!39, !39, i64 0}
!415 = !{!416, !416, i64 0}
!416 = !{!"short", !7, i64 0}
!417 = distinct !{!417, !102}
!418 = !{!10, !60, i64 1560}
!419 = distinct !{!419, !102}
!420 = !{!315, !39, i64 480}
!421 = !{!422, !55, i64 176}
!422 = !{!"_ZTS14HighsMipSolver", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !228, 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, !224, i64 152, !55, i64 176, !60, i64 180, !60, i64 184, !6, i64 192, !6, i64 200, !6, i64 208, !6, i64 216, !423, i64 224, !429, i64 232, !198, i64 360}
!423 = !{!"_ZTSSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EE", !424, i64 0}
!424 = !{!"_ZTSSt15__uniq_ptr_dataI18HighsMipSolverDataSt14default_deleteIS0_ELb1ELb1EE", !425, i64 0}
!425 = !{!"_ZTSSt15__uniq_ptr_implI18HighsMipSolverDataSt14default_deleteIS0_EE", !426, i64 0}
!426 = !{!"_ZTSSt5tupleIJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !427, i64 0}
!427 = !{!"_ZTSSt11_Tuple_implILm0EJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !428, i64 0}
!428 = !{!"_ZTSSt10_Head_baseILm0EP18HighsMipSolverDataLb0EE", !6, i64 0}
!429 = !{!"_ZTS16HighsMipAnalysis", !6, i64 0, !86, i64 8, !430, i64 40, !55, i64 72, !12, i64 80, !12, i64 104}
!430 = !{!"_ZTS15HighsTimerClock", !6, i64 0, !16, i64 8}
!431 = !{!432, !6, i64 0}
!432 = !{!"_ZTSZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEE3$_1", !6, i64 0}
!433 = !{!82, !60, i64 4}
!434 = !{!422, !6, i64 8}
!435 = !{!205, !60, i64 892}
!436 = !{!437, !6, i64 0}
!437 = !{!"_ZTSZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEE3$_0", !6, i64 0, !6, i64 8}
!438 = !{!10, !39, i64 1552}
!439 = distinct !{!439, !102}
!440 = !{!7, !7, i64 0}
!441 = !{!442, !60, i64 0}
!442 = !{!"_ZTSSt4pairIiN16HighsCliqueTable9CliqueVarEE", !60, i64 0, !443, i64 4}
!443 = !{!"_ZTSN16HighsCliqueTable9CliqueVarE", !60, i64 0, !60, i64 3}
!444 = !{!445, !445, i64 0}
!445 = !{!"_ZTSN8presolve9HPresolve6ResultE", !7, i64 0}
!446 = distinct !{!446, !102}


; 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.421" = type { %"struct.std::_Vector_base.422" }
%"struct.std::_Vector_base.422" = type { %"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::tuple<long, int, int, int>, std::allocator<std::tuple<long, int, int, int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsRandom = type { i64 }
%class.anon.436 = type { ptr }
%class.anon.437 = type { ptr, ptr }
%"class.__gnu_cxx::__normal_iterator.435" = type { ptr }
%"class.__gnu_cxx::__normal_iterator" = type { ptr }
%"class.__gnu_cxx::__normal_iterator.438" = type { ptr }
%struct.HighsEmptySlice = type { i8 }

@.str.77 = external hidden unnamed_addr constant [81 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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef double @_ZSt3absd(double noundef) local_unnamed_addr #2

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

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

; 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 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) local_unnamed_addr #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720), ptr noundef nonnull align 8 dereferenceable(224)) local_unnamed_addr #3 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 #2

; 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 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 uwtable
define dso_local noundef i32 @_ZN8presolve9HPresolve10runProbingERNS_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.421", align 8
  %4 = alloca %class.HighsRandom, align 8
  %5 = alloca i32, align 4
  %6 = alloca double, align 8
  %7 = alloca i64, align 8
  %8 = alloca i64, align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca %class.anon.436, align 8
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca i64, align 8
  %19 = alloca %class.anon.437, align 8
  %20 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %21 = alloca %"class.__gnu_cxx::__normal_iterator.435", align 8
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %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.438", align 8
  %34 = alloca %"class.__gnu_cxx::__normal_iterator.438", align 8
  %35 = alloca %struct.HighsEmptySlice, align 1
  %36 = getelementptr inbounds i8, ptr %0, i64 24
  %37 = load ptr, ptr %36, align 8, !tbaa !5
  %38 = getelementptr inbounds i8, ptr %37, i64 232
  tail call void @_ZNK16HighsMipAnalysis13mipTimerStartEi(ptr noundef nonnull align 8 dereferenceable(128) %38, i32 noundef 11)
  %39 = getelementptr inbounds i8, ptr %0, i64 1584
  store i8 0, ptr %39, align 8, !tbaa !73
  %40 = getelementptr inbounds i8, ptr %0, i64 1572
  %41 = load i32, ptr %40, align 4, !tbaa !74
  %42 = getelementptr inbounds i8, ptr %0, i64 1568
  %43 = load i32, ptr %42, align 8, !tbaa !75
  %44 = sub i32 0, %43
  %.not = icmp eq i32 %41, %44
  br i1 %.not, label %46, label %45

45:                                               ; preds = %2
  tail call void @_ZN8presolve9HPresolve13shrinkProblemERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1)
  br label %46

46:                                               ; preds = %45, %2
  %47 = load ptr, ptr %0, align 8, !tbaa !76
  %48 = getelementptr inbounds i8, ptr %47, i64 216
  %49 = getelementptr inbounds i8, ptr %47, i64 192
  %50 = getelementptr inbounds i8, ptr %47, i64 144
  tail call void @_ZN8presolve9HPresolve5toCSCERSt6vectorIdSaIdEERS1_IiSaIiEES7_(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(24) %48, ptr noundef nonnull align 8 dereferenceable(24) %49, ptr noundef nonnull align 8 dereferenceable(24) %50)
  %51 = load ptr, ptr %0, align 8, !tbaa !76
  %52 = getelementptr inbounds i8, ptr %51, i64 216
  %53 = getelementptr inbounds i8, ptr %51, i64 192
  %54 = getelementptr inbounds i8, ptr %51, i64 144
  %55 = tail call noundef zeroext i1 @_ZN8presolve9HPresolve9okFromCSCERKSt6vectorIdSaIdEERKS1_IiSaIiEES9_(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(24) %52, ptr noundef nonnull align 8 dereferenceable(24) %53, ptr noundef nonnull align 8 dereferenceable(24) %54)
  %56 = load ptr, ptr %36, align 8, !tbaa !5
  %57 = getelementptr inbounds i8, ptr %56, i64 224
  %58 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %57) #6
  %59 = getelementptr inbounds i8, ptr %58, i64 23528
  %60 = tail call noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %0)
  tail call void @_ZN16HighsCliqueTable13setMaxEntriesEi(ptr noundef nonnull align 8 dereferenceable(488) %59, i32 noundef %60)
  %61 = getelementptr inbounds i8, ptr %0, i64 32
  %62 = load double, ptr %61, align 8, !tbaa !77
  %63 = fdiv double %62, 0x3D06849B86A12B9B
  %64 = load ptr, ptr %0, align 8, !tbaa !76
  %65 = load i32, ptr %64, align 8, !tbaa !78
  %.not243312 = icmp eq i32 %65, 0
  br i1 %.not243312, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %46
  %66 = getelementptr inbounds i8, ptr %0, i64 400
  %67 = getelementptr inbounds i8, ptr %0, i64 424
  br label %80

._crit_edge:                                      ; preds = %126, %46
  %68 = getelementptr inbounds i8, ptr %0, i64 1564
  %69 = load i32, ptr %68, align 4, !tbaa !98
  %70 = load ptr, ptr %36, align 8, !tbaa !5
  %71 = getelementptr inbounds i8, ptr %70, i64 224
  %72 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %71) #6
  tail call void @_ZN18HighsMipSolverData22setupDomainPropagationEv(ptr noundef nonnull align 8 dereferenceable(26801) %72)
  %73 = load ptr, ptr %36, align 8, !tbaa !5
  %74 = getelementptr inbounds i8, ptr %73, i64 224
  %75 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %74) #6
  %76 = getelementptr inbounds i8, ptr %75, i64 912
  %77 = tail call noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %78 = tail call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %79 = load ptr, ptr %36, align 8, !tbaa !5
  br i1 %78, label %130, label %132

80:                                               ; preds = %.lr.ph, %126
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %126 ]
  %81 = phi ptr [ %64, %.lr.ph ], [ %127, %126 ]
  %82 = getelementptr inbounds i8, ptr %81, i64 32
  %83 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %82, i64 noundef %indvars.iv) #6
  %84 = load double, ptr %83, align 8, !tbaa !99
  %85 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv) #6
  %86 = load double, ptr %85, align 8, !tbaa !99
  %87 = fcmp ult double %84, %86
  br i1 %87, label %96, label %88

88:                                               ; preds = %80
  %89 = load ptr, ptr %0, align 8, !tbaa !76
  %90 = getelementptr inbounds i8, ptr %89, i64 56
  %91 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %90, i64 noundef %indvars.iv) #6
  %92 = load double, ptr %91, align 8, !tbaa !99
  %93 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv) #6
  %94 = load double, ptr %93, align 8, !tbaa !99
  %95 = fcmp ugt double %92, %94
  br i1 %95, label %96, label %126

96:                                               ; preds = %88, %80
  %97 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv) #6
  %98 = load double, ptr %97, align 8, !tbaa !99
  %99 = tail call noundef double @_ZSt3absd(double noundef %98)
  %100 = fcmp ugt double %99, %63
  br i1 %100, label %111, label %101

101:                                              ; preds = %96
  %102 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %66, i64 noundef %indvars.iv) #6
  %103 = load double, ptr %102, align 8, !tbaa !99
  %104 = load ptr, ptr %0, align 8, !tbaa !76
  %105 = getelementptr inbounds i8, ptr %104, i64 32
  %106 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %105, i64 noundef %indvars.iv) #6
  %107 = load double, ptr %106, align 8, !tbaa !99
  %108 = fcmp ogt double %103, %107
  br i1 %108, label %109, label %111

109:                                              ; preds = %101
  %110 = trunc nuw nsw i64 %indvars.iv to i32
  tail call void @_ZN8presolve9HPresolve14changeColLowerEid(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %110, double noundef %103)
  br label %111

111:                                              ; preds = %101, %109, %96
  %112 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv) #6
  %113 = load double, ptr %112, align 8, !tbaa !99
  %114 = tail call noundef double @_ZSt3absd(double noundef %113)
  %115 = fcmp ugt double %114, %63
  br i1 %115, label %126, label %116

116:                                              ; preds = %111
  %117 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %67, i64 noundef %indvars.iv) #6
  %118 = load double, ptr %117, align 8, !tbaa !99
  %119 = load ptr, ptr %0, align 8, !tbaa !76
  %120 = getelementptr inbounds i8, ptr %119, i64 56
  %121 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %120, i64 noundef %indvars.iv) #6
  %122 = load double, ptr %121, align 8, !tbaa !99
  %123 = fcmp olt double %118, %122
  br i1 %123, label %124, label %126

124:                                              ; preds = %116
  %125 = trunc nuw nsw i64 %indvars.iv to i32
  tail call void @_ZN8presolve9HPresolve14changeColUpperEid(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %125, double noundef %118)
  br label %126

126:                                              ; preds = %116, %124, %111, %88
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %127 = load ptr, ptr %0, align 8, !tbaa !76
  %128 = load i32, ptr %127, align 8, !tbaa !78
  %129 = zext i32 %128 to i64
  %.not243 = icmp eq i64 %indvars.iv.next, %129
  br i1 %.not243, label %._crit_edge, label %80, !llvm.loop !100

130:                                              ; preds = %._crit_edge
  %131 = getelementptr inbounds i8, ptr %79, i64 232
  tail call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %131, i32 noundef 11)
  br label %641

132:                                              ; preds = %._crit_edge
  %133 = getelementptr inbounds i8, ptr %79, i64 224
  %134 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %133) #6
  %135 = getelementptr inbounds i8, ptr %134, i64 23528
  %136 = load ptr, ptr %36, align 8, !tbaa !5
  %137 = getelementptr inbounds i8, ptr %136, i64 224
  %138 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %137) #6
  %139 = getelementptr inbounds i8, ptr %138, i64 24016
  %140 = load ptr, ptr %36, align 8, !tbaa !5
  %141 = getelementptr inbounds i8, ptr %140, i64 224
  %142 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %141) #6
  %143 = getelementptr inbounds i8, ptr %142, i64 25616
  %144 = load i8, ptr %143, align 8, !tbaa !102, !range !405, !noundef !406
  %145 = trunc nuw i8 %144 to i1
  %146 = load ptr, ptr %36, align 8, !tbaa !5
  %147 = getelementptr inbounds i8, ptr %146, i64 224
  %148 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %147) #6
  %149 = getelementptr inbounds i8, ptr %148, i64 25616
  store i8 1, ptr %149, align 8, !tbaa !102
  br i1 %145, label %190, label %150

150:                                              ; preds = %132
  %151 = load ptr, ptr %36, align 8, !tbaa !5
  tail call void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(496) %151, i1 noundef zeroext true)
  %152 = tail call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %153 = load ptr, ptr %36, align 8, !tbaa !5
  br i1 %152, label %154, label %156

154:                                              ; preds = %150
  %155 = getelementptr inbounds i8, ptr %153, i64 232
  tail call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %155, i32 noundef 11)
  br label %641

156:                                              ; preds = %150
  %157 = getelementptr inbounds i8, ptr %153, i64 224
  %158 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %157) #6
  %159 = getelementptr inbounds i8, ptr %158, i64 26568
  %160 = load double, ptr %159, align 8, !tbaa !407
  %161 = fcmp une double %160, 0x7FF0000000000000
  br i1 %161, label %162, label %.critedge274

162:                                              ; preds = %156
  %163 = load ptr, ptr %36, align 8, !tbaa !5
  %164 = getelementptr inbounds i8, ptr %163, i64 224
  %165 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %164) #6
  %166 = getelementptr inbounds i8, ptr %165, i64 26568
  %167 = load double, ptr %166, align 8, !tbaa !407
  %168 = load ptr, ptr %0, align 8, !tbaa !76
  %169 = getelementptr inbounds i8, ptr %168, i64 248
  %170 = load double, ptr %169, align 8, !tbaa !408
  %171 = fsub double %167, %170
  %172 = load ptr, ptr %36, align 8, !tbaa !5
  %173 = getelementptr inbounds i8, ptr %172, i64 224
  %174 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %173) #6
  %175 = getelementptr inbounds i8, ptr %174, i64 26568
  store double %171, ptr %175, align 8, !tbaa !407
  %176 = load ptr, ptr %36, align 8, !tbaa !5
  tail call void @_ZN16HighsCliqueTable17extractObjCliquesER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(496) %176)
  %177 = load ptr, ptr %36, align 8, !tbaa !5
  %178 = getelementptr inbounds i8, ptr %177, i64 224
  %179 = tail call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %178) #6
  %180 = getelementptr inbounds i8, ptr %179, i64 26568
  store double %167, ptr %180, align 8, !tbaa !407
  %181 = tail call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  br i1 %181, label %182, label %.critedge274

182:                                              ; preds = %162
  %183 = load ptr, ptr %36, align 8, !tbaa !5
  %184 = getelementptr inbounds i8, ptr %183, i64 232
  tail call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %184, i32 noundef 11)
  br label %641

.critedge274:                                     ; preds = %162, %156
  %185 = tail call noundef zeroext i1 @_ZN11HighsDomain9propagateEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %186 = tail call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  br i1 %186, label %187, label %190

187:                                              ; preds = %.critedge274
  %188 = load ptr, ptr %36, align 8, !tbaa !5
  %189 = getelementptr inbounds i8, ptr %188, i64 232
  tail call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %189, i32 noundef 11)
  br label %641

190:                                              ; preds = %.critedge274, %132
  tail call void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(824) %76)
  %191 = tail call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  br i1 %191, label %192, label %195

192:                                              ; preds = %190
  %193 = load ptr, ptr %36, align 8, !tbaa !5
  %194 = getelementptr inbounds i8, ptr %193, i64 232
  tail call void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %194, i32 noundef 11)
  br label %641

195:                                              ; preds = %190
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #6
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %196 = load ptr, ptr %36, align 8, !tbaa !5
  %197 = getelementptr inbounds i8, ptr %196, i64 224
  %198 = call noundef ptr @_ZNKSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %197) #6
  %199 = getelementptr inbounds i8, ptr %198, i64 23528
  %200 = call noundef zeroext i1 @_ZNK16HighsCliqueTable6isFullEv(ptr noundef nonnull align 8 dereferenceable(488) %199)
  br i1 %200, label %265, label %201

201:                                              ; preds = %195
  %202 = load ptr, ptr %0, align 8, !tbaa !76
  %203 = load i32, ptr %202, align 8, !tbaa !78
  %204 = sext i32 %203 to i64
  invoke void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %3, i64 noundef %204)
          to label %205 unwind label %214

205:                                              ; preds = %201
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #6
  %206 = getelementptr inbounds i8, ptr %0, i64 8
  %207 = load ptr, ptr %206, align 8, !tbaa !409
  %208 = getelementptr inbounds i8, ptr %207, i64 208
  %209 = load i32, ptr %208, align 8, !tbaa !410
  invoke void @_ZN11HighsRandomC2Ej(ptr noundef nonnull align 8 dereferenceable(8) %4, i32 noundef %209)
          to label %210 unwind label %216

210:                                              ; preds = %205
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %5) #6
  store i32 0, ptr %5, align 4, !tbaa !411
  %211 = load ptr, ptr %0, align 8, !tbaa !76
  %212 = load i32, ptr %211, align 8, !tbaa !78
  %.not244314 = icmp eq i32 %212, 0
  br i1 %.not244314, label %._crit_edge318, label %.lr.ph317

.lr.ph317:                                        ; preds = %210
  %213 = getelementptr inbounds i8, ptr %0, i64 1528
  br label %218

._crit_edge318:                                   ; preds = %258, %210
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  br label %265

214:                                              ; preds = %637, %634, %267, %201
  %215 = landingpad { ptr, i32 }
          cleanup
  br label %640

216:                                              ; preds = %205
  %217 = landingpad { ptr, i32 }
          cleanup
  br label %264

218:                                              ; preds = %.lr.ph317, %258
  %storemerge315 = phi i32 [ 0, %.lr.ph317 ], [ %260, %258 ]
  %219 = invoke noundef zeroext i1 @_ZNK11HighsDomain8isBinaryEi(ptr noundef nonnull align 8 dereferenceable(824) %76, i32 noundef %storemerge315)
          to label %220 unwind label %250

220:                                              ; preds = %218
  br i1 %219, label %221, label %258

221:                                              ; preds = %220
  %222 = load i32, ptr %5, align 4, !tbaa !411
  %223 = invoke noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488) %135, i32 noundef %222, i1 noundef zeroext true)
          to label %224 unwind label %252

224:                                              ; preds = %221
  %225 = load i32, ptr %5, align 4, !tbaa !411
  %226 = invoke noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488) %135, i32 noundef %225, i1 noundef zeroext false)
          to label %227 unwind label %254

227:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #6
  store i64 5000, ptr %7, align 8, !tbaa !412
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #6
  %228 = sext i32 %223 to i64
  %229 = sext i32 %226 to i64
  %230 = mul nsw i64 %229, %228
  store i64 %230, ptr %8, align 8, !tbaa !412
  %231 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3minIlERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %7, ptr noundef nonnull align 8 dereferenceable(8) %8)
  %232 = load i64, ptr %231, align 8, !tbaa !412
  %233 = sub nsw i64 0, %232
  %234 = sitofp i64 %233 to double
  %235 = load i32, ptr %5, align 4, !tbaa !411
  %236 = sext i32 %235 to i64
  %237 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %213, i64 noundef %236) #6
  %238 = load i16, ptr %237, align 2, !tbaa !413
  %239 = uitofp i16 %238 to double
  %240 = fadd double %239, 1.000000e+00
  %241 = fdiv double %234, %240
  store double %241, ptr %6, align 8, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  store i32 100, ptr %10, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %11) #6
  %242 = add nsw i32 %226, %223
  store i32 %242, ptr %11, align 4, !tbaa !411
  %243 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3minIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %11)
  %244 = load i32, ptr %243, align 4, !tbaa !411
  %245 = sub nsw i32 0, %244
  store i32 %245, ptr %9, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %12) #6
  %246 = invoke noundef i32 @_ZN11HighsRandom7integerEv(ptr noundef nonnull align 8 dereferenceable(8) %4)
          to label %247 unwind label %256

247:                                              ; preds = %227
  store i32 %246, ptr %12, align 4, !tbaa !411
  %248 = invoke noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE12emplace_backIJdiiRiEEERS1_DpOT_(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(8) %6, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 4 dereferenceable(4) %12, ptr noundef nonnull align 4 dereferenceable(4) %5)
          to label %249 unwind label %256

249:                                              ; preds = %247
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  br label %258

250:                                              ; preds = %218
  %251 = landingpad { ptr, i32 }
          cleanup
  br label %263

252:                                              ; preds = %221
  %253 = landingpad { ptr, i32 }
          cleanup
  br label %263

254:                                              ; preds = %224
  %255 = landingpad { ptr, i32 }
          cleanup
  br label %263

256:                                              ; preds = %247, %227
  %257 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #6
  br label %263

258:                                              ; preds = %220, %249
  %259 = load i32, ptr %5, align 4, !tbaa !411
  %260 = add nsw i32 %259, 1
  store i32 %260, ptr %5, align 4, !tbaa !411
  %261 = load ptr, ptr %0, align 8, !tbaa !76
  %262 = load i32, ptr %261, align 8, !tbaa !78
  %.not244 = icmp eq i32 %260, %262
  br i1 %.not244, label %._crit_edge318, label %218, !llvm.loop !415

263:                                              ; preds = %252, %256, %254, %250
  %.pn.pn.pn = phi { ptr, i32 } [ %251, %250 ], [ %253, %252 ], [ %257, %256 ], [ %255, %254 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %5) #6
  br label %264

264:                                              ; preds = %263, %216
  %.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn.pn.pn, %263 ], [ %217, %216 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #6
  br label %640

265:                                              ; preds = %._crit_edge318, %195
  %266 = call noundef zeroext i1 @_ZNKSt6vectorISt5tupleIJliiiEESaIS1_EE5emptyEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  br i1 %266, label %634, label %267

267:                                              ; preds = %265
  %268 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  %269 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  invoke void @_Z7pdqsortIN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS3_SaIS3_EEEEEvT_S9_(ptr %268, ptr %269)
          to label %.preheader unwind label %214

.preheader:                                       ; preds = %267
  %270 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %271 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %270) #6
  %.not249319 = icmp eq i64 %271, 0
  br i1 %.not249319, label %._crit_edge322, label %.lr.ph321

.lr.ph321:                                        ; preds = %.preheader
  %272 = getelementptr inbounds i8, ptr %0, i64 1560
  br label %273

273:                                              ; preds = %.lr.ph321, %282
  %.0218320 = phi i64 [ 0, %.lr.ph321 ], [ %275, %282 ]
  %274 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %275 = add i64 %.0218320, 1
  %276 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %274, i64 noundef %.0218320) #6
  %277 = load i32, ptr %276, align 4, !tbaa !411
  %278 = call noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %76, i32 noundef %277)
  br i1 %278, label %279, label %282

279:                                              ; preds = %273
  %280 = load i32, ptr %272, align 8, !tbaa !416
  %281 = add nsw i32 %280, 1
  store i32 %281, ptr %272, align 8, !tbaa !416
  br label %282

282:                                              ; preds = %279, %273
  %283 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %284 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %283) #6
  %.not249 = icmp eq i64 %284, %275
  br i1 %.not249, label %._crit_edge322, label %273, !llvm.loop !417

._crit_edge322:                                   ; preds = %282, %.preheader
  %.0218.lcssa = phi i64 [ 0, %.preheader ], [ %275, %282 ]
  %285 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %286 = call noundef i32 @_ZNK17HighsImplications18getNumImplicationsEv(ptr noundef nonnull align 8 dereferenceable(176) %139)
  %287 = getelementptr inbounds i8, ptr %0, i64 1560
  %288 = load i32, ptr %287, align 8, !tbaa !416
  %289 = getelementptr inbounds i8, ptr %138, i64 24112
  %290 = call noundef i64 @_ZNKSt6vectorI17HighsSubstitutionSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %289) #6
  %291 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable16getSubstitutionsEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %292 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %291) #6
  %293 = add i64 %292, %290
  %294 = trunc i64 %293 to i32
  %295 = getelementptr inbounds i8, ptr %134, i64 24008
  %296 = load i64, ptr %295, align 8, !tbaa !418
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %13) #6
  %297 = load ptr, ptr %36, align 8, !tbaa !5
  %298 = getelementptr inbounds i8, ptr %297, i64 176
  %299 = load i8, ptr %298, align 8, !tbaa !419, !range !405, !noundef !406
  %300 = trunc nuw i8 %299 to i1
  %301 = select i1 %300, i32 0, i32 100000
  store i32 %301, ptr %13, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #6
  %302 = call noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %0)
  %303 = mul nsw i32 %302, 10
  store i32 %303, ptr %14, align 4, !tbaa !411
  %304 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %13, ptr noundef nonnull align 4 dereferenceable(4) %14)
  %305 = load i32, ptr %304, align 4, !tbaa !411
  %306 = sext i32 %305 to i64
  %307 = add nsw i64 %296, %306
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %13) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #6
  store ptr %0, ptr %15, align 8, !tbaa !429
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  store i64 100000, ptr %16, align 8, !tbaa !412
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #6
  %308 = load ptr, ptr %0, align 8, !tbaa !76
  %309 = getelementptr inbounds i8, ptr %308, i64 4
  %310 = load i32, ptr %309, align 4, !tbaa !431
  %311 = sext i32 %310 to i64
  %312 = mul nsw i64 %311, 10
  store i64 %312, ptr %17, align 8, !tbaa !412
  %313 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZSt3maxImERKT_S2_S2_(ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17)
  %314 = load i64, ptr %313, align 8, !tbaa !412
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #6
  store i64 0, ptr %18, align 8, !tbaa !412
  %315 = load ptr, ptr %36, align 8, !tbaa !5
  %316 = getelementptr inbounds i8, ptr %315, i64 8
  %317 = load ptr, ptr %316, align 8, !tbaa !432
  %318 = getelementptr inbounds i8, ptr %317, i64 892
  %319 = load i32, ptr %318, align 4, !tbaa !433
  %.not250 = icmp eq i32 %319, -1
  br i1 %.not250, label %328, label %320

320:                                              ; preds = %._crit_edge322
  %321 = call noundef zeroext i1 @"_ZZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEENK3$_1clEm"(ptr noundef nonnull align 8 dereferenceable(8) %15, i64 noundef 2)
  br i1 %321, label %322, label %328

322:                                              ; preds = %320
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %19) #6
  store ptr %0, ptr %19, align 8, !tbaa !434
  %323 = getelementptr inbounds i8, ptr %19, i64 8
  store ptr %18, ptr %323, align 8, !tbaa !436
  %324 = getelementptr inbounds i8, ptr %138, i64 24160
  %325 = call noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFviiidEEaSIZN8presolve9HPresolve10runProbingERNS3_19HighsPostsolveStackEE3$_0EENSt9enable_ifIXsrNS1_9_CallableIT_NS8_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISA_E4typeEE4typeES1_EE5valueESt5decayISA_EE4type4typeESt15__invoke_resultIRSL_JiiidEEEE5valueERS1_E4typeEOSA_"(ptr noundef nonnull align 8 dereferenceable(32) %324, ptr noundef nonnull align 8 dereferenceable(16) %19) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %19) #6
  br label %328

326:                                              ; preds = %480, %478, %.thread
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %633

328:                                              ; preds = %322, %320, %._crit_edge322
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #6
  %329 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %329, ptr %20, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #6
  %330 = call ptr @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  store ptr %330, ptr %21, align 8
  %331 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  br i1 %331, label %.lr.ph334, label %.thread

.lr.ph334:                                        ; preds = %328
  %332 = getelementptr inbounds i8, ptr %0, i64 1552
  %333 = getelementptr inbounds i8, ptr %0, i64 1528
  %334 = getelementptr inbounds i8, ptr %138, i64 24160
  br label %335

335:                                              ; preds = %.lr.ph334, %.thread281
  %.1219332 = phi i64 [ %.0218.lcssa, %.lr.ph334 ], [ %.4222290, %.thread281 ]
  %.0223331 = phi i32 [ %294, %.lr.ph334 ], [ %.3226289, %.thread281 ]
  %.0227330 = phi i64 [ %307, %.lr.ph334 ], [ %.4231288, %.thread281 ]
  %.0232329 = phi i32 [ 0, %.lr.ph334 ], [ %.3235287, %.thread281 ]
  %336 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  %337 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3getILm3EJliiiEERKNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERKS4_(ptr noundef nonnull align 8 dereferenceable(24) %336) #6
  %338 = load i32, ptr %337, align 4, !tbaa !411
  %339 = call noundef ptr @_ZNK16HighsCliqueTable15getSubstitutionEi(ptr noundef nonnull align 8 dereferenceable(488) %135, i32 noundef %338)
  %.not251 = icmp eq ptr %339, null
  br i1 %.not251, label %340, label %.thread281

340:                                              ; preds = %335
  %341 = invoke noundef zeroext i1 @_ZNK11HighsDomain8isBinaryEi(ptr noundef nonnull align 8 dereferenceable(824) %76, i32 noundef %338)
          to label %342 unwind label %343

342:                                              ; preds = %340
  br i1 %341, label %345, label %.thread281

343:                                              ; preds = %340
  %344 = landingpad { ptr, i32 }
          cleanup
  br label %475

345:                                              ; preds = %342
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #6
  store i32 1000, ptr %22, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #6
  %346 = load ptr, ptr %0, align 8, !tbaa !76
  %347 = getelementptr inbounds i8, ptr %346, i64 4
  %348 = load i32, ptr %347, align 4, !tbaa !431
  %349 = load i32, ptr %346, align 8, !tbaa !78
  %350 = add nsw i32 %349, %348
  %351 = sdiv i32 %350, 20
  store i32 %351, ptr %23, align 4, !tbaa !411
  %352 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %23)
  %353 = load i32, ptr %352, align 4, !tbaa !411
  %354 = icmp sgt i32 %.0223331, %353
  %355 = zext i1 %354 to i8
  store i8 %355, ptr %39, align 8, !tbaa !73
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #6
  br i1 %354, label %.thread, label %356

356:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #6
  %357 = call noundef zeroext i1 @_ZNK16HighsCliqueTable6isFullEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  br i1 %357, label %.critedge, label %358

358:                                              ; preds = %356
  %359 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %360 = sub nsw i32 %359, %285
  store i32 1000000, ptr %24, align 4, !tbaa !411
  %361 = call noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %0)
  %362 = shl nsw i32 %361, 1
  store i32 %362, ptr %25, align 4, !tbaa !411
  %363 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %24, ptr noundef nonnull align 4 dereferenceable(4) %25)
  %364 = load i32, ptr %363, align 4, !tbaa !411
  %365 = icmp sgt i32 %360, %364
  br i1 %365, label %.critedge, label %366

366:                                              ; preds = %358
  %367 = call noundef i32 @_ZNK17HighsImplications18getNumImplicationsEv(ptr noundef nonnull align 8 dereferenceable(176) %139)
  %368 = sub nsw i32 %367, %286
  store i32 1000000, ptr %26, align 4, !tbaa !411
  %369 = call noundef i32 @_ZNK8presolve9HPresolve11numNonzerosEv(ptr noundef nonnull align 8 dereferenceable(1720) %0)
  %370 = shl nsw i32 %369, 1
  store i32 %370, ptr %27, align 4, !tbaa !411
  %371 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %26, ptr noundef nonnull align 4 dereferenceable(4) %27)
  %372 = load i32, ptr %371, align 4, !tbaa !411
  %373 = icmp sgt i32 %368, %372
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #6
  br i1 %373, label %.thread, label %374

.critedge:                                        ; preds = %356, %358
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #6
  br label %.thread

374:                                              ; preds = %366
  %375 = load i64, ptr %295, align 8, !tbaa !418
  %376 = icmp sgt i64 %375, %.0227330
  br i1 %376, label %.thread, label %377

377:                                              ; preds = %374
  %378 = load i64, ptr %332, align 8, !tbaa !437
  %379 = load i32, ptr %68, align 4, !tbaa !98
  %380 = sext i32 %379 to i64
  %381 = icmp slt i64 %378, %380
  br i1 %381, label %.thread, label %382

382:                                              ; preds = %377
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #6
  store i32 0, ptr %28, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #6
  %383 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %384 = sub nsw i32 0, %383
  store i32 %384, ptr %29, align 4, !tbaa !411
  %385 = invoke noundef zeroext i1 @_ZN17HighsImplications10runProbingEiRi(ptr noundef nonnull align 8 dereferenceable(176) %139, i32 noundef %338, ptr noundef nonnull align 4 dereferenceable(4) %28)
          to label %386 unwind label %387

386:                                              ; preds = %382
  br i1 %385, label %389, label %.thread292

387:                                              ; preds = %382
  %388 = landingpad { ptr, i32 }
          cleanup
  br label %474

389:                                              ; preds = %386
  %390 = load i32, ptr %28, align 4, !tbaa !411
  %391 = sext i32 %390 to i64
  %392 = load i64, ptr %332, align 8, !tbaa !437
  %393 = add nsw i64 %392, %391
  store i64 %393, ptr %332, align 8, !tbaa !437
  %394 = call noundef i32 @_ZNK16HighsCliqueTable10numCliquesEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %395 = load i32, ptr %29, align 4, !tbaa !411
  %396 = add nsw i32 %395, %394
  store i32 %396, ptr %29, align 4, !tbaa !411
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #6
  store i32 0, ptr %30, align 4, !tbaa !411
  %397 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZSt3maxIiERKT_S2_S2_(ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull align 4 dereferenceable(4) %30)
  %398 = load i32, ptr %397, align 4, !tbaa !411
  store i32 %398, ptr %29, align 4, !tbaa !411
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #6
  %399 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %400 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %399) #6
  %.not252323 = icmp eq i64 %400, %.1219332
  br i1 %.not252323, label %._crit_edge327, label %.lr.ph326

.lr.ph326:                                        ; preds = %389, %409
  %.2220324 = phi i64 [ %402, %409 ], [ %.1219332, %389 ]
  %401 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %402 = add i64 %.2220324, 1
  %403 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNKSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %401, i64 noundef %.2220324) #6
  %404 = load i32, ptr %403, align 4, !tbaa !411
  %405 = call noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %76, i32 noundef %404)
  br i1 %405, label %406, label %409

406:                                              ; preds = %.lr.ph326
  %407 = load i32, ptr %287, align 8, !tbaa !416
  %408 = add nsw i32 %407, 1
  store i32 %408, ptr %287, align 8, !tbaa !416
  br label %409

409:                                              ; preds = %406, %.lr.ph326
  %410 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNK11HighsDomain14getChangedColsEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  %411 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %410) #6
  %.not252 = icmp eq i64 %411, %402
  br i1 %.not252, label %._crit_edge327, label %.lr.ph326, !llvm.loop !438

._crit_edge327:                                   ; preds = %409, %389
  %.2220.lcssa = phi i64 [ %.1219332, %389 ], [ %402, %409 ]
  %412 = load i32, ptr %287, align 8, !tbaa !416
  %413 = sub nsw i32 %412, %288
  %414 = zext i32 %413 to i64
  %415 = call noundef i64 @_ZNKSt6vectorI17HighsSubstitutionSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %289) #6
  %416 = add i64 %415, %414
  %417 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable16getSubstitutionsEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %418 = call noundef i64 @_ZNKSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %417) #6
  %419 = add i64 %416, %418
  %420 = trunc i64 %419 to i32
  %421 = icmp slt i32 %.0223331, %420
  br i1 %421, label %422, label %441

422:                                              ; preds = %._crit_edge327
  %423 = sext i32 %.0223331 to i64
  %424 = load i64, ptr %332, align 8, !tbaa !437
  %425 = add nsw i64 %424, %423
  store i64 %425, ptr %332, align 8, !tbaa !437
  %426 = load ptr, ptr %36, align 8, !tbaa !5
  %427 = getelementptr inbounds i8, ptr %426, i64 176
  %428 = load i8, ptr %427, align 8, !tbaa !419, !range !405, !noundef !406
  %429 = trunc nuw i8 %428 to i1
  br i1 %429, label %457, label %430

430:                                              ; preds = %422
  %431 = add nsw i32 %288, %420
  %432 = mul nsw i32 %431, 100
  %433 = sext i32 %432 to i64
  %434 = add nsw i64 %.0227330, %433
  %435 = load i32, ptr %29, align 4, !tbaa !411
  %436 = mul nsw i32 %435, 1000
  %437 = sext i32 %436 to i64
  %438 = add nsw i64 %434, %437
  br label %457

439:                                              ; preds = %469
  %440 = landingpad { ptr, i32 }
          cleanup
  br label %474

441:                                              ; preds = %._crit_edge327
  %442 = load ptr, ptr %36, align 8, !tbaa !5
  %443 = getelementptr inbounds i8, ptr %442, i64 176
  %444 = load i8, ptr %443, align 8, !tbaa !419, !range !405, !noundef !406
  %445 = trunc nuw i8 %444 to i1
  %446 = load i32, ptr %29, align 4
  %447 = icmp eq i32 %446, 0
  %or.cond = select i1 %445, i1 true, i1 %447
  br i1 %or.cond, label %448, label %453

448:                                              ; preds = %441
  %449 = mul nsw i32 %.0232329, 100
  %450 = sext i32 %449 to i64
  %451 = sub nsw i64 %.0227330, %450
  %452 = add nsw i32 %.0232329, 1
  br label %457

453:                                              ; preds = %441
  %454 = mul nsw i32 %446, 1000
  %455 = sext i32 %454 to i64
  %456 = add nsw i64 %.0227330, %455
  br label %457

457:                                              ; preds = %422, %430, %448, %453
  %.1233 = phi i32 [ %452, %448 ], [ 0, %453 ], [ 0, %430 ], [ 0, %422 ]
  %.2229 = phi i64 [ %451, %448 ], [ %456, %453 ], [ %438, %430 ], [ %.0227330, %422 ]
  %.1224 = phi i32 [ %.0223331, %448 ], [ %.0223331, %453 ], [ %420, %430 ], [ %420, %422 ]
  %458 = load i32, ptr %68, align 4, !tbaa !98
  %459 = add nsw i32 %458, 1
  store i32 %459, ptr %68, align 4, !tbaa !98
  %460 = sext i32 %338 to i64
  %461 = call noundef nonnull align 2 dereferenceable(2) ptr @_ZNSt6vectorItSaItEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %333, i64 noundef %460) #6
  %462 = load i16, ptr %461, align 2, !tbaa !413
  %463 = add i16 %462, 1
  store i16 %463, ptr %461, align 2, !tbaa !413
  %464 = load i64, ptr %18, align 8, !tbaa !412
  %.not253 = icmp ult i64 %464, %314
  br i1 %.not253, label %467, label %465

465:                                              ; preds = %457
  %466 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8functionIFviiidEEaSEDn(ptr noundef nonnull align 8 dereferenceable(32) %334, ptr null) #6
  br label %467

467:                                              ; preds = %465, %457
  %468 = call noundef zeroext i1 @_ZNK11HighsDomain10infeasibleEv(ptr noundef nonnull align 8 dereferenceable(824) %76)
  br i1 %468, label %469, label %.thread292

469:                                              ; preds = %467
  %470 = load ptr, ptr %36, align 8, !tbaa !5
  %471 = getelementptr inbounds i8, ptr %470, i64 232
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %471, i32 noundef 11)
          to label %476 unwind label %439

.thread292:                                       ; preds = %386, %467
  %.2234.ph = phi i32 [ %.1233, %467 ], [ %.0232329, %386 ]
  %.3230.ph = phi i64 [ %.2229, %467 ], [ %.0227330, %386 ]
  %.2225.ph = phi i32 [ %.1224, %467 ], [ %.0223331, %386 ]
  %.3221.ph = phi i64 [ %.2220.lcssa, %467 ], [ %.1219332, %386 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #6
  br label %.thread281

.thread281:                                       ; preds = %335, %342, %.thread292
  %.4222290 = phi i64 [ %.3221.ph, %.thread292 ], [ %.1219332, %342 ], [ %.1219332, %335 ]
  %.3226289 = phi i32 [ %.2225.ph, %.thread292 ], [ %.0223331, %342 ], [ %.0223331, %335 ]
  %.4231288 = phi i64 [ %.3230.ph, %.thread292 ], [ %.0227330, %342 ], [ %.0227330, %335 ]
  %.3235287 = phi i32 [ %.2234.ph, %.thread292 ], [ %.0232329, %342 ], [ %.0232329, %335 ]
  %472 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %20) #6
  %473 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt5tupleIJliiiEESt6vectorIS2_SaIS2_EEEEbRKNS_17__normal_iteratorIT_T0_EESC_(ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(8) %21) #6
  br i1 %473, label %335, label %.thread

474:                                              ; preds = %439, %387
  %.pn254 = phi { ptr, i32 } [ %440, %439 ], [ %388, %387 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #6
  br label %475

475:                                              ; preds = %474, %343
  %.pn254.pn = phi { ptr, i32 } [ %.pn254, %474 ], [ %344, %343 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  br label %633

476:                                              ; preds = %469
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  br label %.thread307

.thread:                                          ; preds = %.thread281, %345, %366, %374, %377, %328, %.critedge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  invoke void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(824) %76)
          to label %477 unwind label %326

477:                                              ; preds = %.thread
  br i1 %145, label %478, label %480

478:                                              ; preds = %477
  %479 = load ptr, ptr %36, align 8, !tbaa !5
  invoke void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(496) %479, i1 noundef zeroext false)
          to label %480 unwind label %326

480:                                              ; preds = %478, %477
  invoke void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488) %135, ptr noundef nonnull align 8 dereferenceable(824) %76)
          to label %481 unwind label %326

481:                                              ; preds = %480
  %482 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable14getDeletedRowsEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #6
  %483 = call ptr @_ZNSt6vectorIiSaIiEE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %482) #6
  store ptr %483, ptr %31, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #6
  %484 = call ptr @_ZNSt6vectorIiSaIiEE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %482) #6
  store ptr %484, ptr %32, align 8
  %485 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #6
  br i1 %485, label %.lr.ph340, label %._crit_edge341

.lr.ph340:                                        ; preds = %481
  %486 = getelementptr inbounds i8, ptr %0, i64 1480
  br label %495

._crit_edge341:                                   ; preds = %504, %481
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #6
  %487 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable14getDeletedRowsEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %487) #6
  %488 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZN16HighsCliqueTable19getCliqueExtensionsEv(ptr noundef nonnull align 8 dereferenceable(488) %135)
  %489 = call noundef i64 @_ZNKSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %488) #6
  %490 = trunc i64 %489 to i32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #6
  %491 = call ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE5beginEv(ptr noundef nonnull align 8 dereferenceable(24) %488) #6
  store ptr %491, ptr %33, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #6
  %492 = call ptr @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE3endEv(ptr noundef nonnull align 8 dereferenceable(24) %488) #6
  store ptr %492, ptr %34, align 8
  %493 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  br i1 %493, label %.lr.ph344, label %._crit_edge345

.lr.ph344:                                        ; preds = %._crit_edge341
  %494 = getelementptr inbounds i8, ptr %0, i64 1480
  br label %512

495:                                              ; preds = %.lr.ph340, %504
  %496 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #6
  %497 = load i32, ptr %496, align 4, !tbaa !411
  %498 = sext i32 %497 to i64
  %499 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %486, i64 noundef %498) #6
  %500 = load i8, ptr %499, align 1, !tbaa !439
  %.not268 = icmp eq i8 %500, 0
  br i1 %.not268, label %501, label %504

501:                                              ; preds = %495
  invoke void @_ZN8presolve9HPresolve9removeRowEi(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %497)
          to label %504 unwind label %502

502:                                              ; preds = %501
  %503 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #6
  br label %633

504:                                              ; preds = %501, %495
  %505 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPiSt6vectorIiSaIiEEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %31) #6
  %506 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPiSt6vectorIiSaIiEEEEbRKNS_17__normal_iteratorIT_T0_EESA_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #6
  br i1 %506, label %495, label %._crit_edge341

._crit_edge345:                                   ; preds = %543, %._crit_edge341
  %.0216.lcssa = phi i32 [ %490, %._crit_edge341 ], [ %.1217, %543 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  call void @_ZNSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %488) #6
  %507 = load ptr, ptr %0, align 8, !tbaa !76
  %508 = load i32, ptr %507, align 8, !tbaa !78
  %.not257347 = icmp eq i32 %508, 0
  br i1 %.not257347, label %._crit_edge351, label %.lr.ph350

.lr.ph350:                                        ; preds = %._crit_edge345
  %509 = getelementptr inbounds i8, ptr %0, i64 1504
  %510 = getelementptr inbounds i8, ptr %75, i64 1688
  %511 = getelementptr inbounds i8, ptr %75, i64 1712
  br label %548

512:                                              ; preds = %.lr.ph344, %543
  %.0216342 = phi i32 [ %490, %.lr.ph344 ], [ %.1217, %543 ]
  %513 = call noundef nonnull align 4 dereferenceable(8) ptr @_ZNK9__gnu_cxx17__normal_iteratorIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEdeEv(ptr noundef nonnull align 8 dereferenceable(8) %33) #6
  %514 = load i32, ptr %513, align 4, !tbaa !440
  %515 = sext i32 %514 to i64
  %516 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %494, i64 noundef %515) #6
  %517 = load i8, ptr %516, align 1, !tbaa !439
  %.not265 = icmp eq i8 %517, 0
  br i1 %.not265, label %520, label %518

518:                                              ; preds = %512
  %519 = add nsw i32 %.0216342, -1
  br label %543

520:                                              ; preds = %512
  %521 = getelementptr inbounds i8, ptr %513, i64 4
  %522 = load i32, ptr %521, align 4
  %523 = icmp sgt i32 %522, -1
  br i1 %523, label %524, label %539

524:                                              ; preds = %520
  %525 = load ptr, ptr %0, align 8, !tbaa !76
  %526 = getelementptr inbounds i8, ptr %525, i64 80
  %527 = load i32, ptr %513, align 4, !tbaa !440
  %528 = sext i32 %527 to i64
  %529 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %526, i64 noundef %528) #6
  %530 = load double, ptr %529, align 8, !tbaa !99
  %531 = fadd double %530, -1.000000e+00
  store double %531, ptr %529, align 8, !tbaa !99
  %532 = load ptr, ptr %0, align 8, !tbaa !76
  %533 = getelementptr inbounds i8, ptr %532, i64 104
  %534 = load i32, ptr %513, align 4, !tbaa !440
  %535 = sext i32 %534 to i64
  %536 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %533, i64 noundef %535) #6
  %537 = load double, ptr %536, align 8, !tbaa !99
  %538 = fadd double %537, -1.000000e+00
  store double %538, ptr %536, align 8, !tbaa !99
  %.pre = load i32, ptr %521, align 4
  br label %539

539:                                              ; preds = %520, %524
  %540 = phi i32 [ %.pre, %524 ], [ %522, %520 ]
  %.0195 = phi double [ -1.000000e+00, %524 ], [ 1.000000e+00, %520 ]
  %541 = load i32, ptr %513, align 4, !tbaa !440
  %542 = and i32 %540, 2147483647
  invoke void @_ZN8presolve9HPresolve11addToMatrixEiid(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %541, i32 noundef %542, double noundef %.0195)
          to label %543 unwind label %546

543:                                              ; preds = %539, %518
  %.1217 = phi i32 [ %519, %518 ], [ %.0216342, %539 ]
  %544 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZN9__gnu_cxx17__normal_iteratorIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEppEv(ptr noundef nonnull align 8 dereferenceable(8) %33) #6
  %545 = call noundef zeroext i1 @_ZN9__gnu_cxxneIPSt4pairIiN16HighsCliqueTable9CliqueVarEESt6vectorIS4_SaIS4_EEEEbRKNS_17__normal_iteratorIT_T0_EESE_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #6
  br i1 %545, label %512, label %._crit_edge345

546:                                              ; preds = %539
  %547 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #6
  br label %633

548:                                              ; preds = %.lr.ph350, %592
  %indvars.iv355 = phi i64 [ 0, %.lr.ph350 ], [ %indvars.iv.next356, %592 ]
  %549 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorIhSaIhEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %509, i64 noundef %indvars.iv355) #6
  %550 = load i8, ptr %549, align 1, !tbaa !439
  %.not258 = icmp eq i8 %550, 0
  br i1 %.not258, label %551, label %592

551:                                              ; preds = %548
  %552 = load ptr, ptr %0, align 8, !tbaa !76
  %553 = getelementptr inbounds i8, ptr %552, i64 32
  %554 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %553, i64 noundef %indvars.iv355) #6
  %555 = load double, ptr %554, align 8, !tbaa !99
  %556 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %510, i64 noundef %indvars.iv355) #6
  %557 = load double, ptr %556, align 8, !tbaa !99
  %558 = fcmp olt double %555, %557
  br i1 %558, label %559, label %565

559:                                              ; preds = %551
  %560 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %510, i64 noundef %indvars.iv355) #6
  %561 = load double, ptr %560, align 8, !tbaa !99
  %562 = trunc nuw nsw i64 %indvars.iv355 to i32
  invoke void @_ZN8presolve9HPresolve14changeColLowerEid(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %562, double noundef %561)
          to label %565 unwind label %563

563:                                              ; preds = %584, %573, %559
  %564 = landingpad { ptr, i32 }
          cleanup
  br label %633

565:                                              ; preds = %559, %551
  %566 = load ptr, ptr %0, align 8, !tbaa !76
  %567 = getelementptr inbounds i8, ptr %566, i64 56
  %568 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %567, i64 noundef %indvars.iv355) #6
  %569 = load double, ptr %568, align 8, !tbaa !99
  %570 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %511, i64 noundef %indvars.iv355) #6
  %571 = load double, ptr %570, align 8, !tbaa !99
  %572 = fcmp ogt double %569, %571
  br i1 %572, label %573, label %._crit_edge358

._crit_edge358:                                   ; preds = %565
  %.pre359 = trunc nuw nsw i64 %indvars.iv355 to i32
  br label %577

573:                                              ; preds = %565
  %574 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %511, i64 noundef %indvars.iv355) #6
  %575 = load double, ptr %574, align 8, !tbaa !99
  %576 = trunc nuw nsw i64 %indvars.iv355 to i32
  invoke void @_ZN8presolve9HPresolve14changeColUpperEid(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %576, double noundef %575)
          to label %577 unwind label %563

577:                                              ; preds = %._crit_edge358, %573
  %.pre-phi = phi i32 [ %.pre359, %._crit_edge358 ], [ %576, %573 ]
  %578 = call noundef zeroext i1 @_ZNK11HighsDomain7isFixedEi(ptr noundef nonnull align 8 dereferenceable(824) %76, i32 noundef %.pre-phi)
  br i1 %578, label %579, label %587

579:                                              ; preds = %577
  %580 = load ptr, ptr %0, align 8, !tbaa !76
  %581 = getelementptr inbounds i8, ptr %580, i64 32
  %582 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %581, i64 noundef %indvars.iv355) #6
  %583 = load double, ptr %582, align 8, !tbaa !99
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #6
  invoke void @_ZN8presolve19HighsPostsolveStack15removedFixedColI15HighsEmptySliceEEviddRK16HighsMatrixSliceIT_E(ptr noundef nonnull align 8 dereferenceable(224) %1, i32 noundef %.pre-phi, double noundef %583, double noundef 0.000000e+00, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %584 unwind label %585

584:                                              ; preds = %579
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #6
  invoke void @_ZN8presolve9HPresolve14removeFixedColEi(ptr noundef nonnull align 8 dereferenceable(1720) %0, i32 noundef %.pre-phi)
          to label %587 unwind label %563

585:                                              ; preds = %579
  %586 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #6
  br label %633

587:                                              ; preds = %577, %584
  %588 = invoke noundef i32 @_ZN8presolve9HPresolve11checkLimitsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1)
          to label %589 unwind label %590

589:                                              ; preds = %587
  %.not261 = icmp eq i32 %588, 0
  br i1 %.not261, label %592, label %.thread307

590:                                              ; preds = %587
  %591 = landingpad { ptr, i32 }
          cleanup
  br label %633

592:                                              ; preds = %589, %548
  %indvars.iv.next356 = add nuw nsw i64 %indvars.iv355, 1
  %593 = load ptr, ptr %0, align 8, !tbaa !76
  %594 = load i32, ptr %593, align 8, !tbaa !78
  %595 = zext i32 %594 to i64
  %.not257 = icmp eq i64 %indvars.iv.next356, %595
  br i1 %.not257, label %._crit_edge351, label %548, !llvm.loop !443

._crit_edge351:                                   ; preds = %592, %._crit_edge345
  %596 = invoke noundef i32 @_ZN8presolve9HPresolve31applyConflictGraphSubstitutionsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1)
          to label %597 unwind label %598

597:                                              ; preds = %._crit_edge351
  %.not262 = icmp eq i32 %596, 0
  br i1 %.not262, label %600, label %.thread307

598:                                              ; preds = %._crit_edge351
  %599 = landingpad { ptr, i32 }
          cleanup
  br label %633

600:                                              ; preds = %597
  %601 = getelementptr inbounds i8, ptr %0, i64 8
  %602 = load ptr, ptr %601, align 8, !tbaa !409
  %603 = getelementptr inbounds i8, ptr %602, i64 896
  %604 = load i32, ptr %68, align 4, !tbaa !98
  %605 = sub nsw i32 %604, %69
  %606 = load i32, ptr %42, align 8, !tbaa !75
  %607 = load i32, ptr %40, align 4, !tbaa !74
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %603, i32 noundef 1, ptr noundef nonnull @.str.77, i32 noundef %605, i32 noundef %606, i32 noundef %607, i32 noundef %.0216.lcssa)
          to label %608 unwind label %624

608:                                              ; preds = %600
  %609 = load ptr, ptr %36, align 8, !tbaa !5
  %610 = getelementptr inbounds i8, ptr %609, i64 8
  %611 = load ptr, ptr %610, align 8, !tbaa !432
  %612 = getelementptr inbounds i8, ptr %611, i64 892
  %613 = load i32, ptr %612, align 4, !tbaa !433
  %.not263 = icmp eq i32 %613, -1
  br i1 %.not263, label %632, label %614

614:                                              ; preds = %608
  %615 = load i32, ptr %42, align 8, !tbaa !75
  %616 = icmp eq i32 %615, 0
  br i1 %616, label %617, label %628

617:                                              ; preds = %614
  %618 = load i32, ptr %40, align 4, !tbaa !74
  %619 = icmp eq i32 %618, 0
  %620 = icmp eq i32 %.0216.lcssa, 0
  %or.cond10 = select i1 %619, i1 %620, i1 false
  br i1 %or.cond10, label %621, label %628

621:                                              ; preds = %617
  %622 = invoke noundef i32 @_ZN8presolve9HPresolve17liftingForProbingERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1)
          to label %623 unwind label %626

623:                                              ; preds = %621
  %.not264 = icmp eq i32 %622, 0
  br i1 %.not264, label %628, label %.thread307

624:                                              ; preds = %600
  %625 = landingpad { ptr, i32 }
          cleanup
  br label %633

626:                                              ; preds = %621
  %627 = landingpad { ptr, i32 }
          cleanup
  br label %633

628:                                              ; preds = %623, %617, %614
  %629 = getelementptr inbounds i8, ptr %0, i64 1288
  call void @_ZNSt13unordered_mapIi13HighsHashTreeISt4pairIiiEdESt4hashIiESt8equal_toIiESaIS1_IKiS3_EEE5clearEv(ptr noundef nonnull align 8 dereferenceable(56) %629) #6
  %630 = getelementptr inbounds i8, ptr %138, i64 24160
  %631 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt8functionIFviiidEEaSEDn(ptr noundef nonnull align 8 dereferenceable(32) %630, ptr null) #6
  br label %632

.thread307:                                       ; preds = %589, %476, %623, %597
  %.17.ph = phi i32 [ %596, %597 ], [ %622, %623 ], [ 1, %476 ], [ %588, %589 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  br label %639

632:                                              ; preds = %628, %608
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  br label %634

633:                                              ; preds = %546, %598, %624, %626, %590, %585, %563, %502, %475, %326
  %.pn269 = phi { ptr, i32 } [ %503, %502 ], [ %327, %326 ], [ %.pn254.pn, %475 ], [ %547, %546 ], [ %627, %626 ], [ %625, %624 ], [ %599, %598 ], [ %591, %590 ], [ %564, %563 ], [ %586, %585 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #6
  br label %640

634:                                              ; preds = %632, %265
  %635 = load ptr, ptr %36, align 8, !tbaa !5
  %636 = getelementptr inbounds i8, ptr %635, i64 232
  invoke void @_ZNK16HighsMipAnalysis12mipTimerStopEi(ptr noundef nonnull align 8 dereferenceable(128) %636, i32 noundef 11)
          to label %637 unwind label %214

637:                                              ; preds = %634
  %638 = invoke noundef i32 @_ZN8presolve9HPresolve11checkLimitsERNS_19HighsPostsolveStackE(ptr noundef nonnull align 8 dereferenceable(1720) %0, ptr noundef nonnull align 8 dereferenceable(224) %1)
          to label %639 unwind label %214

639:                                              ; preds = %.thread307, %637
  %.18 = phi i32 [ %638, %637 ], [ %.17.ph, %.thread307 ]
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  br label %641

640:                                              ; preds = %633, %264, %214
  %.pn271 = phi { ptr, i32 } [ %215, %214 ], [ %.pn269, %633 ], [ %.pn.pn.pn.pn, %264 ]
  call void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %3) #6
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #6
  resume { ptr, i32 } %.pn271

641:                                              ; preds = %182, %154, %187, %192, %639, %130
  %.20 = phi i32 [ 1, %130 ], [ 1, %154 ], [ 1, %187 ], [ 1, %192 ], [ %.18, %639 ], [ 1, %182 ]
  ret i32 %.20
}

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

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

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

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

declare void @_ZN18HighsMipSolverData22setupDomainPropagationEv(ptr noundef nonnull align 8 dereferenceable(26801)) local_unnamed_addr #4

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

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

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

declare void @_ZN16HighsCliqueTable14extractCliquesER14HighsMipSolverb(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(496), i1 noundef zeroext) local_unnamed_addr #4

declare void @_ZN16HighsCliqueTable17extractObjCliquesER14HighsMipSolver(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(496)) local_unnamed_addr #4

declare void @_ZN16HighsCliqueTable12cleanupFixedER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #4

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

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

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

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

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

declare noundef i32 @_ZN16HighsCliqueTable18getNumImplicationsEib(ptr noundef nonnull align 8 dereferenceable(488), i32 noundef, i1 noundef zeroext) local_unnamed_addr #4

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_Z7pdqsortIN9__gnu_cxx17__normal_iteratorIPSt5tupleIJliiiEESt6vectorIS3_SaIS3_EEEEEvT_S9_(ptr, ptr) local_unnamed_addr #5

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare hidden noundef zeroext i1 @"_ZZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEENK3$_1clEm"(ptr noundef nonnull align 8 dereferenceable(8), i64 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare hidden noundef nonnull align 8 dereferenceable(32) ptr @"_ZNSt8functionIFviiidEEaSIZN8presolve9HPresolve10runProbingERNS3_19HighsPostsolveStackEE3$_0EENSt9enable_ifIXsrNS1_9_CallableIT_NS8_IXntsr7is_sameINSt9remove_cvINSt16remove_referenceISA_E4typeEE4typeES1_EE5valueESt5decayISA_EE4type4typeESt15__invoke_resultIRSL_JiiidEEEE5valueERS1_E4typeEOSA_"(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #1 align 2

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

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

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

declare noundef zeroext i1 @_ZN17HighsImplications10runProbingEiRi(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

declare void @_ZN16HighsCliqueTable16runCliqueMergingER11HighsDomain(ptr noundef nonnull align 8 dereferenceable(488), ptr noundef nonnull align 8 dereferenceable(824)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorISt5tupleIJliiiEESaIS1_EED2Ev(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 = { 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 #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 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 = { 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 24}
!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 = !{!6, !54, i64 1584}
!74 = !{!6, !59, i64 1572}
!75 = !{!6, !59, i64 1568}
!76 = !{!6, !7, i64 0}
!77 = !{!6, !10, i64 32}
!78 = !{!79, !59, i64 0}
!79 = !{!"_ZTS7HighsLp", !59, i64 0, !59, i64 4, !11, i64 8, !11, i64 32, !11, i64 56, !11, i64 80, !11, i64 104, !80, i64 128, !82, i64 240, !10, i64 248, !83, i64 256, !83, i64 288, !59, i64 320, !59, i64 324, !85, i64 328, !85, i64 352, !89, i64 376, !93, i64 400, !93, i64 456, !59, i64 512, !59, i64 516, !96, i64 520, !54, i64 592, !54, i64 593, !59, i64 596, !54, i64 600, !97, i64 608}
!80 = !{!"_ZTS17HighsSparseMatrix", !81, i64 0, !59, i64 4, !59, i64 8, !15, i64 16, !15, i64 40, !15, i64 64, !11, i64 88}
!81 = !{!"_ZTS12MatrixFormat", !8, i64 0}
!82 = !{!"_ZTS8ObjSense", !8, i64 0}
!83 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !84, i64 0, !38, i64 8, !8, i64 16}
!84 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !7, i64 0}
!85 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !86, i64 0}
!86 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !87, i64 0}
!87 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !88, i64 0}
!88 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!89 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !90, i64 0}
!90 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !91, i64 0}
!91 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !92, i64 0}
!92 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!93 = !{!"_ZTS13HighsNameHash", !94, i64 0}
!94 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !95, i64 0}
!95 = !{!"_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}
!96 = !{!"_ZTS10HighsScale", !59, i64 0, !54, i64 4, !59, i64 8, !59, i64 12, !10, i64 16, !11, i64 24, !11, i64 48}
!97 = !{!"_ZTS11HighsLpMods", !15, i64 0, !15, i64 24, !11, i64 48, !11, i64 72, !89, 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}
!98 = !{!6, !59, i64 1564}
!99 = !{!10, !10, i64 0}
!100 = distinct !{!100, !101}
!101 = !{!"llvm.loop.mustprogress"}
!102 = !{!103, !54, i64 25616}
!103 = !{!"_ZTS18HighsMipSolverData", !7, i64 0, !104, i64 8, !120, i64 688, !133, i64 912, !176, i64 1736, !312, i64 23168, !313, i64 23528, !345, i64 24016, !359, i64 24192, !360, i64 24296, !365, i64 24344, !292, i64 24464, !60, i64 24688, !79, i64 24696, !54, i64 25616, !54, i64 25617, !54, i64 25618, !226, 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, !366, i64 25912, !378, 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, !179, i64 26256, !10, i64 26352, !59, i64 26360, !59, i64 26364, !143, 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, !380, i64 26608, !403, i64 26760, !404, i64 26800}
!104 = !{!"_ZTS12HighsCutPool", !105, i64 0, !11, i64 336, !106, i64 360, !11, i64 384, !11, i64 408, !28, i64 432, !110, i64 456, !112, 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, !116, i64 656}
!105 = !{!"_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}
!106 = !{!"_ZTSSt6vectorIsSaIsEE", !107, i64 0}
!107 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !108, i64 0}
!108 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !109, i64 0}
!109 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!110 = !{!"_ZTSSt18unordered_multimapImiSt4hashImESt8equal_toImESaISt4pairIKmiEEE", !111, i64 0}
!111 = !{!"_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}
!112 = !{!"_ZTSSt6vectorIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !113, i64 0}
!113 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE", !114, i64 0}
!114 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE12_Vector_implE", !115, i64 0}
!115 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain18CutpoolPropagationESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!116 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !117, i64 0}
!117 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !118, i64 0}
!118 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !119, i64 0}
!119 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!120 = !{!"_ZTS17HighsConflictPool", !59, i64 0, !59, i64 4, !15, i64 8, !106, i64 32, !121, i64 56, !125, i64 80, !32, i64 104, !42, i64 128, !15, i64 176, !129, i64 200}
!121 = !{!"_ZTSSt6vectorIjSaIjEE", !122, i64 0}
!122 = !{!"_ZTSSt12_Vector_baseIjSaIjEE", !123, i64 0}
!123 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE12_Vector_implE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseIjSaIjEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!125 = !{!"_ZTSSt6vectorI17HighsDomainChangeSaIS0_EE", !126, i64 0}
!126 = !{!"_ZTSSt12_Vector_baseI17HighsDomainChangeSaIS0_EE", !127, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE12_Vector_implE", !128, i64 0}
!128 = !{!"_ZTSNSt12_Vector_baseI17HighsDomainChangeSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!129 = !{!"_ZTSSt6vectorIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !130, i64 0}
!130 = !{!"_ZTSSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE", !131, i64 0}
!131 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE12_Vector_implE", !132, i64 0}
!132 = !{!"_ZTSNSt12_Vector_baseIPN11HighsDomain23ConflictPoolPropagationESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!133 = !{!"_ZTS11HighsDomain", !28, i64 0, !15, i64 24, !32, i64 48, !125, i64 72, !134, i64 96, !138, i64 120, !24, i64 144, !24, i64 168, !15, i64 192, !15, i64 216, !11, i64 240, !28, i64 264, !15, i64 288, !142, i64 312, !7, i64 472, !152, i64 480, !157, i64 560, !54, i64 640, !162, i64 644, !59, i64 652, !15, i64 656, !15, i64 680, !15, i64 704, !163, i64 728, !54, i64 768, !11, i64 776, !11, i64 800}
!134 = !{!"_ZTSSt6vectorIN11HighsDomain6ReasonESaIS1_EE", !135, i64 0}
!135 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE", !136, i64 0}
!136 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE12_Vector_implE", !137, i64 0}
!137 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain6ReasonESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!138 = !{!"_ZTSSt6vectorISt4pairIdiESaIS1_EE", !139, i64 0}
!139 = !{!"_ZTSSt12_Vector_baseISt4pairIdiESaIS1_EE", !140, i64 0}
!140 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE12_Vector_implE", !141, i64 0}
!141 = !{!"_ZTSNSt12_Vector_baseISt4pairIdiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!142 = !{!"_ZTSN11HighsDomain20ObjectivePropagationE", !7, i64 0, !7, i64 8, !7, i64 16, !143, i64 24, !59, i64 40, !10, i64 48, !54, i64 56, !144, i64 64, !32, i64 88, !11, i64 112, !148, i64 136}
!143 = !{!"_ZTS12HighsCDouble", !10, i64 0, !10, i64 8}
!144 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !145, i64 0}
!145 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE", !146, i64 0}
!146 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE12_Vector_implE", !147, i64 0}
!147 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation21ObjectiveContributionESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!148 = !{!"_ZTSSt6vectorIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !149, i64 0}
!149 = !{!"_ZTSSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE", !150, i64 0}
!150 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE12_Vector_implE", !151, i64 0}
!151 = !{!"_ZTSNSt12_Vector_baseIN11HighsDomain20ObjectivePropagation19PartitionCliqueDataESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!152 = !{!"_ZTSSt5dequeIN11HighsDomain18CutpoolPropagationESaIS1_EE", !153, i64 0}
!153 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE", !154, i64 0}
!154 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE11_Deque_implE", !155, i64 0}
!155 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain18CutpoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !38, i64 8, !156, i64 16, !156, i64 48}
!156 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain18CutpoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!157 = !{!"_ZTSSt5dequeIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !158, i64 0}
!158 = !{!"_ZTSSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE", !159, i64 0}
!159 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE11_Deque_implE", !160, i64 0}
!160 = !{!"_ZTSNSt11_Deque_baseIN11HighsDomain23ConflictPoolPropagationESaIS1_EE16_Deque_impl_dataE", !7, i64 0, !38, i64 8, !161, i64 16, !161, i64 48}
!161 = !{!"_ZTSSt15_Deque_iteratorIN11HighsDomain23ConflictPoolPropagationERS1_PS1_E", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24}
!162 = !{!"_ZTSN11HighsDomain6ReasonE", !59, i64 0, !59, i64 4}
!163 = !{!"_ZTS14HighsHashTableIivE", !164, i64 0, !170, i64 8, !38, i64 16, !38, i64 24, !38, i64 32}
!164 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !165, i64 0}
!165 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterELb1ELb1EE", !166, i64 0}
!166 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEE", !167, i64 0}
!167 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !168, i64 0}
!168 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIivEN14HighsHashTableIivE12OpNewDeleterEEE", !169, i64 0}
!169 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIivELb0EE", !7, i64 0}
!170 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !171, i64 0}
!171 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !172, i64 0}
!172 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !173, i64 0}
!173 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !174, i64 0}
!174 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !175, i64 0}
!175 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !7, i64 0}
!176 = !{!"_ZTS17HighsLpRelaxation", !7, i64 0, !177, i64 8, !303, i64 20936, !116, i64 20960, !11, i64 20984, !15, i64 21008, !11, i64 21032, !11, i64 21056, !11, i64 21080, !273, i64 21104, !307, i64 21280, !10, i64 21328, !54, i64 21336, !10, i64 21344, !308, i64 21352, !54, i64 21368, !38, i64 21376, !38, i64 21384, !10, i64 21392, !38, i64 21400, !38, i64 21408, !59, i64 21416, !311, i64 21420, !54, i64 21424}
!177 = !{!"_ZTS5Highs", !178, i64 8, !179, i64 112, !184, i64 208, !189, i64 312, !192, i64 1312, !189, i64 1336, !196, i64 2336, !197, i64 2472, !202, i64 2728, !209, i64 3752, !215, i64 3936, !217, i64 4520, !222, i64 4648, !60, i64 4672, !226, i64 4676, !54, i64 4680, !10, i64 4688, !11, i64 4696, !11, i64 4720, !80, i64 4744, !227, i64 4856, !68, i64 19424, !59, i64 19448, !54, i64 19452, !59, i64 19456, !54, i64 19460, !285, i64 19464}
!178 = !{!"_ZTS13HighsSolution", !54, i64 0, !54, i64 1, !11, i64 8, !11, i64 32, !11, i64 56, !11, i64 80}
!179 = !{!"_ZTS10HighsBasis", !54, i64 0, !54, i64 1, !54, i64 2, !54, i64 3, !59, i64 4, !59, i64 8, !83, i64 16, !180, i64 48, !180, i64 72}
!180 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !181, i64 0}
!181 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !182, i64 0}
!182 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !183, i64 0}
!183 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!184 = !{!"_ZTS10ICrashInfo", !59, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !185, i64 48, !11, i64 72, !10, i64 96}
!185 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !186, i64 0}
!186 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !187, i64 0}
!187 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !188, i64 0}
!188 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!189 = !{!"_ZTS10HighsModel", !79, i64 0, !190, i64 920}
!190 = !{!"_ZTS12HighsHessian", !59, i64 0, !191, i64 4, !15, i64 8, !15, i64 32, !11, i64 56}
!191 = !{!"_ZTS13HessianFormat", !8, i64 0}
!192 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !193, i64 0}
!193 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !194, i64 0}
!194 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !195, i64 0}
!195 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!196 = !{!"_ZTS10HighsTimer", !10, i64 8, !59, i64 16, !15, i64 24, !11, i64 48, !11, i64 72, !85, i64 96, !59, i64 120, !59, i64 124, !59, i64 128}
!197 = !{!"_ZTS13HighsCallback", !198, i64 0, !7, i64 32, !7, i64 40, !62, i64 48, !200, i64 88, !201, i64 240}
!198 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !199, i64 0, !7, i64 24}
!199 = !{!"_ZTSSt14_Function_base", !8, i64 0, !7, i64 16}
!200 = !{!"_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}
!201 = !{!"_ZTS19HighsCallbackDataIn", !59, i64 0, !7, i64 8}
!202 = !{!"_ZTS12HighsOptions", !203, i64 0, !205, i64 992, !59, i64 1016}
!203 = !{!"_ZTS18HighsOptionsStruct", !83, i64 8, !83, i64 40, !83, i64 72, !83, i64 104, !10, i64 136, !83, i64 144, !83, i64 176, !59, i64 208, !83, 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, !83, i64 392, !54, i64 424, !54, i64 425, !54, i64 426, !59, i64 428, !59, i64 432, !83, 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, !83, 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, !83, i64 856, !54, i64 888, !59, i64 892, !204, i64 896}
!204 = !{!"_ZTS15HighsLogOptions", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !198, i64 48, !7, i64 80, !54, i64 88}
!205 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !206, i64 0}
!206 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !207, i64 0}
!207 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !208, i64 0}
!208 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!209 = !{!"_ZTS9HighsInfo", !210, i64 8, !211, i64 160}
!210 = !{!"_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}
!211 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !212, i64 0}
!212 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !213, i64 0}
!213 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !214, i64 0}
!214 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!215 = !{!"_ZTS12HighsRanging", !54, i64 0, !216, i64 8, !216, i64 104, !216, i64 200, !216, i64 296, !216, i64 392, !216, i64 488}
!216 = !{!"_ZTS18HighsRangingRecord", !11, i64 0, !11, i64 24, !15, i64 48, !15, i64 72}
!217 = !{!"_ZTS8HighsIis", !54, i64 0, !59, i64 4, !15, i64 8, !15, i64 32, !15, i64 56, !15, i64 80, !218, i64 104}
!218 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !219, i64 0}
!219 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !220, i64 0}
!220 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !221, i64 0}
!221 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!222 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !223, i64 0}
!223 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !224, i64 0}
!224 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !225, i64 0}
!225 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!226 = !{!"_ZTS16HighsModelStatus", !8, i64 0}
!227 = !{!"_ZTS4HEkk", !7, i64 0, !7, i64 8, !7, i64 16, !228, i64 24, !79, i64 8600, !83, i64 9520, !245, i64 9552, !246, i64 9568, !226, i64 10608, !247, i64 10616, !252, i64 10736, !259, i64 10776, !11, i64 10784, !11, i64 10808, !54, i64 10832, !80, i64 10840, !80, i64 10952, !260, i64 11064, !277, 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, !278, i64 14092, !59, i64 14096, !59, i64 14100, !15, i64 14104, !11, i64 14128, !279, i64 14152, !279, 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, !280, i64 14464, !11, i64 14488, !284, i64 14512}
!228 = !{!"_ZTS20HighsSimplexAnalysis", !7, i64 0, !229, i64 8, !229, i64 32, !7, i64 56, !59, i64 64, !59, i64 68, !59, i64 72, !83, i64 80, !83, i64 112, !204, 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, !233, i64 252, !59, i64 256, !59, i64 260, !59, i64 264, !59, i64 268, !59, i64 272, !59, i64 276, !59, i64 280, !83, 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, !234, i64 608, !234, i64 760, !234, i64 912, !234, i64 1064, !234, i64 1216, !234, i64 1368, !234, i64 1520, !234, i64 1672, !234, i64 1824, !234, 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, !235, i64 2344, !239, 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, !234, i64 7664, !234, i64 7816, !234, i64 7968, !234, i64 8120, !234, i64 8272, !234, i64 8424}
!229 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !230, i64 0}
!230 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !231, i64 0}
!231 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !232, i64 0}
!232 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!233 = !{!"_ZTS14EdgeWeightMode", !8, i64 0}
!234 = !{!"_ZTS22HighsValueDistribution", !83, i64 0, !83, 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}
!235 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !236, i64 0}
!236 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !237, i64 0}
!237 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !238, i64 0}
!238 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!239 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !240, i64 0}
!240 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !241, i64 0}
!241 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !242, i64 0}
!242 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !243, i64 0}
!243 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !244, i64 0}
!244 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !7, i64 0}
!245 = !{!"_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}
!246 = !{!"_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, !247, 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}
!247 = !{!"_ZTS12SimplexBasis", !15, i64 0, !248, i64 24, !248, i64 48, !38, i64 72, !59, i64 80, !59, i64 84, !83, i64 88}
!248 = !{!"_ZTSSt6vectorIaSaIaEE", !249, i64 0}
!249 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !250, i64 0}
!250 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !251, i64 0}
!251 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!252 = !{!"_ZTS14HighsHashTableImvE", !253, i64 0, !170, i64 8, !38, i64 16, !38, i64 24, !38, i64 32}
!253 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !254, i64 0}
!254 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !255, i64 0}
!255 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !256, i64 0}
!256 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !257, i64 0}
!257 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !258, i64 0}
!258 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !7, i64 0}
!259 = !{!"_ZTS11HighsRandom", !38, i64 0}
!260 = !{!"_ZTS11HSimplexNla", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !7, i64 32, !7, i64 40, !261, i64 48, !54, i64 1960, !10, i64 1968, !274, i64 1976, !275, i64 2112}
!261 = !{!"_ZTS7HFactor", !10, i64 0, !10, i64 8, !59, i64 16, !15, i64 24, !15, i64 48, !15, i64 72, !262, 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, !263, i64 296, !204, 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, !269, 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, !273, i64 1736}
!262 = !{!"_ZTS12RefactorInfo", !54, i64 0, !15, i64 8, !15, i64 32, !248, i64 56, !10, i64 80}
!263 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !264, i64 0}
!264 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !265, i64 0}
!265 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !266, i64 0}
!266 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !267, i64 0}
!267 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !268, i64 0}
!268 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !7, i64 0}
!269 = !{!"_ZTSSt6vectorIcSaIcEE", !270, i64 0}
!270 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !271, i64 0}
!271 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !272, i64 0}
!272 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!273 = !{!"_ZTS11HVectorBaseIdE", !59, i64 0, !59, i64 4, !15, i64 8, !11, i64 32, !10, i64 56, !269, i64 64, !15, i64 88, !7, i64 112, !54, i64 120, !59, i64 124, !15, i64 128, !11, i64 152}
!274 = !{!"_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}
!275 = !{!"_ZTS14SimplexIterate", !54, i64 0, !247, i64 8, !276, i64 128, !11, i64 728}
!276 = !{!"_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}
!277 = !{!"_ZTS8HotStart", !54, i64 0, !262, i64 8, !248, i64 96}
!278 = !{!"_ZTS16SimplexAlgorithm", !8, i64 0}
!279 = !{!"_ZTS14HighsRayRecord", !59, i64 0, !59, i64 4, !11, i64 8}
!280 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !281, i64 0}
!281 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !282, i64 0}
!282 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !283, i64 0}
!283 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!284 = !{!"_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}
!285 = !{!"_ZTS17PresolveComponent", !286, i64 0, !290, i64 16, !291, i64 56, !7, i64 1440, !7, i64 1448, !60, i64 1456, !302, i64 1460}
!286 = !{!"_ZTS14HighsComponent", !287, i64 8, !288, i64 9, !289, i64 10}
!287 = !{!"_ZTS18HighsComponentInfo", !54, i64 0}
!288 = !{!"_ZTS18HighsComponentData", !54, i64 0}
!289 = !{!"_ZTS21HighsComponentOptions", !54, i64 0}
!290 = !{!"_ZTS21PresolveComponentInfo", !287, i64 8, !59, i64 12, !59, i64 16, !59, i64 20, !10, i64 24, !10, i64 32}
!291 = !{!"_ZTS21PresolveComponentData", !288, i64 8, !79, i64 16, !292, i64 936, !178, i64 1160, !179, i64 1264, !68, i64 1360}
!292 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !38, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !293, i64 40, !294, i64 72, !15, i64 96, !15, i64 120, !28, i64 144, !298, i64 168, !298, i64 192, !59, i64 216, !59, i64 220}
!293 = !{!"_ZTS14HighsDataStack", !269, i64 0, !38, i64 24}
!294 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !295, i64 0}
!295 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !296, i64 0}
!296 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !297, i64 0}
!297 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!298 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !299, i64 0}
!299 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !300, i64 0}
!300 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !301, i64 0}
!301 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!302 = !{!"_ZTS20HighsPostsolveStatus", !8, i64 0}
!303 = !{!"_ZTSSt6vectorIN17HighsLpRelaxation5LpRowESaIS1_EE", !304, i64 0}
!304 = !{!"_ZTSSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE", !305, i64 0}
!305 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE12_Vector_implE", !306, i64 0}
!306 = !{!"_ZTSNSt12_Vector_baseIN17HighsLpRelaxation5LpRowESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!307 = !{!"_ZTS20HighsSparseVectorSum", !24, i64 0, !15, i64 24}
!308 = !{!"_ZTSSt10shared_ptrIK10HighsBasisE", !309, i64 0}
!309 = !{!"_ZTSSt12__shared_ptrIK10HighsBasisLN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !310, i64 8}
!310 = !{!"_ZTSSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0}
!311 = !{!"_ZTSN17HighsLpRelaxation6StatusE", !8, i64 0}
!312 = !{!"_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}
!313 = !{!"_ZTS16HighsCliqueTable", !314, i64 0, !318, i64 24, !322, i64 48, !326, i64 72, !42, i64 112, !15, i64 160, !333, i64 184, !15, i64 208, !314, i64 232, !15, i64 256, !337, i64 280, !15, i64 304, !341, i64 328, !28, i64 352, !28, i64 376, !121, i64 400, !15, i64 424, !259, i64 448, !59, i64 456, !59, i64 460, !59, i64 464, !59, i64 468, !54, i64 472, !38, i64 480}
!314 = !{!"_ZTSSt6vectorIN16HighsCliqueTable9CliqueVarESaIS1_EE", !315, i64 0}
!315 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE", !316, i64 0}
!316 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE12_Vector_implE", !317, i64 0}
!317 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable9CliqueVarESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!318 = !{!"_ZTSSt6vectorI13HighsHashTreeIiiESaIS1_EE", !319, i64 0}
!319 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE", !320, i64 0}
!320 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE12_Vector_implE", !321, i64 0}
!321 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiiESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!322 = !{!"_ZTSSt6vectorI13HighsHashTreeIivESaIS1_EE", !323, i64 0}
!323 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE", !324, i64 0}
!324 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE12_Vector_implE", !325, i64 0}
!325 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIivESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!326 = !{!"_ZTS14HighsHashTableISt4pairIN16HighsCliqueTable9CliqueVarES2_EiE", !327, i64 0, !170, i64 8, !38, i64 16, !38, i64 24, !38, i64 32}
!327 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !328, i64 0}
!328 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterELb1ELb1EE", !329, i64 0}
!329 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEE", !330, i64 0}
!330 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !331, i64 0}
!331 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiEN14HighsHashTableIS4_iE12OpNewDeleterEEE", !332, i64 0}
!332 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryISt4pairIN16HighsCliqueTable9CliqueVarES3_EiELb0EE", !7, i64 0}
!333 = !{!"_ZTSSt6vectorIN16HighsCliqueTable6CliqueESaIS1_EE", !334, i64 0}
!334 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE", !335, i64 0}
!335 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE12_Vector_implE", !336, i64 0}
!336 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable6CliqueESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!337 = !{!"_ZTSSt6vectorIN16HighsCliqueTable12SubstitutionESaIS1_EE", !338, i64 0}
!338 = !{!"_ZTSSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE", !339, i64 0}
!339 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE12_Vector_implE", !340, i64 0}
!340 = !{!"_ZTSNSt12_Vector_baseIN16HighsCliqueTable12SubstitutionESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!341 = !{!"_ZTSSt6vectorISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !342, i64 0}
!342 = !{!"_ZTSSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE", !343, i64 0}
!343 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE12_Vector_implE", !344, i64 0}
!344 = !{!"_ZTSNSt12_Vector_baseISt4pairIiN16HighsCliqueTable9CliqueVarEESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!345 = !{!"_ZTS17HighsImplications", !59, i64 0, !346, i64 8, !38, i64 32, !350, i64 40, !350, i64 64, !7, i64 88, !354, i64 96, !28, i64 120, !358, i64 144}
!346 = !{!"_ZTSSt6vectorIN17HighsImplications7ImplicsESaIS1_EE", !347, i64 0}
!347 = !{!"_ZTSSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE", !348, i64 0}
!348 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE12_Vector_implE", !349, i64 0}
!349 = !{!"_ZTSNSt12_Vector_baseIN17HighsImplications7ImplicsESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!350 = !{!"_ZTSSt6vectorI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !351, i64 0}
!351 = !{!"_ZTSSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE", !352, i64 0}
!352 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE12_Vector_implE", !353, i64 0}
!353 = !{!"_ZTSNSt12_Vector_baseI13HighsHashTreeIiN17HighsImplications8VarBoundEESaIS3_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!354 = !{!"_ZTSSt6vectorI17HighsSubstitutionSaIS0_EE", !355, i64 0}
!355 = !{!"_ZTSSt12_Vector_baseI17HighsSubstitutionSaIS0_EE", !356, i64 0}
!356 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE12_Vector_implE", !357, i64 0}
!357 = !{!"_ZTSNSt12_Vector_baseI17HighsSubstitutionSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!358 = !{!"_ZTSSt8functionIFviiidEE", !199, i64 0, !7, i64 24}
!359 = !{!"_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, !259, i64 72, !15, i64 80}
!360 = !{!"_ZTS18HighsRedcostFixing", !361, i64 0, !361, i64 24}
!361 = !{!"_ZTSSt6vectorISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !362, i64 0}
!362 = !{!"_ZTSSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE", !363, i64 0}
!363 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE12_Vector_implE", !364, i64 0}
!364 = !{!"_ZTSNSt12_Vector_baseISt8multimapIdiSt4lessIdESaISt4pairIKdiEEESaIS7_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!365 = !{!"_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}
!366 = !{!"_ZTS15HighsSymmetries", !15, i64 0, !15, i64 24, !15, i64 48, !15, i64 72, !15, i64 96, !15, i64 120, !367, i64 144, !371, i64 168, !59, i64 208, !59, i64 212}
!367 = !{!"_ZTSSt6vectorI19HighsOrbitopeMatrixSaIS0_EE", !368, i64 0}
!368 = !{!"_ZTSSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE", !369, i64 0}
!369 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE12_Vector_implE", !370, i64 0}
!370 = !{!"_ZTSNSt12_Vector_baseI19HighsOrbitopeMatrixSaIS0_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!371 = !{!"_ZTS14HighsHashTableIiiE", !372, i64 0, !170, i64 8, !38, i64 16, !38, i64 24, !38, i64 32}
!372 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !373, i64 0}
!373 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterELb1ELb1EE", !374, i64 0}
!374 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEE", !375, i64 0}
!375 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !376, i64 0}
!376 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryIiiEN14HighsHashTableIiiE12OpNewDeleterEEE", !377, i64 0}
!377 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryIiiELb0EE", !7, i64 0}
!378 = !{!"_ZTSSt10shared_ptrIK16StabilizerOrbitsE", !379, i64 0}
!379 = !{!"_ZTSSt12__shared_ptrIK16StabilizerOrbitsLN9__gnu_cxx12_Lock_policyE2EE", !7, i64 0, !310, i64 8}
!380 = !{!"_ZTS14HighsNodeQueue", !381, i64 0, !387, i64 8, !391, i64 32, !397, i64 64, !397, 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}
!381 = !{!"_ZTSSt10unique_ptrIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !382, i64 0}
!382 = !{!"_ZTSSt15__uniq_ptr_dataIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_ELb1ELb1EE", !383, i64 0}
!383 = !{!"_ZTSSt15__uniq_ptr_implIN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EE", !384, i64 0}
!384 = !{!"_ZTSSt5tupleIJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !385, i64 0}
!385 = !{!"_ZTSSt11_Tuple_implILm0EJPN14HighsNodeQueue14AllocatorStateESt14default_deleteIS1_EEE", !386, i64 0}
!386 = !{!"_ZTSSt10_Head_baseILm0EPN14HighsNodeQueue14AllocatorStateELb0EE", !7, i64 0}
!387 = !{!"_ZTSSt6vectorIN14HighsNodeQueue8OpenNodeESaIS1_EE", !388, i64 0}
!388 = !{!"_ZTSSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE", !389, i64 0}
!389 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE12_Vector_implE", !390, i64 0}
!390 = !{!"_ZTSNSt12_Vector_baseIN14HighsNodeQueue8OpenNodeESaIS1_EE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!391 = !{!"_ZTSSt14priority_queueIlSt6vectorIlSaIlEESt7greaterIlEE", !392, i64 0, !396, i64 24}
!392 = !{!"_ZTSSt6vectorIlSaIlEE", !393, i64 0}
!393 = !{!"_ZTSSt12_Vector_baseIlSaIlEE", !394, i64 0}
!394 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE12_Vector_implE", !395, i64 0}
!395 = !{!"_ZTSNSt12_Vector_baseIlSaIlEE17_Vector_impl_dataE", !7, i64 0, !7, i64 8, !7, i64 16}
!396 = !{!"_ZTSSt7greaterIlE"}
!397 = !{!"_ZTSSt10unique_ptrISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !398, i64 0}
!398 = !{!"_ZTSSt15__uniq_ptr_dataISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteELb1ELb1EE", !399, i64 0}
!399 = !{!"_ZTSSt15__uniq_ptr_implISt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEE", !400, i64 0}
!400 = !{!"_ZTSSt5tupleIJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !401, i64 0}
!401 = !{!"_ZTSSt11_Tuple_implILm0EJPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEENS5_20GlobalOperatorDeleteEEE", !402, i64 0}
!402 = !{!"_ZTSSt10_Head_baseILm0EPSt3setISt4pairIdlESt4lessIS2_EN14HighsNodeQueue16NodesetAllocatorIS2_EEELb0EE", !7, i64 0}
!403 = !{!"_ZTS22HighsPrimaDualIntegral", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!404 = !{!"_ZTS13HighsDebugSol"}
!405 = !{i8 0, i8 2}
!406 = !{}
!407 = !{!103, !10, i64 26568}
!408 = !{!79, !10, i64 248}
!409 = !{!6, !7, i64 8}
!410 = !{!203, !59, i64 208}
!411 = !{!59, !59, i64 0}
!412 = !{!38, !38, i64 0}
!413 = !{!414, !414, i64 0}
!414 = !{!"short", !8, i64 0}
!415 = distinct !{!415, !101}
!416 = !{!6, !59, i64 1560}
!417 = distinct !{!417, !101}
!418 = !{!313, !38, i64 480}
!419 = !{!420, !54, i64 176}
!420 = !{!"_ZTS14HighsMipSolver", !7, i64 0, !7, i64 8, !7, i64 16, !7, i64 24, !226, 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, !222, i64 152, !54, i64 176, !59, i64 180, !59, i64 184, !7, i64 192, !7, i64 200, !7, i64 208, !7, i64 216, !421, i64 224, !427, i64 232, !196, i64 360}
!421 = !{!"_ZTSSt10unique_ptrI18HighsMipSolverDataSt14default_deleteIS0_EE", !422, i64 0}
!422 = !{!"_ZTSSt15__uniq_ptr_dataI18HighsMipSolverDataSt14default_deleteIS0_ELb1ELb1EE", !423, i64 0}
!423 = !{!"_ZTSSt15__uniq_ptr_implI18HighsMipSolverDataSt14default_deleteIS0_EE", !424, i64 0}
!424 = !{!"_ZTSSt5tupleIJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !425, i64 0}
!425 = !{!"_ZTSSt11_Tuple_implILm0EJP18HighsMipSolverDataSt14default_deleteIS0_EEE", !426, i64 0}
!426 = !{!"_ZTSSt10_Head_baseILm0EP18HighsMipSolverDataLb0EE", !7, i64 0}
!427 = !{!"_ZTS16HighsMipAnalysis", !7, i64 0, !83, i64 8, !428, i64 40, !54, i64 72, !11, i64 80, !11, i64 104}
!428 = !{!"_ZTS15HighsTimerClock", !7, i64 0, !15, i64 8}
!429 = !{!430, !7, i64 0}
!430 = !{!"_ZTSZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEE3$_1", !7, i64 0}
!431 = !{!79, !59, i64 4}
!432 = !{!420, !7, i64 8}
!433 = !{!203, !59, i64 892}
!434 = !{!435, !7, i64 0}
!435 = !{!"_ZTSZN8presolve9HPresolve10runProbingERNS_19HighsPostsolveStackEE3$_0", !7, i64 0, !7, i64 8}
!436 = !{!7, !7, i64 0}
!437 = !{!6, !38, i64 1552}
!438 = distinct !{!438, !101}
!439 = !{!8, !8, i64 0}
!440 = !{!441, !59, i64 0}
!441 = !{!"_ZTSSt4pairIiN16HighsCliqueTable9CliqueVarEE", !59, i64 0, !442, i64 4}
!442 = !{!"_ZTSN16HighsCliqueTable9CliqueVarE", !59, i64 0, !59, i64 3}
!443 = distinct !{!443, !101}


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