; LLVM IR from ERGO-Code/HiGHS :: src/lp_data/HighsInterface.ll (ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE)

; 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.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%class.anon = type { ptr, ptr }
%class.Highs = type { ptr, %struct.HighsSolution, %struct.HighsBasis, %struct.ICrashInfo, %class.HighsModel, %"class.std::vector.33", %class.HighsModel, %class.HighsTimer, %struct.HighsCallback, %class.HighsOptions, %class.HighsInfo, %struct.HighsRanging, %class.HighsIis, %"class.std::vector.57", i32, i32, i8, double, %"class.std::vector", %"class.std::vector", %class.HighsSparseMatrix, %class.HEkk, %struct.HighsPresolveLog, i32, i8, i32, i8, %class.PresolveComponent }
%struct.HighsSolution = type { i8, i8, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%struct.HighsBasis = type { i8, i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::vector.3", %"class.std::vector.3" }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.ICrashInfo = type { i32, double, double, double, double, double, %"class.std::vector.8", %"class.std::vector", double }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl" }
%"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl" = type { %"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ICrashIterationDetails, std::allocator<ICrashIterationDetails>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.33" = type { %"struct.std::_Vector_base.34" }
%"struct.std::_Vector_base.34" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsLinearObjective, std::allocator<HighsLinearObjective>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsModel = type { %class.HighsLp, %class.HighsHessian }
%class.HighsLp = type { i32, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.18", %"class.std::vector.18", %"class.std::vector.23", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%struct.HighsNameHash = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector", %"class.std::vector" }
%struct.HighsLpMods = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.23", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%class.HighsHessian = type { i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%class.HighsTimer = type <{ ptr, double, i32, [4 x i8], %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.18", i32, i32, i32, [4 x i8] }>
%struct.HighsCallback = type { %"class.std::function", ptr, ptr, %"class.std::vector.38", %struct.HighsCallbackDataOut, %struct.HighsCallbackDataIn }
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::vector.38" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%struct.HighsCallbackDataOut = type { i32, double, i32, i32, i32, double, i64, i64, double, double, double, ptr, i32, i32, i32, ptr, ptr, ptr, ptr, ptr, i32 }
%struct.HighsCallbackDataIn = type { i32, ptr }
%class.HighsOptions = type <{ %struct.HighsOptionsStruct, %"class.std::vector.42", i32, [4 x i8] }>
%struct.HighsOptionsStruct = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i8, i8, i32, i32, double, i32, i32, i32, i8, i32, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, double, double, double, double, double, double, double, double, double, double, double, i8, i8, i8, i8, i32, double, i8, i8, %"class.std::__cxx11::basic_string", double, i32, i32, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, i8, i8, %"class.std::__cxx11::basic_string", i8, i32, %struct.HighsLogOptions }
%struct.HighsLogOptions = type <{ ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::function", ptr, i8, [7 x i8] }>
%"class.std::vector.42" = type { %"struct.std::_Vector_base.43" }
%"struct.std::_Vector_base.43" = type { %"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl" }
%"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl" = type { %"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<OptionRecord *, std::allocator<OptionRecord *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsInfo = type { ptr, %struct.HighsInfoStruct, %"class.std::vector.47" }
%struct.HighsInfoStruct = type { i8, i64, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, i32, double, double, i32, double, double, double, double, double }
%"class.std::vector.47" = type { %"struct.std::_Vector_base.48" }
%"struct.std::_Vector_base.48" = type { %"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl" }
%"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl" = type { %"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl_data" }
%"struct.std::_Vector_base<InfoRecord *, std::allocator<InfoRecord *>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsRanging = type { i8, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord, %struct.HighsRangingRecord }
%struct.HighsRangingRecord = type { %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13" }
%class.HighsIis = type { i8, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.52" }
%"class.std::vector.52" = type { %"struct.std::_Vector_base.53" }
%"struct.std::_Vector_base.53" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsIisInfo, std::allocator<HighsIisInfo>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.57" = type { %"struct.std::_Vector_base.58" }
%"struct.std::_Vector_base.58" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsObjectiveSolution, std::allocator<HighsObjectiveSolution>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%class.HEkk = type { ptr, ptr, ptr, %class.HighsSimplexAnalysis, %class.HighsLp, %"class.std::__cxx11::basic_string", %struct.HighsSimplexStatus, [3 x i8], %struct.HighsSimplexInfo, i32, %struct.SimplexBasis, %class.HighsHashTable, %class.HighsRandom, %"class.std::vector", %"class.std::vector", i8, %class.HighsSparseMatrix, %class.HighsSparseMatrix, %class.HSimplexNla, %struct.HotStart, double, double, double, i32, i32, i32, i32, i8, i8, i32, i32, i32, %"class.std::vector.13", %"class.std::vector", %struct.HighsRayRecord, %struct.HighsRayRecord, i32, i32, i32, double, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", double, double, double, i32, i32, i8, i32, i8, i8, i8, i8, double, %"class.std::vector.105", %"class.std::vector", %struct.HighsSimplexStats }
%class.HighsSimplexAnalysis = type { ptr, %"class.std::vector.62", %"class.std::vector.62", ptr, i32, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %struct.HighsLogOptions, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, double, double, i32, double, double, i32, double, double, double, double, double, double, double, double, double, double, i32, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, [4 x i8], %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, i32, i32, i32, i32, double, double, i32, i32, i32, i32, i32, double, double, i32, double, double, i32, i32, double, double, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.67", %"class.std::unique_ptr", i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, double, i32, i32, double, double, double, i8, double, double, i32, i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, i32, i32, [10 x %"struct.HighsSimplexAnalysis::AnIterOpRec"], i32, i32, [22 x %"struct.HighsSimplexAnalysis::AnIterTraceRec"], [12 x i32], [3 x i32], [4 x i8], %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution, %struct.HighsValueDistribution }
%"class.std::vector.62" = type { %"struct.std::_Vector_base.63" }
%"struct.std::_Vector_base.63" = type { %"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsTimerClock, std::allocator<HighsTimerClock>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.67" = type { %"struct.std::_Vector_base.68" }
%"struct.std::_Vector_base.68" = type { %"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl" }
%"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl" = type { %"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl_data" }
%"struct.std::_Vector_base<TranStageAnalysis, std::allocator<TranStageAnalysis>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unique_ptr" = type { %"struct.std::__uniq_ptr_data" }
%"struct.std::__uniq_ptr_data" = type { %"class.std::__uniq_ptr_impl" }
%"class.std::__uniq_ptr_impl" = type { %"class.std::tuple" }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Head_base.73" }
%"struct.std::_Head_base.73" = type { ptr }
%"struct.HighsSimplexAnalysis::AnIterOpRec" = type { double, double, i32, i32, i32, i32, double, i32, %"class.std::__cxx11::basic_string", %struct.HighsValueDistribution }
%"struct.HighsSimplexAnalysis::AnIterTraceRec" = type { double, double, [10 x double], double, i32, i32, i32 }
%struct.HighsValueDistribution = type <{ %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, i32, [4 x i8], double, double, %"class.std::vector", %"class.std::vector.13", i32, [4 x i8] }>
%struct.HighsSimplexStatus = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
%struct.HighsSimplexInfo = type <{ %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", i32, i32, i8, i8, [6 x i8], %struct.SimplexBasis, i32, i32, i32, [4 x i8], %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", i32, i32, i32, i32, double, double, double, double, i32, i32, double, double, double, double, double, double, double, double, double, double, i8, [7 x i8], double, double, i32, [4 x i8], double, double, double, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, [4 x i8], double, double, i32, [4 x i8], double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, i32, [4 x i8] }>
%struct.SimplexBasis = type { %"class.std::vector.13", %"class.std::vector.74", %"class.std::vector.74", i64, i32, i32, %"class.std::__cxx11::basic_string" }
%"class.std::vector.74" = type { %"struct.std::_Vector_base.75" }
%"struct.std::_Vector_base.75" = type { %"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl" }
%"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl" = type { %"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<signed char, std::allocator<signed char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsHashTable = type { %"class.std::unique_ptr.79", %"class.std::unique_ptr.87", i64, i64, i64 }
%"class.std::unique_ptr.79" = type { %"struct.std::__uniq_ptr_data.80" }
%"struct.std::__uniq_ptr_data.80" = type { %"class.std::__uniq_ptr_impl.81" }
%"class.std::__uniq_ptr_impl.81" = type { %"class.std::tuple.82" }
%"class.std::tuple.82" = type { %"struct.std::_Tuple_impl.83" }
%"struct.std::_Tuple_impl.83" = type { %"struct.std::_Head_base.86" }
%"struct.std::_Head_base.86" = type { ptr }
%"class.std::unique_ptr.87" = type { %"struct.std::__uniq_ptr_data.88" }
%"struct.std::__uniq_ptr_data.88" = type { %"class.std::__uniq_ptr_impl.89" }
%"class.std::__uniq_ptr_impl.89" = type { %"class.std::tuple.90" }
%"class.std::tuple.90" = type { %"struct.std::_Tuple_impl.91" }
%"struct.std::_Tuple_impl.91" = type { %"struct.std::_Head_base.94" }
%"struct.std::_Head_base.94" = type { ptr }
%class.HighsRandom = type { i64 }
%class.HSimplexNla = type { ptr, ptr, ptr, ptr, ptr, ptr, %class.HFactor, i8, double, %struct.ProductFormUpdate, %struct.SimplexIterate }
%class.HFactor = type { double, double, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %struct.RefactorInfo, i32, i32, i32, i32, i32, i32, i32, double, i8, ptr, ptr, ptr, ptr, double, double, i32, double, %"class.std::unique_ptr.95", %struct.HighsLogOptions, i8, i8, i32, i32, ptr, i32, %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.103", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %class.HVectorBase }
%struct.RefactorInfo = type { i8, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.74", double }
%"class.std::unique_ptr.95" = type { %"struct.std::__uniq_ptr_data.96" }
%"struct.std::__uniq_ptr_data.96" = type { %"class.std::__uniq_ptr_impl.97" }
%"class.std::__uniq_ptr_impl.97" = type { %"class.std::tuple.98" }
%"class.std::tuple.98" = type { %"struct.std::_Tuple_impl.99" }
%"struct.std::_Tuple_impl.99" = type { %"struct.std::_Head_base.102" }
%"struct.std::_Head_base.102" = type { ptr }
%"class.std::vector.103" = type { %"struct.std::_Vector_base.104" }
%"struct.std::_Vector_base.104" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl" = type { %"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<char, std::allocator<char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HVectorBase = type { i32, i32, %"class.std::vector.13", %"class.std::vector", double, %"class.std::vector.103", %"class.std::vector.13", ptr, i8, i32, %"class.std::vector.13", %"class.std::vector" }
%struct.ProductFormUpdate = type { i8, i32, i32, %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%struct.SimplexIterate = type { i8, %struct.SimplexBasis, %struct.InvertibleRepresentation, %"class.std::vector" }
%struct.InvertibleRepresentation = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector.13", %"class.std::vector" }
%struct.HotStart = type { i8, %struct.RefactorInfo, %"class.std::vector.74" }
%struct.HighsRayRecord = type { i32, i32, %"class.std::vector" }
%"class.std::vector.105" = type { %"struct.std::_Vector_base.106" }
%"struct.std::_Vector_base.106" = type { %"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsSimplexBadBasisChangeRecord, std::allocator<HighsSimplexBadBasisChangeRecord>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsSimplexStats = type { i8, i32, i32, i32, i32, double, double, double, double }
%struct.HighsPresolveLog = type { %"class.std::vector.110" }
%"class.std::vector.110" = type { %"struct.std::_Vector_base.111" }
%"struct.std::_Vector_base.111" = type { %"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsPresolveRuleLog, std::allocator<HighsPresolveRuleLog>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.PresolveComponent = type { %class.HighsComponent.base, %struct.PresolveComponentInfo, %struct.PresolveComponentData, ptr, ptr, i32, i32 }
%class.HighsComponent.base = type <{ ptr, %struct.HighsComponentInfo, %struct.HighsComponentData, %struct.HighsComponentOptions }>
%struct.HighsComponentInfo = type { i8 }
%struct.HighsComponentData = type { i8 }
%struct.HighsComponentOptions = type { i8 }
%struct.PresolveComponentInfo = type { ptr, %struct.HighsComponentInfo, i32, i32, i32, double, double }
%struct.PresolveComponentData = type { ptr, %struct.HighsComponentData, %class.HighsLp, %"class.presolve::HighsPostsolveStack", %struct.HighsSolution, %struct.HighsBasis, %struct.HighsPresolveLog }
%"class.presolve::HighsPostsolveStack" = type { i64, double, double, double, double, %class.HighsDataStack, %"class.std::vector.115", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.120", %"class.std::vector.125", %"class.std::vector.125", i32, i32 }
%class.HighsDataStack = type { %"class.std::vector.103", i64 }
%"class.std::vector.115" = type { %"struct.std::_Vector_base.116" }
%"struct.std::_Vector_base.116" = type { %"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>, std::allocator<std::pair<presolve::HighsPostsolveStack::ReductionType, unsigned long>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.120" = type { %"struct.std::_Vector_base.121" }
%"struct.std::_Vector_base.121" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl" = type { %"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" }
%"struct.std::_Vector_base<unsigned char, std::allocator<unsigned char>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.125" = type { %"struct.std::_Vector_base.126" }
%"struct.std::_Vector_base.126" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl" = type { %"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" }
%"struct.std::_Vector_base<presolve::HighsPostsolveStack::Nonzero, std::allocator<presolve::HighsPostsolveStack::Nonzero>>::_Vector_impl_data" = type { ptr, ptr, ptr }

@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [31 x i8], align 1
@__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE = external hidden unnamed_addr constant [163 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [53 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.178 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

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

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) #3 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 void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

declare noundef i32 @_ZN5Highs14changeColsCostEiiPKd(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef) #2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(20928) %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, i1 noundef zeroext %7, ptr noundef nonnull align 8 dereferenceable(24) %8) #3 align 2 personality ptr @__gxx_personality_v0 {
  %10 = alloca i32, align 4
  %11 = alloca ptr, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca ptr, align 8
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca i8, align 1
  %19 = alloca ptr, align 8
  %20 = alloca %"class.std::vector.13", align 8
  %21 = alloca %"class.std::vector.13", align 8
  %22 = alloca %"class.std::vector", align 8
  %23 = alloca %"class.std::vector", align 8
  %24 = alloca %"class.std::vector", align 8
  %25 = alloca %"class.std::vector", align 8
  %26 = alloca %"class.std::vector.13", align 8
  %27 = alloca %"class.std::vector.13", align 8
  %28 = alloca %"class.std::vector", align 8
  %29 = alloca %"class.std::vector.18", align 8
  %30 = alloca %"class.std::vector.18", align 8
  %31 = alloca %"class.std::vector", align 8
  %32 = alloca %"class.std::vector", align 8
  %33 = alloca %"class.std::vector", align 8
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i8, align 1
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %"class.std::vector", align 8
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca %"class.std::vector", align 8
  %44 = alloca %"class.std::vector", align 8
  %45 = alloca %"class.std::vector.23", align 8
  %46 = alloca %"class.std::vector", align 8
  %47 = alloca double, align 8
  %48 = alloca %"class.std::vector.23", align 8
  %49 = alloca i8, align 1
  %50 = alloca i8, align 1
  %51 = alloca i8, align 1
  %52 = alloca i8, align 1
  %53 = alloca i8, align 1
  %54 = alloca i8, align 1
  %55 = alloca i8, align 1
  %56 = alloca i8, align 1
  %57 = alloca i8, align 1
  %58 = alloca i8, align 1
  %59 = alloca i8, align 1
  %60 = alloca i32, align 4
  %61 = alloca %"class.std::vector", align 8
  %62 = alloca %"class.std::vector", align 8
  %63 = alloca i8, align 1
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca double, align 8
  %68 = alloca double, align 8
  %69 = alloca double, align 8
  %70 = alloca double, align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca double, align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca double, align 8
  %83 = alloca %"class.std::__cxx11::basic_string", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca double, align 8
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca double, align 8
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca %"class.std::vector.13", align 8
  %99 = alloca %"class.std::vector.13", align 8
  %100 = alloca %"class.std::vector", align 8
  %101 = alloca i32, align 4
  %102 = alloca i8, align 1
  %103 = alloca i32, align 4
  %104 = alloca double, align 8
  %105 = alloca double, align 8
  %106 = alloca double, align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::__cxx11::basic_string", align 8
  %109 = alloca %"class.std::__cxx11::basic_string", align 8
  %110 = alloca %"class.std::__cxx11::basic_string", align 8
  %111 = alloca %"class.std::__cxx11::basic_string", align 8
  %112 = alloca double, align 8
  %113 = alloca i32, align 4
  %114 = alloca %"class.std::__cxx11::basic_string", align 8
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::__cxx11::basic_string", align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::__cxx11::basic_string", align 8
  %119 = alloca double, align 8
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca double, align 8
  %124 = alloca i32, align 4
  %125 = alloca %class.anon, align 8
  %126 = alloca %"class.std::vector", align 8
  %127 = alloca %"class.std::vector.23", align 8
  %128 = alloca %"class.std::vector", align 8
  %129 = alloca %"class.std::vector.23", align 8
  %130 = alloca ptr, align 8
  %131 = alloca i32, align 4
  %132 = alloca i8, align 1
  %133 = alloca i32, align 4
  %134 = alloca i64, align 8
  %135 = alloca i32, align 4
  %136 = alloca i64, align 8
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca %"class.std::vector", align 8
  %140 = alloca %"class.std::vector.23", align 8
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i64, align 8
  %145 = alloca i32, align 4
  %146 = alloca i64, align 8
  %147 = alloca i32, align 4
  %148 = alloca %"class.std::vector", align 8
  %149 = alloca %"class.std::vector.23", align 8
  store ptr %0, ptr %11, align 8, !tbaa !5
  store double %1, ptr %12, align 8, !tbaa !9
  store double %2, ptr %13, align 8, !tbaa !9
  store double %3, ptr %14, align 8, !tbaa !9
  store ptr %4, ptr %15, align 8, !tbaa !5
  store ptr %5, ptr %16, align 8, !tbaa !5
  store ptr %6, ptr %17, align 8, !tbaa !5
  %150 = zext i1 %7 to i8
  store i8 %150, ptr %18, align 1, !tbaa !11
  store ptr %8, ptr %19, align 8, !tbaa !5
  %151 = load ptr, ptr %11, align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr %20) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %21) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %22) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %25) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %26) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %27) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %28) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %29) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %30) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %31) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %32) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %33) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #7
  %152 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 4
  %153 = getelementptr inbounds %class.HighsModel, ptr %152, i32 0, i32 0
  store ptr %153, ptr %34, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #7
  %154 = load ptr, ptr %34, align 8, !tbaa !5
  %155 = getelementptr inbounds %class.HighsLp, ptr %154, i32 0, i32 0
  %156 = load i32, ptr %155, align 8, !tbaa !13
  store i32 %156, ptr %35, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #7
  store i8 0, ptr %37, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #7
  %157 = load ptr, ptr %34, align 8, !tbaa !5
  %158 = getelementptr inbounds %class.HighsLp, ptr %157, i32 0, i32 0
  %159 = load i32, ptr %158, align 8, !tbaa !13
  store i32 %159, ptr %38, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #7
  %160 = load ptr, ptr %34, align 8, !tbaa !5
  %161 = getelementptr inbounds %class.HighsLp, ptr %160, i32 0, i32 1
  %162 = load i32, ptr %161, align 4, !tbaa !47
  store i32 %162, ptr %39, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #7
  %163 = load ptr, ptr %34, align 8, !tbaa !5
  %164 = getelementptr inbounds %class.HighsLp, ptr %163, i32 0, i32 2
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %164)
          to label %165 unwind label %189

165:                                              ; preds = %9
  call void @llvm.lifetime.start.p0(i64 24, ptr %43) #7
  %166 = load ptr, ptr %34, align 8, !tbaa !5
  %167 = getelementptr inbounds %class.HighsLp, ptr %166, i32 0, i32 3
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef nonnull align 8 dereferenceable(24) %167)
          to label %168 unwind label %193

168:                                              ; preds = %165
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #7
  %169 = load ptr, ptr %34, align 8, !tbaa !5
  %170 = getelementptr inbounds %class.HighsLp, ptr %169, i32 0, i32 4
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %44, ptr noundef nonnull align 8 dereferenceable(24) %170)
          to label %171 unwind label %197

171:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 24, ptr %45) #7
  %172 = load ptr, ptr %34, align 8, !tbaa !5
  %173 = getelementptr inbounds %class.HighsLp, ptr %172, i32 0, i32 16
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %45, ptr noundef nonnull align 8 dereferenceable(24) %173)
          to label %174 unwind label %201

174:                                              ; preds = %171
  call void @llvm.lifetime.start.p0(i64 24, ptr %46) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  %175 = load i32, ptr %38, align 4, !tbaa !46
  %176 = sext i32 %175 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %47) #7
  store double 0.000000e+00, ptr %47, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %46, i64 noundef %176, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %177 unwind label %205

177:                                              ; preds = %174
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  %178 = load ptr, ptr %34, align 8, !tbaa !5
  %179 = getelementptr inbounds %class.HighsLp, ptr %178, i32 0, i32 0
  %180 = load i32, ptr %179, align 8, !tbaa !13
  %181 = sub nsw i32 %180, 1
  %182 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  %183 = invoke noundef i32 @_ZN5Highs14changeColsCostEiiPKd(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef 0, i32 noundef %181, ptr noundef %182)
          to label %184 unwind label %209

184:                                              ; preds = %177
  store i32 %183, ptr %36, align 4, !tbaa !48
  %185 = load i32, ptr %36, align 4, !tbaa !48
  %186 = icmp eq i32 %185, 0
  br i1 %186, label %187, label %188

187:                                              ; preds = %184
  br label %214

188:                                              ; preds = %184
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2109, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

189:                                              ; preds = %9
  %190 = landingpad { ptr, i32 }
          cleanup
  %191 = extractvalue { ptr, i32 } %190, 0
  store ptr %191, ptr %41, align 8
  %192 = extractvalue { ptr, i32 } %190, 1
  store i32 %192, ptr %42, align 4
  br label %1437

193:                                              ; preds = %165
  %194 = landingpad { ptr, i32 }
          cleanup
  %195 = extractvalue { ptr, i32 } %194, 0
  store ptr %195, ptr %41, align 8
  %196 = extractvalue { ptr, i32 } %194, 1
  store i32 %196, ptr %42, align 4
  br label %1436

197:                                              ; preds = %168
  %198 = landingpad { ptr, i32 }
          cleanup
  %199 = extractvalue { ptr, i32 } %198, 0
  store ptr %199, ptr %41, align 8
  %200 = extractvalue { ptr, i32 } %198, 1
  store i32 %200, ptr %42, align 4
  br label %1435

201:                                              ; preds = %171
  %202 = landingpad { ptr, i32 }
          cleanup
  %203 = extractvalue { ptr, i32 } %202, 0
  store ptr %203, ptr %41, align 8
  %204 = extractvalue { ptr, i32 } %202, 1
  store i32 %204, ptr %42, align 4
  br label %1434

205:                                              ; preds = %174
  %206 = landingpad { ptr, i32 }
          cleanup
  %207 = extractvalue { ptr, i32 } %206, 0
  store ptr %207, ptr %41, align 8
  %208 = extractvalue { ptr, i32 } %206, 1
  store i32 %208, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #7
  br label %1433

209:                                              ; preds = %177
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %41, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %42, align 4
  br label %1433

213:                                              ; No predecessors!
  br label %214

214:                                              ; preds = %213, %187
  %215 = load i8, ptr %18, align 1, !tbaa !11, !range !50, !noundef !51
  %216 = trunc i8 %215 to i1
  br i1 %216, label %217, label %248

217:                                              ; preds = %214
  %218 = load ptr, ptr %34, align 8, !tbaa !5
  %219 = getelementptr inbounds %class.HighsLp, ptr %218, i32 0, i32 16
  %220 = call noundef i64 @_ZNKSt6vectorI12HighsVarTypeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %219) #7
  %221 = icmp ne i64 %220, 0
  br i1 %221, label %222, label %248

222:                                              ; preds = %217
  call void @llvm.lifetime.start.p0(i64 24, ptr %48) #7
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  %223 = load i32, ptr %38, align 4, !tbaa !46
  %224 = sext i32 %223 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #7
  store i8 0, ptr %49, align 1, !tbaa !52
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %48, i64 noundef %224, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %225 unwind label %237

225:                                              ; preds = %222
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  %226 = load ptr, ptr %34, align 8, !tbaa !5
  %227 = getelementptr inbounds %class.HighsLp, ptr %226, i32 0, i32 0
  %228 = load i32, ptr %227, align 8, !tbaa !13
  %229 = sub nsw i32 %228, 1
  %230 = call noundef ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  %231 = invoke noundef i32 @_ZN5Highs21changeColsIntegralityEiiPK12HighsVarType(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef 0, i32 noundef %229, ptr noundef %230)
          to label %232 unwind label %241

232:                                              ; preds = %225
  store i32 %231, ptr %36, align 4, !tbaa !48
  %233 = load i32, ptr %36, align 4, !tbaa !48
  %234 = icmp eq i32 %233, 0
  br i1 %234, label %235, label %236

235:                                              ; preds = %232
  br label %246

236:                                              ; preds = %232
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2117, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

237:                                              ; preds = %222
  %238 = landingpad { ptr, i32 }
          cleanup
  %239 = extractvalue { ptr, i32 } %238, 0
  store ptr %239, ptr %41, align 8
  %240 = extractvalue { ptr, i32 } %238, 1
  store i32 %240, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #7
  br label %247

241:                                              ; preds = %225
  %242 = landingpad { ptr, i32 }
          cleanup
  %243 = extractvalue { ptr, i32 } %242, 0
  store ptr %243, ptr %41, align 8
  %244 = extractvalue { ptr, i32 } %242, 1
  store i32 %244, ptr %42, align 4
  br label %247

245:                                              ; No predecessors!
  br label %246

246:                                              ; preds = %245, %235
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #7
  br label %248

247:                                              ; preds = %241, %237
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %48) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %48) #7
  br label %1433

248:                                              ; preds = %246, %217, %214
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #7
  %249 = load ptr, ptr %15, align 8, !tbaa !5
  %250 = icmp ne ptr %249, null
  %251 = zext i1 %250 to i8
  store i8 %251, ptr %50, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #7
  %252 = load double, ptr %12, align 8, !tbaa !9
  %253 = fcmp oge double %252, 0.000000e+00
  %254 = zext i1 %253 to i8
  store i8 %254, ptr %51, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %52) #7
  %255 = load i8, ptr %50, align 1, !tbaa !11, !range !50, !noundef !51
  %256 = trunc i8 %255 to i1
  br i1 %256, label %260, label %257

257:                                              ; preds = %248
  %258 = load i8, ptr %51, align 1, !tbaa !11, !range !50, !noundef !51
  %259 = trunc i8 %258 to i1
  br label %260

260:                                              ; preds = %257, %248
  %261 = phi i1 [ true, %248 ], [ %259, %257 ]
  %262 = zext i1 %261 to i8
  store i8 %262, ptr %52, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #7
  %263 = load ptr, ptr %16, align 8, !tbaa !5
  %264 = icmp ne ptr %263, null
  %265 = zext i1 %264 to i8
  store i8 %265, ptr %53, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #7
  %266 = load double, ptr %13, align 8, !tbaa !9
  %267 = fcmp oge double %266, 0.000000e+00
  %268 = zext i1 %267 to i8
  store i8 %268, ptr %54, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #7
  %269 = load i8, ptr %53, align 1, !tbaa !11, !range !50, !noundef !51
  %270 = trunc i8 %269 to i1
  br i1 %270, label %274, label %271

271:                                              ; preds = %260
  %272 = load i8, ptr %54, align 1, !tbaa !11, !range !50, !noundef !51
  %273 = trunc i8 %272 to i1
  br label %274

274:                                              ; preds = %271, %260
  %275 = phi i1 [ true, %260 ], [ %273, %271 ]
  %276 = zext i1 %275 to i8
  store i8 %276, ptr %55, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #7
  %277 = load i8, ptr %52, align 1, !tbaa !11, !range !50, !noundef !51
  %278 = trunc i8 %277 to i1
  br i1 %278, label %282, label %279

279:                                              ; preds = %274
  %280 = load i8, ptr %55, align 1, !tbaa !11, !range !50, !noundef !51
  %281 = trunc i8 %280 to i1
  br label %282

282:                                              ; preds = %279, %274
  %283 = phi i1 [ true, %274 ], [ %281, %279 ]
  %284 = zext i1 %283 to i8
  store i8 %284, ptr %56, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %57) #7
  %285 = load ptr, ptr %17, align 8, !tbaa !5
  %286 = icmp ne ptr %285, null
  %287 = zext i1 %286 to i8
  store i8 %287, ptr %57, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #7
  %288 = load double, ptr %14, align 8, !tbaa !9
  %289 = fcmp oge double %288, 0.000000e+00
  %290 = zext i1 %289 to i8
  store i8 %290, ptr %58, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #7
  %291 = load i8, ptr %57, align 1, !tbaa !11, !range !50, !noundef !51
  %292 = trunc i8 %291 to i1
  br i1 %292, label %296, label %293

293:                                              ; preds = %282
  %294 = load i8, ptr %58, align 1, !tbaa !11, !range !50, !noundef !51
  %295 = trunc i8 %294 to i1
  br label %296

296:                                              ; preds = %293, %282
  %297 = phi i1 [ true, %282 ], [ %295, %293 ]
  %298 = zext i1 %297 to i8
  store i8 %298, ptr %59, align 1, !tbaa !11
  %299 = load i8, ptr %56, align 1, !tbaa !11, !range !50, !noundef !51
  %300 = trunc i8 %299 to i1
  br i1 %300, label %304, label %301

301:                                              ; preds = %296
  %302 = load i8, ptr %59, align 1, !tbaa !11, !range !50, !noundef !51
  %303 = trunc i8 %302 to i1
  br label %304

304:                                              ; preds = %301, %296
  %305 = phi i1 [ true, %296 ], [ %303, %301 ]
  br i1 %305, label %306, label %307

306:                                              ; preds = %304
  br label %309

307:                                              ; preds = %304
  call void @__assert_fail(ptr noundef @.str.168, ptr noundef @.str.78, i32 noundef 2134, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

308:                                              ; No predecessors!
  br label %309

309:                                              ; preds = %308, %306
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #7
  %310 = load ptr, ptr %34, align 8, !tbaa !5
  %311 = getelementptr inbounds %class.HighsLp, ptr %310, i32 0, i32 0
  %312 = load i32, ptr %311, align 8, !tbaa !13
  store i32 %312, ptr %60, align 4, !tbaa !46
  %313 = load i8, ptr %56, align 1, !tbaa !11, !range !50, !noundef !51
  %314 = trunc i8 %313 to i1
  br i1 %314, label %315, label %789

315:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 24, ptr %61) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %62) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #7
  %316 = load ptr, ptr %34, align 8, !tbaa !5
  %317 = getelementptr inbounds %class.HighsLp, ptr %316, i32 0, i32 14
  %318 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %317) #7
  %319 = icmp ugt i64 %318, 0
  %320 = zext i1 %319 to i8
  store i8 %320, ptr %63, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #7
  store i32 0, ptr %64, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 4 dereferenceable(4) %64)
          to label %321 unwind label %329

321:                                              ; preds = %315
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #7
  store i32 0, ptr %65, align 4, !tbaa !46
  br label %322

322:                                              ; preds = %600, %321
  %323 = load i32, ptr %65, align 4, !tbaa !46
  %324 = load ptr, ptr %34, align 8, !tbaa !5
  %325 = getelementptr inbounds %class.HighsLp, ptr %324, i32 0, i32 0
  %326 = load i32, ptr %325, align 8, !tbaa !13
  %327 = icmp slt i32 %323, %326
  br i1 %327, label %333, label %328

328:                                              ; preds = %322
  store i32 2, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  br label %605

329:                                              ; preds = %315
  %330 = landingpad { ptr, i32 }
          cleanup
  %331 = extractvalue { ptr, i32 } %330, 0
  store ptr %331, ptr %41, align 8
  %332 = extractvalue { ptr, i32 } %330, 1
  store i32 %332, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #7
  br label %788

333:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #7
  %334 = load ptr, ptr %34, align 8, !tbaa !5
  %335 = getelementptr inbounds %class.HighsLp, ptr %334, i32 0, i32 3
  %336 = load i32, ptr %65, align 4, !tbaa !46
  %337 = sext i32 %336 to i64
  %338 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %335, i64 noundef %337) #7
  %339 = load double, ptr %338, align 8, !tbaa !9
  store double %339, ptr %67, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #7
  %340 = load ptr, ptr %34, align 8, !tbaa !5
  %341 = getelementptr inbounds %class.HighsLp, ptr %340, i32 0, i32 4
  %342 = load i32, ptr %65, align 4, !tbaa !46
  %343 = sext i32 %342 to i64
  %344 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %341, i64 noundef %343) #7
  %345 = load double, ptr %344, align 8, !tbaa !9
  store double %345, ptr %68, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %61, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %346 unwind label %354

346:                                              ; preds = %333
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %347 unwind label %354

347:                                              ; preds = %346
  %348 = load double, ptr %67, align 8, !tbaa !9
  %349 = fcmp ole double %348, 0xFFF0000000000000
  br i1 %349, label %350, label %358

350:                                              ; preds = %347
  %351 = load double, ptr %68, align 8, !tbaa !9
  %352 = fcmp oge double %351, 0x7FF0000000000000
  br i1 %352, label %353, label %358

353:                                              ; preds = %350
  store i32 4, ptr %66, align 4
  br label %597

354:                                              ; preds = %346, %333
  %355 = landingpad { ptr, i32 }
          cleanup
  %356 = extractvalue { ptr, i32 } %355, 0
  store ptr %356, ptr %41, align 8
  %357 = extractvalue { ptr, i32 } %355, 1
  store i32 %357, ptr %42, align 4
  br label %604

358:                                              ; preds = %350, %347
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #7
  %359 = load i8, ptr %50, align 1, !tbaa !11, !range !50, !noundef !51
  %360 = trunc i8 %359 to i1
  br i1 %360, label %361, label %367

361:                                              ; preds = %358
  %362 = load ptr, ptr %15, align 8, !tbaa !5
  %363 = load i32, ptr %65, align 4, !tbaa !46
  %364 = sext i32 %363 to i64
  %365 = getelementptr inbounds double, ptr %362, i64 %364
  %366 = load double, ptr %365, align 8, !tbaa !9
  br label %369

367:                                              ; preds = %358
  %368 = load double, ptr %12, align 8, !tbaa !9
  br label %369

369:                                              ; preds = %367, %361
  %370 = phi double [ %366, %361 ], [ %368, %367 ]
  store double %370, ptr %69, align 8, !tbaa !9
  %371 = load double, ptr %69, align 8, !tbaa !9
  %372 = fcmp olt double %371, 0.000000e+00
  br i1 %372, label %373, label %377

373:                                              ; preds = %369
  %374 = load double, ptr %68, align 8, !tbaa !9
  %375 = fcmp oge double %374, 0x7FF0000000000000
  br i1 %375, label %376, label %377

376:                                              ; preds = %373
  store i32 4, ptr %66, align 4
  br label %596

377:                                              ; preds = %373, %369
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #7
  %378 = load i8, ptr %53, align 1, !tbaa !11, !range !50, !noundef !51
  %379 = trunc i8 %378 to i1
  br i1 %379, label %380, label %386

380:                                              ; preds = %377
  %381 = load ptr, ptr %16, align 8, !tbaa !5
  %382 = load i32, ptr %65, align 4, !tbaa !46
  %383 = sext i32 %382 to i64
  %384 = getelementptr inbounds double, ptr %381, i64 %383
  %385 = load double, ptr %384, align 8, !tbaa !9
  br label %388

386:                                              ; preds = %377
  %387 = load double, ptr %13, align 8, !tbaa !9
  br label %388

388:                                              ; preds = %386, %380
  %389 = phi double [ %385, %380 ], [ %387, %386 ]
  store double %389, ptr %70, align 8, !tbaa !9
  %390 = load double, ptr %67, align 8, !tbaa !9
  %391 = fcmp ole double %390, 0xFFF0000000000000
  br i1 %391, label %392, label %396

392:                                              ; preds = %388
  %393 = load double, ptr %70, align 8, !tbaa !9
  %394 = fcmp olt double %393, 0.000000e+00
  br i1 %394, label %395, label %396

395:                                              ; preds = %392
  store i32 4, ptr %66, align 4
  br label %595

396:                                              ; preds = %392, %388
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %397 unwind label %413

397:                                              ; preds = %396
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %25, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %398 unwind label %413

398:                                              ; preds = %397
  %399 = load i8, ptr %63, align 1, !tbaa !11, !range !50, !noundef !51
  %400 = trunc i8 %399 to i1
  br i1 %400, label %401, label %441

401:                                              ; preds = %398
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #7
  %402 = load i32, ptr %65, align 4, !tbaa !46
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, i32 noundef %402) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %403 unwind label %417

403:                                              ; preds = %401
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(32) %74, ptr noundef @.str.170)
          to label %404 unwind label %421

404:                                              ; preds = %403
  %405 = load ptr, ptr %34, align 8, !tbaa !5
  %406 = getelementptr inbounds %class.HighsLp, ptr %405, i32 0, i32 14
  %407 = load i32, ptr %65, align 4, !tbaa !46
  %408 = sext i32 %407 to i64
  %409 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %406, i64 noundef %408) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull align 8 dereferenceable(32) %409)
          to label %410 unwind label %425

410:                                              ; preds = %404
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef @.str.171)
          to label %411 unwind label %429

411:                                              ; preds = %410
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %30, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %412 unwind label %433

412:                                              ; preds = %411
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  br label %441

413:                                              ; preds = %559, %554, %553, %513, %499, %494, %493, %449, %441, %397, %396
  %414 = landingpad { ptr, i32 }
          cleanup
  %415 = extractvalue { ptr, i32 } %414, 0
  store ptr %415, ptr %41, align 8
  %416 = extractvalue { ptr, i32 } %414, 1
  store i32 %416, ptr %42, align 4
  br label %603

417:                                              ; preds = %401
  %418 = landingpad { ptr, i32 }
          cleanup
  %419 = extractvalue { ptr, i32 } %418, 0
  store ptr %419, ptr %41, align 8
  %420 = extractvalue { ptr, i32 } %418, 1
  store i32 %420, ptr %42, align 4
  br label %440

421:                                              ; preds = %403
  %422 = landingpad { ptr, i32 }
          cleanup
  %423 = extractvalue { ptr, i32 } %422, 0
  store ptr %423, ptr %41, align 8
  %424 = extractvalue { ptr, i32 } %422, 1
  store i32 %424, ptr %42, align 4
  br label %439

425:                                              ; preds = %404
  %426 = landingpad { ptr, i32 }
          cleanup
  %427 = extractvalue { ptr, i32 } %426, 0
  store ptr %427, ptr %41, align 8
  %428 = extractvalue { ptr, i32 } %426, 1
  store i32 %428, ptr %42, align 4
  br label %438

429:                                              ; preds = %410
  %430 = landingpad { ptr, i32 }
          cleanup
  %431 = extractvalue { ptr, i32 } %430, 0
  store ptr %431, ptr %41, align 8
  %432 = extractvalue { ptr, i32 } %430, 1
  store i32 %432, ptr %42, align 4
  br label %437

433:                                              ; preds = %411
  %434 = landingpad { ptr, i32 }
          cleanup
  %435 = extractvalue { ptr, i32 } %434, 0
  store ptr %435, ptr %41, align 8
  %436 = extractvalue { ptr, i32 } %434, 1
  store i32 %436, ptr %42, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #7
  br label %437

437:                                              ; preds = %433, %429
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #7
  br label %438

438:                                              ; preds = %437, %425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #7
  br label %439

439:                                              ; preds = %438, %421
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #7
  br label %440

440:                                              ; preds = %439, %417
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #7
  br label %603

441:                                              ; preds = %412, %398
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %442 unwind label %413

442:                                              ; preds = %441
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #7
  store double 1.000000e+00, ptr %76, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(8) %76)
          to label %443 unwind label %465

443:                                              ; preds = %442
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  %444 = load double, ptr %67, align 8, !tbaa !9
  %445 = fcmp ogt double %444, 0xFFF0000000000000
  br i1 %445, label %446, label %507

446:                                              ; preds = %443
  %447 = load double, ptr %69, align 8, !tbaa !9
  %448 = fcmp oge double %447, 0.000000e+00
  br i1 %448, label %449, label %507

449:                                              ; preds = %446
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %450 unwind label %413

450:                                              ; preds = %449
  %451 = load i8, ptr %63, align 1, !tbaa !11, !range !50, !noundef !51
  %452 = trunc i8 %451 to i1
  br i1 %452, label %453, label %493

453:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #7
  %454 = load i32, ptr %65, align 4, !tbaa !46
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, i32 noundef %454) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef @.str.172, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %455 unwind label %469

455:                                              ; preds = %453
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef @.str.170)
          to label %456 unwind label %473

456:                                              ; preds = %455
  %457 = load ptr, ptr %34, align 8, !tbaa !5
  %458 = getelementptr inbounds %class.HighsLp, ptr %457, i32 0, i32 14
  %459 = load i32, ptr %65, align 4, !tbaa !46
  %460 = sext i32 %459 to i64
  %461 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %458, i64 noundef %460) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %461)
          to label %462 unwind label %477

462:                                              ; preds = %456
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef @.str.173)
          to label %463 unwind label %481

463:                                              ; preds = %462
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %464 unwind label %485

464:                                              ; preds = %463
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  br label %493

465:                                              ; preds = %442
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %41, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #7
  br label %603

469:                                              ; preds = %453
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %41, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %42, align 4
  br label %492

473:                                              ; preds = %455
  %474 = landingpad { ptr, i32 }
          cleanup
  %475 = extractvalue { ptr, i32 } %474, 0
  store ptr %475, ptr %41, align 8
  %476 = extractvalue { ptr, i32 } %474, 1
  store i32 %476, ptr %42, align 4
  br label %491

477:                                              ; preds = %456
  %478 = landingpad { ptr, i32 }
          cleanup
  %479 = extractvalue { ptr, i32 } %478, 0
  store ptr %479, ptr %41, align 8
  %480 = extractvalue { ptr, i32 } %478, 1
  store i32 %480, ptr %42, align 4
  br label %490

481:                                              ; preds = %462
  %482 = landingpad { ptr, i32 }
          cleanup
  %483 = extractvalue { ptr, i32 } %482, 0
  store ptr %483, ptr %41, align 8
  %484 = extractvalue { ptr, i32 } %482, 1
  store i32 %484, ptr %42, align 4
  br label %489

485:                                              ; preds = %463
  %486 = landingpad { ptr, i32 }
          cleanup
  %487 = extractvalue { ptr, i32 } %486, 0
  store ptr %487, ptr %41, align 8
  %488 = extractvalue { ptr, i32 } %486, 1
  store i32 %488, ptr %42, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #7
  br label %489

489:                                              ; preds = %485, %481
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #7
  br label %490

490:                                              ; preds = %489, %477
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #7
  br label %491

491:                                              ; preds = %490, %473
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  br label %492

492:                                              ; preds = %491, %469
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #7
  br label %603

493:                                              ; preds = %464, %450
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %494 unwind label %413

494:                                              ; preds = %493
  %495 = load i32, ptr %65, align 4, !tbaa !46
  %496 = sext i32 %495 to i64
  %497 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %61, i64 noundef %496) #7
  store double 0xFFF0000000000000, ptr %497, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %498 unwind label %413

498:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #7
  store double 1.000000e+00, ptr %82, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %499 unwind label %503

499:                                              ; preds = %498
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %500 unwind label %413

500:                                              ; preds = %499
  %501 = load i32, ptr %35, align 4, !tbaa !46
  %502 = add nsw i32 %501, 1
  store i32 %502, ptr %35, align 4, !tbaa !46
  br label %507

503:                                              ; preds = %498
  %504 = landingpad { ptr, i32 }
          cleanup
  %505 = extractvalue { ptr, i32 } %504, 0
  store ptr %505, ptr %41, align 8
  %506 = extractvalue { ptr, i32 } %504, 1
  store i32 %506, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #7
  br label %603

507:                                              ; preds = %500, %446, %443
  %508 = load double, ptr %68, align 8, !tbaa !9
  %509 = fcmp olt double %508, 0x7FF0000000000000
  br i1 %509, label %510, label %567

510:                                              ; preds = %507
  %511 = load double, ptr %70, align 8, !tbaa !9
  %512 = fcmp oge double %511, 0.000000e+00
  br i1 %512, label %513, label %567

513:                                              ; preds = %510
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %514 unwind label %413

514:                                              ; preds = %513
  %515 = load i8, ptr %63, align 1, !tbaa !11, !range !50, !noundef !51
  %516 = trunc i8 %515 to i1
  br i1 %516, label %517, label %553

517:                                              ; preds = %514
  call void @llvm.lifetime.start.p0(i64 32, ptr %83) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #7
  %518 = load i32, ptr %65, align 4, !tbaa !46
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, i32 noundef %518) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef @.str.172, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %519 unwind label %529

519:                                              ; preds = %517
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef @.str.170)
          to label %520 unwind label %533

520:                                              ; preds = %519
  %521 = load ptr, ptr %34, align 8, !tbaa !5
  %522 = getelementptr inbounds %class.HighsLp, ptr %521, i32 0, i32 14
  %523 = load i32, ptr %65, align 4, !tbaa !46
  %524 = sext i32 %523 to i64
  %525 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %522, i64 noundef %524) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull align 8 dereferenceable(32) %85, ptr noundef nonnull align 8 dereferenceable(32) %525)
          to label %526 unwind label %537

526:                                              ; preds = %520
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.174)
          to label %527 unwind label %541

527:                                              ; preds = %526
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %528 unwind label %545

528:                                              ; preds = %527
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #7
  br label %553

529:                                              ; preds = %517
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %41, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %42, align 4
  br label %552

533:                                              ; preds = %519
  %534 = landingpad { ptr, i32 }
          cleanup
  %535 = extractvalue { ptr, i32 } %534, 0
  store ptr %535, ptr %41, align 8
  %536 = extractvalue { ptr, i32 } %534, 1
  store i32 %536, ptr %42, align 4
  br label %551

537:                                              ; preds = %520
  %538 = landingpad { ptr, i32 }
          cleanup
  %539 = extractvalue { ptr, i32 } %538, 0
  store ptr %539, ptr %41, align 8
  %540 = extractvalue { ptr, i32 } %538, 1
  store i32 %540, ptr %42, align 4
  br label %550

541:                                              ; preds = %526
  %542 = landingpad { ptr, i32 }
          cleanup
  %543 = extractvalue { ptr, i32 } %542, 0
  store ptr %543, ptr %41, align 8
  %544 = extractvalue { ptr, i32 } %542, 1
  store i32 %544, ptr %42, align 4
  br label %549

545:                                              ; preds = %527
  %546 = landingpad { ptr, i32 }
          cleanup
  %547 = extractvalue { ptr, i32 } %546, 0
  store ptr %547, ptr %41, align 8
  %548 = extractvalue { ptr, i32 } %546, 1
  store i32 %548, ptr %42, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #7
  br label %549

549:                                              ; preds = %545, %541
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #7
  br label %550

550:                                              ; preds = %549, %537
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #7
  br label %551

551:                                              ; preds = %550, %533
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #7
  br label %552

552:                                              ; preds = %551, %529
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %83) #7
  br label %603

553:                                              ; preds = %528, %514
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %23, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %554 unwind label %413

554:                                              ; preds = %553
  %555 = load i32, ptr %65, align 4, !tbaa !46
  %556 = sext i32 %555 to i64
  %557 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %556) #7
  store double 0x7FF0000000000000, ptr %557, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 4 dereferenceable(4) %35)
          to label %558 unwind label %413

558:                                              ; preds = %554
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #7
  store double -1.000000e+00, ptr %88, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(8) %88)
          to label %559 unwind label %563

559:                                              ; preds = %558
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(8) %70)
          to label %560 unwind label %413

560:                                              ; preds = %559
  %561 = load i32, ptr %35, align 4, !tbaa !46
  %562 = add nsw i32 %561, 1
  store i32 %562, ptr %35, align 4, !tbaa !46
  br label %567

563:                                              ; preds = %558
  %564 = landingpad { ptr, i32 }
          cleanup
  %565 = extractvalue { ptr, i32 } %564, 0
  store ptr %565, ptr %41, align 8
  %566 = extractvalue { ptr, i32 } %564, 1
  store i32 %566, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #7
  br label %603

567:                                              ; preds = %560, %510, %507
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #7
  %568 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  %569 = trunc i64 %568 to i32
  store i32 %569, ptr %89, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 4 dereferenceable(4) %89)
          to label %570 unwind label %589

570:                                              ; preds = %567
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #7
  %571 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  %572 = sub i64 %571, 1
  %573 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %572) #7
  %574 = load i32, ptr %573, align 4, !tbaa !46
  %575 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  %576 = sub i64 %575, 2
  %577 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %576) #7
  %578 = load i32, ptr %577, align 4, !tbaa !46
  %579 = sub nsw i32 %574, %578
  store i32 %579, ptr %90, align 4, !tbaa !46
  %580 = load i32, ptr %90, align 4, !tbaa !46
  %581 = icmp eq i32 %580, 2
  br i1 %581, label %585, label %582

582:                                              ; preds = %570
  %583 = load i32, ptr %90, align 4, !tbaa !46
  %584 = icmp eq i32 %583, 3
  br label %585

585:                                              ; preds = %582, %570
  %586 = phi i1 [ true, %570 ], [ %584, %582 ]
  br i1 %586, label %587, label %588

587:                                              ; preds = %585
  br label %594

588:                                              ; preds = %585
  call void @__assert_fail(ptr noundef @.str.175, ptr noundef @.str.78, i32 noundef 2211, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

589:                                              ; preds = %567
  %590 = landingpad { ptr, i32 }
          cleanup
  %591 = extractvalue { ptr, i32 } %590, 0
  store ptr %591, ptr %41, align 8
  %592 = extractvalue { ptr, i32 } %590, 1
  store i32 %592, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #7
  br label %603

593:                                              ; No predecessors!
  br label %594

594:                                              ; preds = %593, %587
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #7
  store i32 0, ptr %66, align 4
  br label %595

595:                                              ; preds = %594, %395
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  br label %596

596:                                              ; preds = %595, %376
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  br label %597

597:                                              ; preds = %596, %353
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  %598 = load i32, ptr %66, align 4
  switch i32 %598, label %1443 [
    i32 0, label %599
    i32 4, label %600
  ]

599:                                              ; preds = %597
  br label %600

600:                                              ; preds = %599, %597
  %601 = load i32, ptr %65, align 4, !tbaa !46
  %602 = add nsw i32 %601, 1
  store i32 %602, ptr %65, align 4, !tbaa !46
  br label %322, !llvm.loop !54

603:                                              ; preds = %589, %563, %552, %503, %492, %465, %440, %413
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #7
  br label %604

604:                                              ; preds = %603, %354
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #7
  br label %788

605:                                              ; preds = %328
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #7
  %606 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  %607 = trunc i64 %606 to i32
  store i32 %607, ptr %91, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #7
  %608 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  %609 = sub i64 %608, 1
  %610 = trunc i64 %609 to i32
  store i32 %610, ptr %92, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #7
  %611 = load i32, ptr %92, align 4, !tbaa !46
  %612 = sext i32 %611 to i64
  %613 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %26, i64 noundef %612) #7
  %614 = load i32, ptr %613, align 4, !tbaa !46
  store i32 %614, ptr %93, align 4, !tbaa !46
  %615 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  %616 = load ptr, ptr %34, align 8, !tbaa !5
  %617 = getelementptr inbounds %class.HighsLp, ptr %616, i32 0, i32 0
  %618 = load i32, ptr %617, align 8, !tbaa !13
  %619 = sext i32 %618 to i64
  %620 = icmp eq i64 %615, %619
  br i1 %620, label %621, label %622

621:                                              ; preds = %605
  br label %624

622:                                              ; preds = %605
  call void @__assert_fail(ptr noundef @.str.176, ptr noundef @.str.78, i32 noundef 2222, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

623:                                              ; No predecessors!
  br label %624

624:                                              ; preds = %623, %621
  %625 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  %626 = load ptr, ptr %34, align 8, !tbaa !5
  %627 = getelementptr inbounds %class.HighsLp, ptr %626, i32 0, i32 0
  %628 = load i32, ptr %627, align 8, !tbaa !13
  %629 = sext i32 %628 to i64
  %630 = icmp eq i64 %625, %629
  br i1 %630, label %631, label %632

631:                                              ; preds = %624
  br label %634

632:                                              ; preds = %624
  call void @__assert_fail(ptr noundef @.str.177, ptr noundef @.str.78, i32 noundef 2223, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

633:                                              ; No predecessors!
  br label %634

634:                                              ; preds = %633, %631
  %635 = load ptr, ptr %34, align 8, !tbaa !5
  %636 = getelementptr inbounds %class.HighsLp, ptr %635, i32 0, i32 0
  %637 = load i32, ptr %636, align 8, !tbaa !13
  %638 = sub nsw i32 %637, 1
  %639 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  %640 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  %641 = invoke noundef i32 @_ZN5Highs16changeColsBoundsEiiPKdS1_(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef 0, i32 noundef %638, ptr noundef %639, ptr noundef %640)
          to label %642 unwind label %647

642:                                              ; preds = %634
  store i32 %641, ptr %36, align 4, !tbaa !48
  %643 = load i32, ptr %36, align 4, !tbaa !48
  %644 = icmp eq i32 %643, 0
  br i1 %644, label %645, label %646

645:                                              ; preds = %642
  br label %652

646:                                              ; preds = %642
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2226, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

647:                                              ; preds = %699, %658, %655, %634
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %41, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %42, align 4
  br label %787

651:                                              ; No predecessors!
  br label %652

652:                                              ; preds = %651, %645
  %653 = load i32, ptr %91, align 4, !tbaa !46
  %654 = sext i32 %653 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #7
  store double 0.000000e+00, ptr %94, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %654, ptr noundef nonnull align 8 dereferenceable(8) %94)
          to label %655 unwind label %669

655:                                              ; preds = %652
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  %656 = load i32, ptr %91, align 4, !tbaa !46
  %657 = sext i32 %656 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %657, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %658 unwind label %647

658:                                              ; preds = %655
  %659 = load i32, ptr %91, align 4, !tbaa !46
  %660 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %661 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  %662 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  %663 = invoke noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %659, ptr noundef %660, ptr noundef %661, ptr noundef %662, i32 noundef 0, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %664 unwind label %647

664:                                              ; preds = %658
  store i32 %663, ptr %36, align 4, !tbaa !48
  %665 = load i32, ptr %36, align 4, !tbaa !48
  %666 = icmp eq i32 %665, 0
  br i1 %666, label %667, label %668

667:                                              ; preds = %664
  br label %674

668:                                              ; preds = %664
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2232, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

669:                                              ; preds = %652
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %41, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #7
  br label %787

673:                                              ; No predecessors!
  br label %674

674:                                              ; preds = %673, %667
  %675 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  %676 = load i32, ptr %92, align 4, !tbaa !46
  %677 = add nsw i32 %676, 1
  %678 = sext i32 %677 to i64
  %679 = icmp eq i64 %675, %678
  br i1 %679, label %680, label %681

680:                                              ; preds = %674
  br label %683

681:                                              ; preds = %674
  call void @__assert_fail(ptr noundef @.str.178, ptr noundef @.str.78, i32 noundef 2234, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

682:                                              ; No predecessors!
  br label %683

683:                                              ; preds = %682, %680
  %684 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  %685 = load i32, ptr %93, align 4, !tbaa !46
  %686 = sext i32 %685 to i64
  %687 = icmp eq i64 %684, %686
  br i1 %687, label %688, label %689

688:                                              ; preds = %683
  br label %691

689:                                              ; preds = %683
  call void @__assert_fail(ptr noundef @.str.179, ptr noundef @.str.78, i32 noundef 2235, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

690:                                              ; No predecessors!
  br label %691

691:                                              ; preds = %690, %688
  %692 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  %693 = load i32, ptr %93, align 4, !tbaa !46
  %694 = sext i32 %693 to i64
  %695 = icmp eq i64 %692, %694
  br i1 %695, label %696, label %697

696:                                              ; preds = %691
  br label %699

697:                                              ; preds = %691
  call void @__assert_fail(ptr noundef @.str.180, ptr noundef @.str.78, i32 noundef 2236, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

698:                                              ; No predecessors!
  br label %699

699:                                              ; preds = %698, %696
  %700 = load i32, ptr %92, align 4, !tbaa !46
  %701 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  %702 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  %703 = load i32, ptr %93, align 4, !tbaa !46
  %704 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  %705 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  %706 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  %707 = invoke noundef i32 @_ZN5Highs7addRowsEiPKdS1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %700, ptr noundef %701, ptr noundef %702, i32 noundef %703, ptr noundef %704, ptr noundef %705, ptr noundef %706)
          to label %708 unwind label %647

708:                                              ; preds = %699
  store i32 %707, ptr %36, align 4, !tbaa !48
  %709 = load i32, ptr %36, align 4, !tbaa !48
  %710 = icmp eq i32 %709, 0
  br i1 %710, label %711, label %712

711:                                              ; preds = %708
  br label %714

712:                                              ; preds = %708
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2240, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

713:                                              ; No predecessors!
  br label %714

714:                                              ; preds = %713, %711
  %715 = load i8, ptr %63, align 1, !tbaa !11, !range !50, !noundef !51
  %716 = trunc i8 %715 to i1
  br i1 %716, label %717, label %762

717:                                              ; preds = %714
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #7
  store i32 0, ptr %95, align 4, !tbaa !46
  br label %718

718:                                              ; preds = %732, %717
  %719 = load i32, ptr %95, align 4, !tbaa !46
  %720 = load i32, ptr %91, align 4, !tbaa !46
  %721 = icmp slt i32 %719, %720
  br i1 %721, label %723, label %722

722:                                              ; preds = %718
  store i32 5, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  br label %739

723:                                              ; preds = %718
  %724 = load i32, ptr %60, align 4, !tbaa !46
  %725 = load i32, ptr %95, align 4, !tbaa !46
  %726 = add nsw i32 %724, %725
  %727 = load i32, ptr %95, align 4, !tbaa !46
  %728 = sext i32 %727 to i64
  %729 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %728) #7
  %730 = invoke noundef i32 @_ZN5Highs11passColNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %726, ptr noundef nonnull align 8 dereferenceable(32) %729)
          to label %731 unwind label %735

731:                                              ; preds = %723
  br label %732

732:                                              ; preds = %731
  %733 = load i32, ptr %95, align 4, !tbaa !46
  %734 = add nsw i32 %733, 1
  store i32 %734, ptr %95, align 4, !tbaa !46
  br label %718, !llvm.loop !56

735:                                              ; preds = %723
  %736 = landingpad { ptr, i32 }
          cleanup
  %737 = extractvalue { ptr, i32 } %736, 0
  store ptr %737, ptr %41, align 8
  %738 = extractvalue { ptr, i32 } %736, 1
  store i32 %738, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #7
  br label %787

739:                                              ; preds = %722
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #7
  store i32 0, ptr %96, align 4, !tbaa !46
  br label %740

740:                                              ; preds = %754, %739
  %741 = load i32, ptr %96, align 4, !tbaa !46
  %742 = load i32, ptr %92, align 4, !tbaa !46
  %743 = icmp slt i32 %741, %742
  br i1 %743, label %745, label %744

744:                                              ; preds = %740
  store i32 8, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  br label %761

745:                                              ; preds = %740
  %746 = load i32, ptr %39, align 4, !tbaa !46
  %747 = load i32, ptr %96, align 4, !tbaa !46
  %748 = add nsw i32 %746, %747
  %749 = load i32, ptr %96, align 4, !tbaa !46
  %750 = sext i32 %749 to i64
  %751 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %750) #7
  %752 = invoke noundef i32 @_ZN5Highs11passRowNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %748, ptr noundef nonnull align 8 dereferenceable(32) %751)
          to label %753 unwind label %757

753:                                              ; preds = %745
  br label %754

754:                                              ; preds = %753
  %755 = load i32, ptr %96, align 4, !tbaa !46
  %756 = add nsw i32 %755, 1
  store i32 %756, ptr %96, align 4, !tbaa !46
  br label %740, !llvm.loop !57

757:                                              ; preds = %745
  %758 = landingpad { ptr, i32 }
          cleanup
  %759 = extractvalue { ptr, i32 } %758, 0
  store ptr %759, ptr %41, align 8
  %760 = extractvalue { ptr, i32 } %758, 1
  store i32 %760, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #7
  br label %787

761:                                              ; preds = %744
  br label %762

762:                                              ; preds = %761, %714
  %763 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %764 = load i32, ptr %91, align 4, !tbaa !46
  %765 = sext i32 %764 to i64
  %766 = icmp eq i64 %763, %765
  br i1 %766, label %767, label %768

767:                                              ; preds = %762
  br label %770

768:                                              ; preds = %762
  call void @__assert_fail(ptr noundef @.str.181, ptr noundef @.str.78, i32 noundef 2247, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

769:                                              ; No predecessors!
  br label %770

770:                                              ; preds = %769, %767
  %771 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  %772 = load i32, ptr %91, align 4, !tbaa !46
  %773 = sext i32 %772 to i64
  %774 = icmp eq i64 %771, %773
  br i1 %774, label %775, label %776

775:                                              ; preds = %770
  br label %778

776:                                              ; preds = %770
  call void @__assert_fail(ptr noundef @.str.182, ptr noundef @.str.78, i32 noundef 2248, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

777:                                              ; No predecessors!
  br label %778

778:                                              ; preds = %777, %775
  %779 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  %780 = load i32, ptr %91, align 4, !tbaa !46
  %781 = sext i32 %780 to i64
  %782 = icmp eq i64 %779, %781
  br i1 %782, label %783, label %784

783:                                              ; preds = %778
  br label %786

784:                                              ; preds = %778
  call void @__assert_fail(ptr noundef @.str.183, ptr noundef @.str.78, i32 noundef 2249, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

785:                                              ; No predecessors!
  br label %786

786:                                              ; preds = %785, %783
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #7
  br label %789

787:                                              ; preds = %757, %735, %669, %647
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #7
  br label %788

788:                                              ; preds = %787, %604, %329
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %62) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %61) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %61) #7
  br label %1432

789:                                              ; preds = %786, %309
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #7
  %790 = load ptr, ptr %34, align 8, !tbaa !5
  %791 = getelementptr inbounds %class.HighsLp, ptr %790, i32 0, i32 0
  %792 = load i32, ptr %791, align 8, !tbaa !13
  store i32 %792, ptr %97, align 4, !tbaa !46
  %793 = load i8, ptr %59, align 1, !tbaa !11, !range !50, !noundef !51
  %794 = trunc i8 %793 to i1
  br i1 %794, label %795, label %1089

795:                                              ; preds = %789
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @_ZNSt6vectorIdSaIdEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %98) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %99) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr %100) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #7
  store i32 0, ptr %101, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 4 dereferenceable(4) %101)
          to label %796 unwind label %807

796:                                              ; preds = %795
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #7
  %797 = load ptr, ptr %34, align 8, !tbaa !5
  %798 = getelementptr inbounds %class.HighsLp, ptr %797, i32 0, i32 15
  %799 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %798) #7
  %800 = icmp ugt i64 %799, 0
  %801 = zext i1 %800 to i8
  store i8 %801, ptr %102, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #7
  store i32 0, ptr %103, align 4, !tbaa !46
  br label %802

802:                                              ; preds = %969, %796
  %803 = load i32, ptr %103, align 4, !tbaa !46
  %804 = load i32, ptr %39, align 4, !tbaa !46
  %805 = icmp slt i32 %803, %804
  br i1 %805, label %811, label %806

806:                                              ; preds = %802
  store i32 11, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  br label %973

807:                                              ; preds = %795
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %41, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #7
  br label %1088

811:                                              ; preds = %802
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #7
  %812 = load i8, ptr %57, align 1, !tbaa !11, !range !50, !noundef !51
  %813 = trunc i8 %812 to i1
  br i1 %813, label %814, label %820

814:                                              ; preds = %811
  %815 = load ptr, ptr %17, align 8, !tbaa !5
  %816 = load i32, ptr %103, align 4, !tbaa !46
  %817 = sext i32 %816 to i64
  %818 = getelementptr inbounds double, ptr %815, i64 %817
  %819 = load double, ptr %818, align 8, !tbaa !9
  br label %822

820:                                              ; preds = %811
  %821 = load double, ptr %14, align 8, !tbaa !9
  br label %822

822:                                              ; preds = %820, %814
  %823 = phi double [ %819, %814 ], [ %821, %820 ]
  store double %823, ptr %104, align 8, !tbaa !9
  %824 = load double, ptr %104, align 8, !tbaa !9
  %825 = fcmp olt double %824, 0.000000e+00
  br i1 %825, label %826, label %827

826:                                              ; preds = %822
  store i32 13, ptr %66, align 4
  br label %966

827:                                              ; preds = %822
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #7
  %828 = load ptr, ptr %34, align 8, !tbaa !5
  %829 = getelementptr inbounds %class.HighsLp, ptr %828, i32 0, i32 5
  %830 = load i32, ptr %103, align 4, !tbaa !46
  %831 = sext i32 %830 to i64
  %832 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %829, i64 noundef %831) #7
  %833 = load double, ptr %832, align 8, !tbaa !9
  store double %833, ptr %105, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #7
  %834 = load ptr, ptr %34, align 8, !tbaa !5
  %835 = getelementptr inbounds %class.HighsLp, ptr %834, i32 0, i32 6
  %836 = load i32, ptr %103, align 4, !tbaa !46
  %837 = sext i32 %836 to i64
  %838 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %835, i64 noundef %837) #7
  %839 = load double, ptr %838, align 8, !tbaa !9
  store double %839, ptr %106, align 8, !tbaa !9
  %840 = load double, ptr %105, align 8, !tbaa !9
  %841 = fcmp ogt double %840, 0xFFF0000000000000
  br i1 %841, label %842, label %904

842:                                              ; preds = %827
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %843 unwind label %858

843:                                              ; preds = %842
  %844 = load i8, ptr %102, align 1, !tbaa !11, !range !50, !noundef !51
  %845 = trunc i8 %844 to i1
  br i1 %845, label %846, label %886

846:                                              ; preds = %843
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %108) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #7
  %847 = load i32, ptr %103, align 4, !tbaa !46
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %111, i32 noundef %847) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %848 unwind label %862

848:                                              ; preds = %846
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull align 8 dereferenceable(32) %110, ptr noundef @.str.170)
          to label %849 unwind label %866

849:                                              ; preds = %848
  %850 = load ptr, ptr %34, align 8, !tbaa !5
  %851 = getelementptr inbounds %class.HighsLp, ptr %850, i32 0, i32 15
  %852 = load i32, ptr %103, align 4, !tbaa !46
  %853 = sext i32 %852 to i64
  %854 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %851, i64 noundef %853) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %108, ptr noundef nonnull align 8 dereferenceable(32) %109, ptr noundef nonnull align 8 dereferenceable(32) %854)
          to label %855 unwind label %870

855:                                              ; preds = %849
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %107, ptr noundef nonnull align 8 dereferenceable(32) %108, ptr noundef @.str.173)
          to label %856 unwind label %874

856:                                              ; preds = %855
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(32) %107)
          to label %857 unwind label %878

857:                                              ; preds = %856
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #7
  br label %886

858:                                              ; preds = %953, %948, %947, %907, %892, %887, %886, %842
  %859 = landingpad { ptr, i32 }
          cleanup
  %860 = extractvalue { ptr, i32 } %859, 0
  store ptr %860, ptr %41, align 8
  %861 = extractvalue { ptr, i32 } %859, 1
  store i32 %861, ptr %42, align 4
  br label %972

862:                                              ; preds = %846
  %863 = landingpad { ptr, i32 }
          cleanup
  %864 = extractvalue { ptr, i32 } %863, 0
  store ptr %864, ptr %41, align 8
  %865 = extractvalue { ptr, i32 } %863, 1
  store i32 %865, ptr %42, align 4
  br label %885

866:                                              ; preds = %848
  %867 = landingpad { ptr, i32 }
          cleanup
  %868 = extractvalue { ptr, i32 } %867, 0
  store ptr %868, ptr %41, align 8
  %869 = extractvalue { ptr, i32 } %867, 1
  store i32 %869, ptr %42, align 4
  br label %884

870:                                              ; preds = %849
  %871 = landingpad { ptr, i32 }
          cleanup
  %872 = extractvalue { ptr, i32 } %871, 0
  store ptr %872, ptr %41, align 8
  %873 = extractvalue { ptr, i32 } %871, 1
  store i32 %873, ptr %42, align 4
  br label %883

874:                                              ; preds = %855
  %875 = landingpad { ptr, i32 }
          cleanup
  %876 = extractvalue { ptr, i32 } %875, 0
  store ptr %876, ptr %41, align 8
  %877 = extractvalue { ptr, i32 } %875, 1
  store i32 %877, ptr %42, align 4
  br label %882

878:                                              ; preds = %856
  %879 = landingpad { ptr, i32 }
          cleanup
  %880 = extractvalue { ptr, i32 } %879, 0
  store ptr %880, ptr %41, align 8
  %881 = extractvalue { ptr, i32 } %879, 1
  store i32 %881, ptr %42, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #7
  br label %882

882:                                              ; preds = %878, %874
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %108) #7
  br label %883

883:                                              ; preds = %882, %870
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #7
  br label %884

884:                                              ; preds = %883, %866
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #7
  br label %885

885:                                              ; preds = %884, %862
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %108) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #7
  br label %972

886:                                              ; preds = %857, %843
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(8) %105)
          to label %887 unwind label %858

887:                                              ; preds = %886
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %99, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %888 unwind label %858

888:                                              ; preds = %887
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #7
  store double 1.000000e+00, ptr %112, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(8) %112)
          to label %889 unwind label %896

889:                                              ; preds = %888
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #7
  %890 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  %891 = trunc i64 %890 to i32
  store i32 %891, ptr %113, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 4 dereferenceable(4) %113)
          to label %892 unwind label %900

892:                                              ; preds = %889
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %893 unwind label %858

893:                                              ; preds = %892
  %894 = load i32, ptr %35, align 4, !tbaa !46
  %895 = add nsw i32 %894, 1
  store i32 %895, ptr %35, align 4, !tbaa !46
  br label %904

896:                                              ; preds = %888
  %897 = landingpad { ptr, i32 }
          cleanup
  %898 = extractvalue { ptr, i32 } %897, 0
  store ptr %898, ptr %41, align 8
  %899 = extractvalue { ptr, i32 } %897, 1
  store i32 %899, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #7
  br label %972

900:                                              ; preds = %889
  %901 = landingpad { ptr, i32 }
          cleanup
  %902 = extractvalue { ptr, i32 } %901, 0
  store ptr %902, ptr %41, align 8
  %903 = extractvalue { ptr, i32 } %901, 1
  store i32 %903, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #7
  br label %972

904:                                              ; preds = %893, %827
  %905 = load double, ptr %106, align 8, !tbaa !9
  %906 = fcmp olt double %905, 0x7FF0000000000000
  br i1 %906, label %907, label %965

907:                                              ; preds = %904
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %908 unwind label %858

908:                                              ; preds = %907
  %909 = load i8, ptr %102, align 1, !tbaa !11, !range !50, !noundef !51
  %910 = trunc i8 %909 to i1
  br i1 %910, label %911, label %947

911:                                              ; preds = %908
  call void @llvm.lifetime.start.p0(i64 32, ptr %114) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr %118) #7
  %912 = load i32, ptr %103, align 4, !tbaa !46
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %118, i32 noundef %912) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %118)
          to label %913 unwind label %923

913:                                              ; preds = %911
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %116, ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.170)
          to label %914 unwind label %927

914:                                              ; preds = %913
  %915 = load ptr, ptr %34, align 8, !tbaa !5
  %916 = getelementptr inbounds %class.HighsLp, ptr %915, i32 0, i32 15
  %917 = load i32, ptr %103, align 4, !tbaa !46
  %918 = sext i32 %917 to i64
  %919 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %916, i64 noundef %918) #7
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %115, ptr noundef nonnull align 8 dereferenceable(32) %116, ptr noundef nonnull align 8 dereferenceable(32) %919)
          to label %920 unwind label %931

920:                                              ; preds = %914
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %114, ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef @.str.174)
          to label %921 unwind label %935

921:                                              ; preds = %920
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(32) %114)
          to label %922 unwind label %939

922:                                              ; preds = %921
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #7
  br label %947

923:                                              ; preds = %911
  %924 = landingpad { ptr, i32 }
          cleanup
  %925 = extractvalue { ptr, i32 } %924, 0
  store ptr %925, ptr %41, align 8
  %926 = extractvalue { ptr, i32 } %924, 1
  store i32 %926, ptr %42, align 4
  br label %946

927:                                              ; preds = %913
  %928 = landingpad { ptr, i32 }
          cleanup
  %929 = extractvalue { ptr, i32 } %928, 0
  store ptr %929, ptr %41, align 8
  %930 = extractvalue { ptr, i32 } %928, 1
  store i32 %930, ptr %42, align 4
  br label %945

931:                                              ; preds = %914
  %932 = landingpad { ptr, i32 }
          cleanup
  %933 = extractvalue { ptr, i32 } %932, 0
  store ptr %933, ptr %41, align 8
  %934 = extractvalue { ptr, i32 } %932, 1
  store i32 %934, ptr %42, align 4
  br label %944

935:                                              ; preds = %920
  %936 = landingpad { ptr, i32 }
          cleanup
  %937 = extractvalue { ptr, i32 } %936, 0
  store ptr %937, ptr %41, align 8
  %938 = extractvalue { ptr, i32 } %936, 1
  store i32 %938, ptr %42, align 4
  br label %943

939:                                              ; preds = %921
  %940 = landingpad { ptr, i32 }
          cleanup
  %941 = extractvalue { ptr, i32 } %940, 0
  store ptr %941, ptr %41, align 8
  %942 = extractvalue { ptr, i32 } %940, 1
  store i32 %942, ptr %42, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %114) #7
  br label %943

943:                                              ; preds = %939, %935
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #7
  br label %944

944:                                              ; preds = %943, %931
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %116) #7
  br label %945

945:                                              ; preds = %944, %927
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #7
  br label %946

946:                                              ; preds = %945, %923
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %118) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %116) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %115) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr %114) #7
  br label %972

947:                                              ; preds = %922, %908
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %22, ptr noundef nonnull align 8 dereferenceable(8) %106)
          to label %948 unwind label %858

948:                                              ; preds = %947
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %99, ptr noundef nonnull align 4 dereferenceable(4) %103)
          to label %949 unwind label %858

949:                                              ; preds = %948
  call void @llvm.lifetime.start.p0(i64 8, ptr %119) #7
  store double -1.000000e+00, ptr %119, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %100, ptr noundef nonnull align 8 dereferenceable(8) %119)
          to label %950 unwind label %957

950:                                              ; preds = %949
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #7
  %951 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  %952 = trunc i64 %951 to i32
  store i32 %952, ptr %120, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %98, ptr noundef nonnull align 4 dereferenceable(4) %120)
          to label %953 unwind label %961

953:                                              ; preds = %950
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %31, ptr noundef nonnull align 8 dereferenceable(8) %104)
          to label %954 unwind label %858

954:                                              ; preds = %953
  %955 = load i32, ptr %35, align 4, !tbaa !46
  %956 = add nsw i32 %955, 1
  store i32 %956, ptr %35, align 4, !tbaa !46
  br label %965

957:                                              ; preds = %949
  %958 = landingpad { ptr, i32 }
          cleanup
  %959 = extractvalue { ptr, i32 } %958, 0
  store ptr %959, ptr %41, align 8
  %960 = extractvalue { ptr, i32 } %958, 1
  store i32 %960, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %119) #7
  br label %972

961:                                              ; preds = %950
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %41, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #7
  br label %972

965:                                              ; preds = %954, %904
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  store i32 0, ptr %66, align 4
  br label %966

966:                                              ; preds = %965, %826
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  %967 = load i32, ptr %66, align 4
  switch i32 %967, label %1443 [
    i32 0, label %968
    i32 13, label %969
  ]

968:                                              ; preds = %966
  br label %969

969:                                              ; preds = %968, %966
  %970 = load i32, ptr %103, align 4, !tbaa !46
  %971 = add nsw i32 %970, 1
  store i32 %971, ptr %103, align 4, !tbaa !46
  br label %802, !llvm.loop !58

972:                                              ; preds = %961, %957, %946, %900, %896, %885, %858
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #7
  br label %1087

973:                                              ; preds = %806
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #7
  %974 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  %975 = sub i64 %974, 1
  %976 = trunc i64 %975 to i32
  store i32 %976, ptr %121, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #7
  %977 = load i32, ptr %121, align 4, !tbaa !46
  %978 = sext i32 %977 to i64
  %979 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %98, i64 noundef %978) #7
  %980 = load i32, ptr %979, align 4, !tbaa !46
  store i32 %980, ptr %122, align 4, !tbaa !46
  %981 = load i32, ptr %121, align 4, !tbaa !46
  %982 = sext i32 %981 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #7
  store double 0.000000e+00, ptr %123, align 8, !tbaa !9
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %982, ptr noundef nonnull align 8 dereferenceable(8) %123)
          to label %983 unwind label %993

983:                                              ; preds = %973
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  %984 = load i32, ptr %121, align 4, !tbaa !46
  %985 = sext i32 %984 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %33, i64 noundef %985, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %986 unwind label %997

986:                                              ; preds = %983
  %987 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %988 = load i32, ptr %121, align 4, !tbaa !46
  %989 = sext i32 %988 to i64
  %990 = icmp eq i64 %987, %989
  br i1 %990, label %991, label %992

991:                                              ; preds = %986
  br label %1002

992:                                              ; preds = %986
  call void @__assert_fail(ptr noundef @.str.181, ptr noundef @.str.78, i32 noundef 2311, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

993:                                              ; preds = %973
  %994 = landingpad { ptr, i32 }
          cleanup
  %995 = extractvalue { ptr, i32 } %994, 0
  store ptr %995, ptr %41, align 8
  %996 = extractvalue { ptr, i32 } %994, 1
  store i32 %996, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #7
  br label %1086

997:                                              ; preds = %1043, %983
  %998 = landingpad { ptr, i32 }
          cleanup
  %999 = extractvalue { ptr, i32 } %998, 0
  store ptr %999, ptr %41, align 8
  %1000 = extractvalue { ptr, i32 } %998, 1
  store i32 %1000, ptr %42, align 4
  br label %1086

1001:                                             ; No predecessors!
  br label %1002

1002:                                             ; preds = %1001, %991
  %1003 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  %1004 = load i32, ptr %121, align 4, !tbaa !46
  %1005 = sext i32 %1004 to i64
  %1006 = icmp eq i64 %1003, %1005
  br i1 %1006, label %1007, label %1008

1007:                                             ; preds = %1002
  br label %1010

1008:                                             ; preds = %1002
  call void @__assert_fail(ptr noundef @.str.182, ptr noundef @.str.78, i32 noundef 2312, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1009:                                             ; No predecessors!
  br label %1010

1010:                                             ; preds = %1009, %1007
  %1011 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  %1012 = load i32, ptr %121, align 4, !tbaa !46
  %1013 = sext i32 %1012 to i64
  %1014 = icmp eq i64 %1011, %1013
  br i1 %1014, label %1015, label %1016

1015:                                             ; preds = %1010
  br label %1018

1016:                                             ; preds = %1010
  call void @__assert_fail(ptr noundef @.str.183, ptr noundef @.str.78, i32 noundef 2313, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1017:                                             ; No predecessors!
  br label %1018

1018:                                             ; preds = %1017, %1015
  %1019 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  %1020 = load i32, ptr %121, align 4, !tbaa !46
  %1021 = add nsw i32 %1020, 1
  %1022 = sext i32 %1021 to i64
  %1023 = icmp eq i64 %1019, %1022
  br i1 %1023, label %1024, label %1025

1024:                                             ; preds = %1018
  br label %1027

1025:                                             ; preds = %1018
  call void @__assert_fail(ptr noundef @.str.184, ptr noundef @.str.78, i32 noundef 2314, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1026:                                             ; No predecessors!
  br label %1027

1027:                                             ; preds = %1026, %1024
  %1028 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  %1029 = load i32, ptr %122, align 4, !tbaa !46
  %1030 = sext i32 %1029 to i64
  %1031 = icmp eq i64 %1028, %1030
  br i1 %1031, label %1032, label %1033

1032:                                             ; preds = %1027
  br label %1035

1033:                                             ; preds = %1027
  call void @__assert_fail(ptr noundef @.str.185, ptr noundef @.str.78, i32 noundef 2315, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1034:                                             ; No predecessors!
  br label %1035

1035:                                             ; preds = %1034, %1032
  %1036 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  %1037 = load i32, ptr %122, align 4, !tbaa !46
  %1038 = sext i32 %1037 to i64
  %1039 = icmp eq i64 %1036, %1038
  br i1 %1039, label %1040, label %1041

1040:                                             ; preds = %1035
  br label %1043

1041:                                             ; preds = %1035
  call void @__assert_fail(ptr noundef @.str.186, ptr noundef @.str.78, i32 noundef 2316, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1042:                                             ; No predecessors!
  br label %1043

1043:                                             ; preds = %1042, %1040
  %1044 = load i32, ptr %121, align 4, !tbaa !46
  %1045 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  %1046 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  %1047 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  %1048 = load i32, ptr %122, align 4, !tbaa !46
  %1049 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  %1050 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  %1051 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  %1052 = invoke noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1044, ptr noundef %1045, ptr noundef %1046, ptr noundef %1047, i32 noundef %1048, ptr noundef %1049, ptr noundef %1050, ptr noundef %1051)
          to label %1053 unwind label %997

1053:                                             ; preds = %1043
  store i32 %1052, ptr %36, align 4, !tbaa !48
  %1054 = load i32, ptr %36, align 4, !tbaa !48
  %1055 = icmp eq i32 %1054, 0
  br i1 %1055, label %1056, label %1057

1056:                                             ; preds = %1053
  br label %1059

1057:                                             ; preds = %1053
  call void @__assert_fail(ptr noundef @.str.165, ptr noundef @.str.78, i32 noundef 2320, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1058:                                             ; No predecessors!
  br label %1059

1059:                                             ; preds = %1058, %1056
  %1060 = load i8, ptr %102, align 1, !tbaa !11, !range !50, !noundef !51
  %1061 = trunc i8 %1060 to i1
  br i1 %1061, label %1062, label %1085

1062:                                             ; preds = %1059
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #7
  store i32 0, ptr %124, align 4, !tbaa !46
  br label %1063

1063:                                             ; preds = %1077, %1062
  %1064 = load i32, ptr %124, align 4, !tbaa !46
  %1065 = load i32, ptr %121, align 4, !tbaa !46
  %1066 = icmp slt i32 %1064, %1065
  br i1 %1066, label %1068, label %1067

1067:                                             ; preds = %1063
  store i32 14, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  br label %1084

1068:                                             ; preds = %1063
  %1069 = load i32, ptr %97, align 4, !tbaa !46
  %1070 = load i32, ptr %124, align 4, !tbaa !46
  %1071 = add nsw i32 %1069, %1070
  %1072 = load i32, ptr %124, align 4, !tbaa !46
  %1073 = sext i32 %1072 to i64
  %1074 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %29, i64 noundef %1073) #7
  %1075 = invoke noundef i32 @_ZN5Highs11passColNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1071, ptr noundef nonnull align 8 dereferenceable(32) %1074)
          to label %1076 unwind label %1080

1076:                                             ; preds = %1068
  br label %1077

1077:                                             ; preds = %1076
  %1078 = load i32, ptr %124, align 4, !tbaa !46
  %1079 = add nsw i32 %1078, 1
  store i32 %1079, ptr %124, align 4, !tbaa !46
  br label %1063, !llvm.loop !59

1080:                                             ; preds = %1068
  %1081 = landingpad { ptr, i32 }
          cleanup
  %1082 = extractvalue { ptr, i32 } %1081, 0
  store ptr %1082, ptr %41, align 8
  %1083 = extractvalue { ptr, i32 } %1081, 1
  store i32 %1083, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #7
  br label %1086

1084:                                             ; preds = %1067
  br label %1085

1085:                                             ; preds = %1084, %1059
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #7
  br label %1089

1086:                                             ; preds = %1080, %997, %993
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #7
  br label %1087

1087:                                             ; preds = %1086, %972
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #7
  br label %1088

1088:                                             ; preds = %1087, %807
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %100) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %100) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %99) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %99) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %98) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %98) #7
  br label %1431

1089:                                             ; preds = %1085, %789
  call void @llvm.lifetime.start.p0(i64 16, ptr %125) #7
  %1090 = getelementptr inbounds %class.anon, ptr %125, i32 0, i32 0
  store ptr %151, ptr %1090, align 8, !tbaa !60
  %1091 = getelementptr inbounds %class.anon, ptr %125, i32 0, i32 1
  store ptr %36, ptr %1091, align 8, !tbaa !5
  %1092 = invoke noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %125)
          to label %1093 unwind label %1104

1093:                                             ; preds = %1089
  store i32 %1092, ptr %36, align 4, !tbaa !48
  %1094 = load i32, ptr %36, align 4, !tbaa !48
  %1095 = icmp ne i32 %1094, 0
  br i1 %1095, label %1096, label %1117

1096:                                             ; preds = %1093
  %1097 = load i32, ptr %36, align 4, !tbaa !48
  %1098 = load i32, ptr %38, align 4, !tbaa !46
  %1099 = load i32, ptr %39, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %126, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %1100 unwind label %1104

1100:                                             ; preds = %1096
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %127, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1101 unwind label %1108

1101:                                             ; preds = %1100
  %1102 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1097, i1 noundef zeroext false, i32 noundef %1098, i32 noundef %1099, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %126, ptr noundef %127)
          to label %1103 unwind label %1112

1103:                                             ; preds = %1101
  store i32 %1102, ptr %10, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #7
  store i32 1, ptr %66, align 4
  br label %1428

1104:                                             ; preds = %1133, %1096, %1089
  %1105 = landingpad { ptr, i32 }
          cleanup
  %1106 = extractvalue { ptr, i32 } %1105, 0
  store ptr %1106, ptr %41, align 8
  %1107 = extractvalue { ptr, i32 } %1105, 1
  store i32 %1107, ptr %42, align 4
  br label %1430

1108:                                             ; preds = %1100
  %1109 = landingpad { ptr, i32 }
          cleanup
  %1110 = extractvalue { ptr, i32 } %1109, 0
  store ptr %1110, ptr %41, align 8
  %1111 = extractvalue { ptr, i32 } %1109, 1
  store i32 %1111, ptr %42, align 4
  br label %1116

1112:                                             ; preds = %1101
  %1113 = landingpad { ptr, i32 }
          cleanup
  %1114 = extractvalue { ptr, i32 } %1113, 0
  store ptr %1114, ptr %41, align 8
  %1115 = extractvalue { ptr, i32 } %1113, 1
  store i32 %1115, ptr %42, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %127) #7
  br label %1116

1116:                                             ; preds = %1112, %1108
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %126) #7
  br label %1430

1117:                                             ; preds = %1093
  %1118 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 15
  %1119 = load i32, ptr %1118, align 4, !tbaa !62
  %1120 = icmp eq i32 %1119, 7
  br i1 %1120, label %1125, label %1121

1121:                                             ; preds = %1117
  %1122 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 15
  %1123 = load i32, ptr %1122, align 4, !tbaa !62
  %1124 = icmp eq i32 %1123, 10
  br label %1125

1125:                                             ; preds = %1121, %1117
  %1126 = phi i1 [ true, %1117 ], [ %1124, %1121 ]
  br i1 %1126, label %1127, label %1128

1127:                                             ; preds = %1125
  br label %1130

1128:                                             ; preds = %1125
  call void @__assert_fail(ptr noundef @.str.187, ptr noundef @.str.78, i32 noundef 2362, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1129:                                             ; No predecessors!
  br label %1130

1130:                                             ; preds = %1129, %1127
  %1131 = load i8, ptr %18, align 1, !tbaa !11, !range !50, !noundef !51
  %1132 = trunc i8 %1131 to i1
  br i1 %1132, label %1149, label %1133

1133:                                             ; preds = %1130
  %1134 = load i32, ptr %38, align 4, !tbaa !46
  %1135 = load i32, ptr %39, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %128, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %1136 unwind label %1104

1136:                                             ; preds = %1133
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %129, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1137 unwind label %1140

1137:                                             ; preds = %1136
  %1138 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef 0, i1 noundef zeroext false, i32 noundef %1134, i32 noundef %1135, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %128, ptr noundef %129)
          to label %1139 unwind label %1144

1139:                                             ; preds = %1137
  store i32 %1138, ptr %10, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %128) #7
  store i32 1, ptr %66, align 4
  br label %1428

1140:                                             ; preds = %1136
  %1141 = landingpad { ptr, i32 }
          cleanup
  %1142 = extractvalue { ptr, i32 } %1141, 0
  store ptr %1142, ptr %41, align 8
  %1143 = extractvalue { ptr, i32 } %1141, 1
  store i32 %1143, ptr %42, align 4
  br label %1148

1144:                                             ; preds = %1137
  %1145 = landingpad { ptr, i32 }
          cleanup
  %1146 = extractvalue { ptr, i32 } %1145, 0
  store ptr %1146, ptr %41, align 8
  %1147 = extractvalue { ptr, i32 } %1145, 1
  store i32 %1147, ptr %42, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %129) #7
  br label %1148

1148:                                             ; preds = %1144, %1140
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %128) #7
  br label %1430

1149:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #7
  %1150 = invoke noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %151)
          to label %1151 unwind label %1161

1151:                                             ; preds = %1149
  store ptr %1150, ptr %130, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #7
  store i32 0, ptr %131, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 1, ptr %132) #7
  store i8 0, ptr %132, align 1, !tbaa !11
  br label %1152

1152:                                             ; preds = %1294, %1151
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #7
  store i32 0, ptr %133, align 4, !tbaa !46
  %1153 = load i8, ptr %56, align 1, !tbaa !11, !range !50, !noundef !51
  %1154 = trunc i8 %1153 to i1
  br i1 %1154, label %1155, label %1200

1155:                                             ; preds = %1152
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #7
  store i64 0, ptr %134, align 8, !tbaa !211
  br label %1156

1156:                                             ; preds = %1196, %1155
  %1157 = load i64, ptr %134, align 8, !tbaa !211
  %1158 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  %1159 = icmp ult i64 %1157, %1158
  br i1 %1159, label %1165, label %1160

1160:                                             ; preds = %1156
  store i32 19, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #7
  br label %1199

1161:                                             ; preds = %1149
  %1162 = landingpad { ptr, i32 }
          cleanup
  %1163 = extractvalue { ptr, i32 } %1162, 0
  store ptr %1163, ptr %41, align 8
  %1164 = extractvalue { ptr, i32 } %1162, 1
  store i32 %1164, ptr %42, align 4
  br label %1427

1165:                                             ; preds = %1156
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #7
  %1166 = load i64, ptr %134, align 8, !tbaa !211
  %1167 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %1166) #7
  %1168 = load i32, ptr %1167, align 4, !tbaa !46
  store i32 %1168, ptr %135, align 4, !tbaa !46
  %1169 = load ptr, ptr %130, align 8, !tbaa !5
  %1170 = getelementptr inbounds %struct.HighsSolution, ptr %1169, i32 0, i32 2
  %1171 = load i32, ptr %60, align 4, !tbaa !46
  %1172 = sext i32 %1171 to i64
  %1173 = load i64, ptr %134, align 8, !tbaa !211
  %1174 = add i64 %1172, %1173
  %1175 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1170, i64 noundef %1174) #7
  %1176 = load double, ptr %1175, align 8, !tbaa !9
  %1177 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 9
  %1178 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1177, i32 0, i32 14
  %1179 = load double, ptr %1178, align 8, !tbaa !212
  %1180 = fcmp ogt double %1176, %1179
  br i1 %1180, label %1181, label %1195

1181:                                             ; preds = %1165
  %1182 = load i32, ptr %60, align 4, !tbaa !46
  %1183 = sext i32 %1182 to i64
  %1184 = load i64, ptr %134, align 8, !tbaa !211
  %1185 = add i64 %1183, %1184
  %1186 = trunc i64 %1185 to i32
  %1187 = invoke noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1186, double noundef 0.000000e+00, double noundef 0.000000e+00)
          to label %1188 unwind label %1191

1188:                                             ; preds = %1181
  %1189 = load i32, ptr %133, align 4, !tbaa !46
  %1190 = add nsw i32 %1189, 1
  store i32 %1190, ptr %133, align 4, !tbaa !46
  br label %1195

1191:                                             ; preds = %1181
  %1192 = landingpad { ptr, i32 }
          cleanup
  %1193 = extractvalue { ptr, i32 } %1192, 0
  store ptr %1193, ptr %41, align 8
  %1194 = extractvalue { ptr, i32 } %1192, 1
  store i32 %1194, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #7
  br label %1296

1195:                                             ; preds = %1188, %1165
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #7
  br label %1196

1196:                                             ; preds = %1195
  %1197 = load i64, ptr %134, align 8, !tbaa !211
  %1198 = add i64 %1197, 1
  store i64 %1198, ptr %134, align 8, !tbaa !211
  br label %1156, !llvm.loop !213

1199:                                             ; preds = %1160
  br label %1200

1200:                                             ; preds = %1199, %1152
  %1201 = load i8, ptr %59, align 1, !tbaa !11, !range !50, !noundef !51
  %1202 = trunc i8 %1201 to i1
  br i1 %1202, label %1203, label %1244

1203:                                             ; preds = %1200
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #7
  store i64 0, ptr %136, align 8, !tbaa !211
  br label %1204

1204:                                             ; preds = %1240, %1203
  %1205 = load i64, ptr %136, align 8, !tbaa !211
  %1206 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  %1207 = icmp ult i64 %1205, %1206
  br i1 %1207, label %1209, label %1208

1208:                                             ; preds = %1204
  store i32 22, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1243

1209:                                             ; preds = %1204
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #7
  %1210 = load i64, ptr %136, align 8, !tbaa !211
  %1211 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %1210) #7
  %1212 = load i32, ptr %1211, align 4, !tbaa !46
  store i32 %1212, ptr %137, align 4, !tbaa !46
  %1213 = load ptr, ptr %130, align 8, !tbaa !5
  %1214 = getelementptr inbounds %struct.HighsSolution, ptr %1213, i32 0, i32 2
  %1215 = load i32, ptr %97, align 4, !tbaa !46
  %1216 = sext i32 %1215 to i64
  %1217 = load i64, ptr %136, align 8, !tbaa !211
  %1218 = add i64 %1216, %1217
  %1219 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1214, i64 noundef %1218) #7
  %1220 = load double, ptr %1219, align 8, !tbaa !9
  %1221 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 9
  %1222 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1221, i32 0, i32 14
  %1223 = load double, ptr %1222, align 8, !tbaa !212
  %1224 = fcmp ogt double %1220, %1223
  br i1 %1224, label %1225, label %1239

1225:                                             ; preds = %1209
  %1226 = load i32, ptr %97, align 4, !tbaa !46
  %1227 = sext i32 %1226 to i64
  %1228 = load i64, ptr %136, align 8, !tbaa !211
  %1229 = add i64 %1227, %1228
  %1230 = trunc i64 %1229 to i32
  %1231 = invoke noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1230, double noundef 0.000000e+00, double noundef 0.000000e+00)
          to label %1232 unwind label %1235

1232:                                             ; preds = %1225
  %1233 = load i32, ptr %133, align 4, !tbaa !46
  %1234 = add nsw i32 %1233, 1
  store i32 %1234, ptr %133, align 4, !tbaa !46
  br label %1239

1235:                                             ; preds = %1225
  %1236 = landingpad { ptr, i32 }
          cleanup
  %1237 = extractvalue { ptr, i32 } %1236, 0
  store ptr %1237, ptr %41, align 8
  %1238 = extractvalue { ptr, i32 } %1236, 1
  store i32 %1238, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #7
  br label %1296

1239:                                             ; preds = %1232, %1209
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #7
  br label %1240

1240:                                             ; preds = %1239
  %1241 = load i64, ptr %136, align 8, !tbaa !211
  %1242 = add i64 %1241, 1
  store i64 %1242, ptr %136, align 8, !tbaa !211
  br label %1204, !llvm.loop !214

1243:                                             ; preds = %1208
  br label %1244

1244:                                             ; preds = %1243, %1200
  %1245 = load i32, ptr %133, align 4, !tbaa !46
  %1246 = icmp eq i32 %1245, 0
  br i1 %1246, label %1247, label %1248

1247:                                             ; preds = %1244
  store i8 1, ptr %132, align 1, !tbaa !11
  store i32 17, ptr %66, align 4
  br label %1292

1248:                                             ; preds = %1244
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #7
  %1249 = invoke noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %125)
          to label %1250 unwind label %1263

1250:                                             ; preds = %1248
  store i32 %1249, ptr %138, align 4, !tbaa !48
  %1251 = load i32, ptr %138, align 4, !tbaa !48
  %1252 = icmp ne i32 %1251, 0
  br i1 %1252, label %1253, label %1276

1253:                                             ; preds = %1250
  %1254 = load i32, ptr %138, align 4, !tbaa !48
  %1255 = load i8, ptr %132, align 1, !tbaa !11, !range !50, !noundef !51
  %1256 = trunc i8 %1255 to i1
  %1257 = load i32, ptr %38, align 4, !tbaa !46
  %1258 = load i32, ptr %39, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %139, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %1259 unwind label %1263

1259:                                             ; preds = %1253
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %140, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1260 unwind label %1267

1260:                                             ; preds = %1259
  %1261 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef %1254, i1 noundef zeroext %1256, i32 noundef %1257, i32 noundef %1258, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %139, ptr noundef %140)
          to label %1262 unwind label %1271

1262:                                             ; preds = %1260
  store i32 %1261, ptr %10, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #7
  store i32 1, ptr %66, align 4
  br label %1291

1263:                                             ; preds = %1253, %1248
  %1264 = landingpad { ptr, i32 }
          cleanup
  %1265 = extractvalue { ptr, i32 } %1264, 0
  store ptr %1265, ptr %41, align 8
  %1266 = extractvalue { ptr, i32 } %1264, 1
  store i32 %1266, ptr %42, align 4
  br label %1295

1267:                                             ; preds = %1259
  %1268 = landingpad { ptr, i32 }
          cleanup
  %1269 = extractvalue { ptr, i32 } %1268, 0
  store ptr %1269, ptr %41, align 8
  %1270 = extractvalue { ptr, i32 } %1268, 1
  store i32 %1270, ptr %42, align 4
  br label %1275

1271:                                             ; preds = %1260
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %41, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %42, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %140) #7
  br label %1275

1275:                                             ; preds = %1271, %1267
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %139) #7
  br label %1295

1276:                                             ; preds = %1250
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #7
  %1277 = invoke noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Highs14getModelStatusEv(ptr noundef nonnull align 8 dereferenceable(20928) %151)
          to label %1278 unwind label %1283

1278:                                             ; preds = %1276
  %1279 = load i32, ptr %1277, align 4, !tbaa !215
  store i32 %1279, ptr %141, align 4, !tbaa !215
  %1280 = load i32, ptr %141, align 4, !tbaa !215
  %1281 = icmp eq i32 %1280, 8
  br i1 %1281, label %1282, label %1287

1282:                                             ; preds = %1278
  store i32 17, ptr %66, align 4
  br label %1290

1283:                                             ; preds = %1276
  %1284 = landingpad { ptr, i32 }
          cleanup
  %1285 = extractvalue { ptr, i32 } %1284, 0
  store ptr %1285, ptr %41, align 8
  %1286 = extractvalue { ptr, i32 } %1284, 1
  store i32 %1286, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  br label %1295

1287:                                             ; preds = %1278
  %1288 = load i32, ptr %131, align 4, !tbaa !46
  %1289 = add nsw i32 %1288, 1
  store i32 %1289, ptr %131, align 4, !tbaa !46
  store i32 0, ptr %66, align 4
  br label %1290

1290:                                             ; preds = %1287, %1282
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #7
  br label %1291

1291:                                             ; preds = %1290, %1262
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  br label %1292

1292:                                             ; preds = %1291, %1247
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  %1293 = load i32, ptr %66, align 4
  switch i32 %1293, label %1425 [
    i32 0, label %1294
    i32 17, label %1297
  ]

1294:                                             ; preds = %1292
  br label %1152, !llvm.loop !216

1295:                                             ; preds = %1283, %1275, %1263
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #7
  br label %1296

1296:                                             ; preds = %1295, %1235, %1191
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #7
  br label %1426

1297:                                             ; preds = %1292
  %1298 = load ptr, ptr %19, align 8, !tbaa !5
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %1298) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #7
  store i32 0, ptr %142, align 4, !tbaa !46
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #7
  store i32 0, ptr %143, align 4, !tbaa !46
  %1299 = load i8, ptr %56, align 1, !tbaa !11, !range !50, !noundef !51
  %1300 = trunc i8 %1299 to i1
  br i1 %1300, label %1301, label %1345

1301:                                             ; preds = %1297
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #7
  store i64 0, ptr %144, align 8, !tbaa !211
  br label %1302

1302:                                             ; preds = %1341, %1301
  %1303 = load i64, ptr %144, align 8, !tbaa !211
  %1304 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  %1305 = icmp ult i64 %1303, %1304
  br i1 %1305, label %1307, label %1306

1306:                                             ; preds = %1302
  store i32 25, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #7
  br label %1344

1307:                                             ; preds = %1302
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #7
  %1308 = load i64, ptr %144, align 8, !tbaa !211
  %1309 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %1308) #7
  %1310 = load i32, ptr %1309, align 4, !tbaa !46
  store i32 %1310, ptr %145, align 4, !tbaa !46
  %1311 = load ptr, ptr %34, align 8, !tbaa !5
  %1312 = getelementptr inbounds %class.HighsLp, ptr %1311, i32 0, i32 4
  %1313 = load i32, ptr %60, align 4, !tbaa !46
  %1314 = sext i32 %1313 to i64
  %1315 = load i64, ptr %144, align 8, !tbaa !211
  %1316 = add i64 %1314, %1315
  %1317 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1312, i64 noundef %1316) #7
  %1318 = load double, ptr %1317, align 8, !tbaa !9
  %1319 = fcmp oeq double %1318, 0.000000e+00
  br i1 %1319, label %1320, label %1340

1320:                                             ; preds = %1307
  %1321 = load i32, ptr %142, align 4, !tbaa !46
  %1322 = add nsw i32 %1321, 1
  store i32 %1322, ptr %142, align 4, !tbaa !46
  %1323 = load i64, ptr %144, align 8, !tbaa !211
  %1324 = trunc i64 %1323 to i32
  %1325 = load i32, ptr %60, align 4, !tbaa !46
  %1326 = sext i32 %1325 to i64
  %1327 = load i64, ptr %144, align 8, !tbaa !211
  %1328 = add i64 %1326, %1327
  %1329 = trunc i64 %1328 to i32
  %1330 = load i32, ptr %145, align 4, !tbaa !46
  %1331 = load i64, ptr %144, align 8, !tbaa !211
  %1332 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %1331) #7
  %1333 = load double, ptr %1332, align 8, !tbaa !9
  %1334 = invoke i32 (ptr, ...) @printf(ptr noundef @.str.188, i32 noundef %1324, i32 noundef %1329, i32 noundef %1330, double noundef %1333)
          to label %1335 unwind label %1336

1335:                                             ; preds = %1320
  br label %1340

1336:                                             ; preds = %1320
  %1337 = landingpad { ptr, i32 }
          cleanup
  %1338 = extractvalue { ptr, i32 } %1337, 0
  store ptr %1338, ptr %41, align 8
  %1339 = extractvalue { ptr, i32 } %1337, 1
  store i32 %1339, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #7
  br label %1424

1340:                                             ; preds = %1335, %1307
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #7
  br label %1341

1341:                                             ; preds = %1340
  %1342 = load i64, ptr %144, align 8, !tbaa !211
  %1343 = add i64 %1342, 1
  store i64 %1343, ptr %144, align 8, !tbaa !211
  br label %1302, !llvm.loop !217

1344:                                             ; preds = %1306
  br label %1345

1345:                                             ; preds = %1344, %1297
  %1346 = load i8, ptr %59, align 1, !tbaa !11, !range !50, !noundef !51
  %1347 = trunc i8 %1346 to i1
  br i1 %1347, label %1348, label %1381

1348:                                             ; preds = %1345
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #7
  store i64 0, ptr %146, align 8, !tbaa !211
  br label %1349

1349:                                             ; preds = %1377, %1348
  %1350 = load i64, ptr %146, align 8, !tbaa !211
  %1351 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  %1352 = icmp ult i64 %1350, %1351
  br i1 %1352, label %1354, label %1353

1353:                                             ; preds = %1349
  store i32 28, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  br label %1380

1354:                                             ; preds = %1349
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #7
  %1355 = load i64, ptr %146, align 8, !tbaa !211
  %1356 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %21, i64 noundef %1355) #7
  %1357 = load i32, ptr %1356, align 4, !tbaa !46
  store i32 %1357, ptr %147, align 4, !tbaa !46
  %1358 = load ptr, ptr %34, align 8, !tbaa !5
  %1359 = getelementptr inbounds %class.HighsLp, ptr %1358, i32 0, i32 4
  %1360 = load i32, ptr %97, align 4, !tbaa !46
  %1361 = sext i32 %1360 to i64
  %1362 = load i64, ptr %146, align 8, !tbaa !211
  %1363 = add i64 %1361, %1362
  %1364 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1359, i64 noundef %1363) #7
  %1365 = load double, ptr %1364, align 8, !tbaa !9
  %1366 = fcmp oeq double %1365, 0.000000e+00
  br i1 %1366, label %1367, label %1376

1367:                                             ; preds = %1354
  %1368 = load i32, ptr %143, align 4, !tbaa !46
  %1369 = add nsw i32 %1368, 1
  store i32 %1369, ptr %143, align 4, !tbaa !46
  %1370 = load ptr, ptr %19, align 8, !tbaa !5
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %1370, ptr noundef nonnull align 4 dereferenceable(4) %147)
          to label %1371 unwind label %1372

1371:                                             ; preds = %1367
  br label %1376

1372:                                             ; preds = %1367
  %1373 = landingpad { ptr, i32 }
          cleanup
  %1374 = extractvalue { ptr, i32 } %1373, 0
  store ptr %1374, ptr %41, align 8
  %1375 = extractvalue { ptr, i32 } %1373, 1
  store i32 %1375, ptr %42, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #7
  br label %1424

1376:                                             ; preds = %1371, %1354
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #7
  br label %1377

1377:                                             ; preds = %1376
  %1378 = load i64, ptr %146, align 8, !tbaa !211
  %1379 = add i64 %1378, 1
  store i64 %1379, ptr %146, align 8, !tbaa !211
  br label %1349, !llvm.loop !218

1380:                                             ; preds = %1353
  br label %1381

1381:                                             ; preds = %1380, %1345
  %1382 = load i8, ptr %132, align 1, !tbaa !11, !range !50, !noundef !51
  %1383 = trunc i8 %1382 to i1
  br i1 %1383, label %1384, label %1396

1384:                                             ; preds = %1381
  %1385 = load i32, ptr %142, align 4, !tbaa !46
  %1386 = icmp eq i32 %1385, 0
  br i1 %1386, label %1387, label %1390

1387:                                             ; preds = %1384
  %1388 = load i32, ptr %143, align 4, !tbaa !46
  %1389 = icmp eq i32 %1388, 0
  br label %1390

1390:                                             ; preds = %1387, %1384
  %1391 = phi i1 [ false, %1384 ], [ %1389, %1387 ]
  br i1 %1391, label %1392, label %1393

1392:                                             ; preds = %1390
  br label %1395

1393:                                             ; preds = %1390
  call void @__assert_fail(ptr noundef @.str.189, ptr noundef @.str.78, i32 noundef 2463, ptr noundef @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #8
  unreachable

1394:                                             ; No predecessors!
  br label %1395

1395:                                             ; preds = %1394, %1392
  br label %1396

1396:                                             ; preds = %1395, %1381
  %1397 = getelementptr inbounds %class.Highs, ptr %151, i32 0, i32 9
  %1398 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %1397, i32 0, i32 130
  %1399 = load i32, ptr %131, align 4, !tbaa !46
  %1400 = load i32, ptr %142, align 4, !tbaa !46
  %1401 = load i32, ptr %143, align 4, !tbaa !46
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1398, i32 noundef 1, ptr noundef @.str.190, i32 noundef %1399, i32 noundef %1400, i32 noundef %1401)
          to label %1402 unwind label %1411

1402:                                             ; preds = %1396
  %1403 = load i8, ptr %132, align 1, !tbaa !11, !range !50, !noundef !51
  %1404 = trunc i8 %1403 to i1
  %1405 = load i32, ptr %38, align 4, !tbaa !46
  %1406 = load i32, ptr %39, align 4, !tbaa !46
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %148, ptr noundef nonnull align 8 dereferenceable(24) %44)
          to label %1407 unwind label %1411

1407:                                             ; preds = %1402
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %149, ptr noundef nonnull align 8 dereferenceable(24) %45)
          to label %1408 unwind label %1415

1408:                                             ; preds = %1407
  %1409 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %151, i32 noundef 0, i1 noundef zeroext %1404, i32 noundef %1405, i32 noundef %1406, ptr noundef nonnull align 8 dereferenceable(24) %40, ptr noundef nonnull align 8 dereferenceable(24) %43, ptr noundef %148, ptr noundef %149)
          to label %1410 unwind label %1419

1410:                                             ; preds = %1408
  store i32 %1409, ptr %10, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #7
  store i32 1, ptr %66, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  br label %1425

1411:                                             ; preds = %1402, %1396
  %1412 = landingpad { ptr, i32 }
          cleanup
  %1413 = extractvalue { ptr, i32 } %1412, 0
  store ptr %1413, ptr %41, align 8
  %1414 = extractvalue { ptr, i32 } %1412, 1
  store i32 %1414, ptr %42, align 4
  br label %1424

1415:                                             ; preds = %1407
  %1416 = landingpad { ptr, i32 }
          cleanup
  %1417 = extractvalue { ptr, i32 } %1416, 0
  store ptr %1417, ptr %41, align 8
  %1418 = extractvalue { ptr, i32 } %1416, 1
  store i32 %1418, ptr %42, align 4
  br label %1423

1419:                                             ; preds = %1408
  %1420 = landingpad { ptr, i32 }
          cleanup
  %1421 = extractvalue { ptr, i32 } %1420, 0
  store ptr %1421, ptr %41, align 8
  %1422 = extractvalue { ptr, i32 } %1420, 1
  store i32 %1422, ptr %42, align 4
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %149) #7
  br label %1423

1423:                                             ; preds = %1419, %1415
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %148) #7
  br label %1424

1424:                                             ; preds = %1423, %1411, %1372, %1336
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #7
  br label %1426

1425:                                             ; preds = %1410, %1292
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %1428

1426:                                             ; preds = %1424, %1296
  call void @llvm.lifetime.end.p0(i64 1, ptr %132) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #7
  br label %1427

1427:                                             ; preds = %1426, %1161
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #7
  br label %1430

1428:                                             ; preds = %1425, %1139, %1103
  call void @llvm.lifetime.end.p0(i64 16, ptr %125) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #7
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  %1429 = load i32, ptr %10, align 4
  ret i32 %1429

1430:                                             ; preds = %1427, %1148, %1116, %1104
  call void @llvm.lifetime.end.p0(i64 16, ptr %125) #7
  br label %1431

1431:                                             ; preds = %1430, %1088
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #7
  br label %1432

1432:                                             ; preds = %1431, %788
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %57) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %52) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #7
  br label %1433

1433:                                             ; preds = %1432, %247, %209, %205
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %46) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #7
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %45) #7
  br label %1434

1434:                                             ; preds = %1433, %201
  call void @llvm.lifetime.end.p0(i64 24, ptr %45) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %44) #7
  br label %1435

1435:                                             ; preds = %1434, %197
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %43) #7
  br label %1436

1436:                                             ; preds = %1435, %193
  call void @llvm.lifetime.end.p0(i64 24, ptr %43) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %40) #7
  br label %1437

1437:                                             ; preds = %1436, %189
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %33) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %33) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %32) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %31) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %31) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %30) #7
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %29) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %28) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %27) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %26) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %25) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %25) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %22) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %21) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr %20) #7
  br label %1438

1438:                                             ; preds = %1437
  %1439 = load ptr, ptr %41, align 8
  %1440 = load i32, ptr %42, align 4
  %1441 = insertvalue { ptr, i32 } poison, ptr %1439, 0
  %1442 = insertvalue { ptr, i32 } %1441, i32 %1440, 1
  resume { ptr, i32 } %1442

1443:                                             ; preds = %966, %597
  unreachable
}

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

declare noundef i32 @_ZN5Highs16changeColsBoundsEiiPKdS1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef, ptr noundef) #2

declare noundef i32 @_ZN5Highs21changeColsIntegralityEiiPK12HighsVarType(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef) #2

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) #6

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

declare noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #2

declare noundef i32 @_ZN5Highs7addRowsEiPKdS1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) #2

declare noundef i32 @_ZN5Highs11passColNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

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

declare noundef i32 @_ZN5Highs11passRowNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16)) #5 align 2

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

declare noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, double noundef, double noundef) #2

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

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

declare i32 @printf(ptr noundef, ...) #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_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 = { "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 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"double", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !15, i64 0}
!14 = !{!"_ZTS7HighsLp", !15, i64 0, !15, i64 4, !16, i64 8, !16, i64 32, !16, i64 56, !16, i64 80, !16, i64 104, !20, i64 128, !26, i64 240, !10, i64 248, !27, i64 256, !27, i64 288, !15, i64 320, !15, i64 324, !30, i64 328, !30, i64 352, !34, i64 376, !38, i64 400, !38, i64 456, !15, i64 512, !15, i64 516, !44, i64 520, !12, i64 592, !12, i64 593, !15, i64 596, !12, i64 600, !45, i64 608}
!15 = !{!"int", !7, i64 0}
!16 = !{!"_ZTSSt6vectorIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!20 = !{!"_ZTS17HighsSparseMatrix", !21, i64 0, !15, i64 4, !15, i64 8, !22, i64 16, !22, i64 40, !22, i64 64, !16, i64 88}
!21 = !{!"_ZTS12MatrixFormat", !7, i64 0}
!22 = !{!"_ZTSSt6vectorIiSaIiEE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{!"_ZTS8ObjSense", !7, i64 0}
!27 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !28, i64 0, !29, i64 8, !7, i64 16}
!28 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!29 = !{!"long", !7, i64 0}
!30 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!34 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !35, i64 0}
!35 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !37, i64 0}
!37 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!38 = !{!"_ZTS13HighsNameHash", !39, i64 0}
!39 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !40, i64 0}
!40 = !{!"_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, !29, i64 8, !41, i64 16, !29, i64 24, !42, i64 32, !6, i64 48}
!41 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!42 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !43, i64 0, !29, i64 8}
!43 = !{!"float", !7, i64 0}
!44 = !{!"_ZTS10HighsScale", !15, i64 0, !12, i64 4, !15, i64 8, !15, i64 12, !10, i64 16, !16, i64 24, !16, i64 48}
!45 = !{!"_ZTS11HighsLpMods", !22, i64 0, !22, i64 24, !16, i64 48, !16, i64 72, !34, i64 96, !22, i64 120, !16, i64 144, !22, i64 168, !16, i64 192, !22, i64 216, !16, i64 240, !16, i64 264, !16, i64 288}
!46 = !{!15, !15, i64 0}
!47 = !{!14, !15, i64 4}
!48 = !{!49, !49, i64 0}
!49 = !{!"_ZTS11HighsStatus", !7, i64 0}
!50 = !{i8 0, i8 2}
!51 = !{}
!52 = !{!53, !53, i64 0}
!53 = !{!"_ZTS12HighsVarType", !7, i64 0}
!54 = distinct !{!54, !55}
!55 = !{!"llvm.loop.mustprogress"}
!56 = distinct !{!56, !55}
!57 = distinct !{!57, !55}
!58 = distinct !{!58, !55}
!59 = distinct !{!59, !55}
!60 = !{!61, !6, i64 0}
!61 = !{!"_ZTSZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEE3$_0", !6, i64 0, !6, i64 8}
!62 = !{!63, !119, i64 4676}
!63 = !{!"_ZTS5Highs", !64, i64 8, !65, i64 112, !70, i64 208, !75, i64 312, !78, i64 1312, !75, i64 1336, !82, i64 2336, !83, i64 2472, !94, i64 2728, !101, i64 3752, !107, i64 3936, !109, i64 4520, !114, i64 4648, !118, i64 4672, !119, i64 4676, !12, i64 4680, !10, i64 4688, !16, i64 4696, !16, i64 4720, !20, i64 4744, !120, i64 4856, !184, i64 19424, !15, i64 19448, !12, i64 19452, !15, i64 19456, !12, i64 19460, !189, i64 19464}
!64 = !{!"_ZTS13HighsSolution", !12, i64 0, !12, i64 1, !16, i64 8, !16, i64 32, !16, i64 56, !16, i64 80}
!65 = !{!"_ZTS10HighsBasis", !12, i64 0, !12, i64 1, !12, i64 2, !12, i64 3, !15, i64 4, !15, i64 8, !27, i64 16, !66, i64 48, !66, i64 72}
!66 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !67, i64 0}
!67 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!70 = !{!"_ZTS10ICrashInfo", !15, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !71, i64 48, !16, i64 72, !10, i64 96}
!71 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !72, i64 0}
!72 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !73, i64 0}
!73 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !74, i64 0}
!74 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!75 = !{!"_ZTS10HighsModel", !14, i64 0, !76, i64 920}
!76 = !{!"_ZTS12HighsHessian", !15, i64 0, !77, i64 4, !22, i64 8, !22, i64 32, !16, i64 56}
!77 = !{!"_ZTS13HessianFormat", !7, i64 0}
!78 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !79, i64 0}
!79 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !80, i64 0}
!80 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !81, i64 0}
!81 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!82 = !{!"_ZTS10HighsTimer", !10, i64 8, !15, i64 16, !22, i64 24, !16, i64 48, !16, i64 72, !30, i64 96, !15, i64 120, !15, i64 124, !15, i64 128}
!83 = !{!"_ZTS13HighsCallback", !84, i64 0, !6, i64 32, !6, i64 40, !86, i64 48, !92, i64 88, !93, i64 240}
!84 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !85, i64 0, !6, i64 24}
!85 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!86 = !{!"_ZTSSt6vectorIbSaIbEE", !87, i64 0}
!87 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !88, i64 0}
!88 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !89, i64 0}
!89 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !90, i64 0, !90, i64 16, !6, i64 32}
!90 = !{!"_ZTSSt13_Bit_iterator", !91, i64 0}
!91 = !{!"_ZTSSt18_Bit_iterator_base", !6, i64 0, !15, i64 8}
!92 = !{!"_ZTS20HighsCallbackDataOut", !15, i64 0, !10, i64 8, !15, i64 16, !15, i64 20, !15, i64 24, !10, i64 32, !29, i64 40, !29, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !6, i64 80, !15, i64 88, !15, i64 92, !15, i64 96, !6, i64 104, !6, i64 112, !6, i64 120, !6, i64 128, !6, i64 136, !15, i64 144}
!93 = !{!"_ZTS19HighsCallbackDataIn", !15, i64 0, !6, i64 8}
!94 = !{!"_ZTS12HighsOptions", !95, i64 0, !97, i64 992, !15, i64 1016}
!95 = !{!"_ZTS18HighsOptionsStruct", !27, i64 8, !27, i64 40, !27, i64 72, !27, i64 104, !10, i64 136, !27, i64 144, !27, i64 176, !15, i64 208, !27, 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, !15, i64 336, !15, i64 340, !15, i64 344, !15, i64 348, !15, i64 352, !15, i64 356, !15, i64 360, !15, i64 364, !15, i64 368, !15, i64 372, !15, i64 376, !15, i64 380, !15, i64 384, !15, i64 388, !27, i64 392, !12, i64 424, !12, i64 425, !12, i64 426, !15, i64 428, !15, i64 432, !27, i64 440, !12, i64 472, !12, i64 473, !12, i64 474, !15, i64 476, !12, i64 480, !12, i64 481, !15, i64 484, !15, i64 488, !10, i64 496, !15, i64 504, !15, i64 508, !15, i64 512, !12, i64 516, !15, i64 520, !12, i64 524, !12, i64 525, !12, i64 526, !12, i64 527, !12, i64 528, !12, i64 529, !12, i64 530, !15, i64 532, !15, i64 536, !15, i64 540, !15, i64 544, !15, i64 548, !15, i64 552, !15, i64 556, !15, i64 560, !15, i64 564, !15, i64 568, !15, i64 572, !15, i64 576, !15, i64 580, !15, i64 584, !15, i64 588, !12, i64 592, !12, i64 593, !12, i64 594, !12, 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, !12, i64 688, !12, i64 689, !12, i64 690, !12, i64 691, !15, i64 692, !10, i64 696, !12, i64 704, !12, i64 705, !27, i64 712, !10, i64 744, !15, i64 752, !15, i64 756, !12, i64 760, !12, i64 761, !12, i64 762, !12, i64 763, !15, i64 764, !15, i64 768, !15, i64 772, !15, i64 776, !15, i64 780, !15, i64 784, !15, i64 788, !15, i64 792, !15, i64 796, !15, i64 800, !15, i64 804, !10, i64 808, !10, i64 816, !10, i64 824, !10, i64 832, !10, i64 840, !12, i64 848, !12, i64 849, !27, i64 856, !12, i64 888, !15, i64 892, !96, i64 896}
!96 = !{!"_ZTS15HighsLogOptions", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !84, i64 48, !6, i64 80, !12, i64 88}
!97 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !98, i64 0}
!98 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !99, i64 0}
!99 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !100, i64 0}
!100 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!101 = !{!"_ZTS9HighsInfo", !102, i64 8, !103, i64 160}
!102 = !{!"_ZTS15HighsInfoStruct", !12, i64 0, !29, i64 8, !15, i64 16, !15, i64 20, !15, i64 24, !15, i64 28, !15, i64 32, !15, i64 36, !15, i64 40, !15, i64 44, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !15, i64 80, !10, i64 88, !10, i64 96, !15, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !10, i64 136, !10, i64 144}
!103 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !104, i64 0}
!104 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !105, i64 0}
!105 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !106, i64 0}
!106 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!107 = !{!"_ZTS12HighsRanging", !12, i64 0, !108, i64 8, !108, i64 104, !108, i64 200, !108, i64 296, !108, i64 392, !108, i64 488}
!108 = !{!"_ZTS18HighsRangingRecord", !16, i64 0, !16, i64 24, !22, i64 48, !22, i64 72}
!109 = !{!"_ZTS8HighsIis", !12, i64 0, !15, i64 4, !22, i64 8, !22, i64 32, !22, i64 56, !22, i64 80, !110, i64 104}
!110 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !111, i64 0}
!111 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !112, i64 0}
!112 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !113, i64 0}
!113 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!114 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !115, i64 0}
!115 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !116, i64 0}
!116 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !117, i64 0}
!117 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!118 = !{!"_ZTS19HighsPresolveStatus", !7, i64 0}
!119 = !{!"_ZTS16HighsModelStatus", !7, i64 0}
!120 = !{!"_ZTS4HEkk", !6, i64 0, !6, i64 8, !6, i64 16, !121, i64 24, !14, i64 8600, !27, i64 9520, !138, i64 9552, !139, i64 9568, !119, i64 10608, !140, i64 10616, !145, i64 10736, !158, i64 10776, !16, i64 10784, !16, i64 10808, !12, i64 10832, !20, i64 10840, !20, i64 10952, !159, i64 11064, !176, i64 13928, !10, i64 14048, !10, i64 14056, !10, i64 14064, !15, i64 14072, !15, i64 14076, !15, i64 14080, !15, i64 14084, !12, i64 14088, !12, i64 14089, !177, i64 14092, !15, i64 14096, !15, i64 14100, !22, i64 14104, !16, i64 14128, !178, i64 14152, !178, i64 14184, !15, i64 14216, !15, i64 14220, !15, i64 14224, !10, i64 14232, !16, i64 14240, !16, i64 14264, !16, i64 14288, !16, i64 14312, !16, i64 14336, !22, i64 14360, !22, i64 14384, !10, i64 14408, !10, i64 14416, !10, i64 14424, !15, i64 14432, !15, i64 14436, !12, i64 14440, !15, i64 14444, !12, i64 14448, !12, i64 14449, !12, i64 14450, !12, i64 14451, !10, i64 14456, !179, i64 14464, !16, i64 14488, !183, i64 14512}
!121 = !{!"_ZTS20HighsSimplexAnalysis", !6, i64 0, !122, i64 8, !122, i64 32, !6, i64 56, !15, i64 64, !15, i64 68, !15, i64 72, !27, i64 80, !27, i64 112, !96, i64 144, !12, i64 240, !12, i64 241, !12, i64 242, !12, i64 243, !12, i64 244, !12, i64 245, !12, i64 246, !15, i64 248, !126, i64 252, !15, i64 256, !15, i64 260, !15, i64 264, !15, i64 268, !15, i64 272, !15, i64 276, !15, i64 280, !27, 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, !15, i64 416, !15, i64 420, !10, i64 424, !10, i64 432, !15, i64 440, !10, i64 448, !10, i64 456, !15, 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, !15, i64 552, !10, i64 560, !15, i64 568, !15, i64 572, !15, i64 576, !15, i64 580, !15, i64 584, !15, i64 588, !15, i64 592, !15, i64 596, !15, i64 600, !127, i64 608, !127, i64 760, !127, i64 912, !127, i64 1064, !127, i64 1216, !127, i64 1368, !127, i64 1520, !127, i64 1672, !127, i64 1824, !127, i64 1976, !15, i64 2128, !15, i64 2132, !15, i64 2136, !15, i64 2140, !10, i64 2144, !10, i64 2152, !15, i64 2160, !15, i64 2164, !15, i64 2168, !15, i64 2172, !15, i64 2176, !10, i64 2184, !10, i64 2192, !15, i64 2200, !10, i64 2208, !10, i64 2216, !15, i64 2224, !15, i64 2228, !10, i64 2232, !10, i64 2240, !16, i64 2248, !16, i64 2272, !16, i64 2296, !16, i64 2320, !128, i64 2344, !132, i64 2368, !15, i64 2376, !15, i64 2380, !15, i64 2384, !15, 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, !15, i64 2472, !15, i64 2476, !10, i64 2480, !10, i64 2488, !10, i64 2496, !12, i64 2504, !10, i64 2512, !10, i64 2520, !15, i64 2528, !15, i64 2532, !15, i64 2536, !15, i64 2540, !15, 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, !15, i64 2624, !15, i64 2628, !7, i64 2632, !15, i64 4952, !15, i64 4956, !7, i64 4960, !7, i64 7600, !7, i64 7648, !127, i64 7664, !127, i64 7816, !127, i64 7968, !127, i64 8120, !127, i64 8272, !127, i64 8424}
!122 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !123, i64 0}
!123 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !124, i64 0}
!124 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !125, i64 0}
!125 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!126 = !{!"_ZTS14EdgeWeightMode", !7, i64 0}
!127 = !{!"_ZTS22HighsValueDistribution", !27, i64 0, !27, i64 32, !15, i64 64, !15, i64 68, !15, i64 72, !10, i64 80, !10, i64 88, !16, i64 96, !22, i64 120, !15, i64 144}
!128 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !129, i64 0}
!129 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !130, i64 0}
!130 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !131, i64 0}
!131 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!132 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !133, i64 0}
!133 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !134, i64 0}
!134 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !135, i64 0}
!135 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !136, i64 0}
!136 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !137, i64 0}
!137 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !6, i64 0}
!138 = !{!"_ZTS18HighsSimplexStatus", !12, i64 0, !12, i64 1, !12, i64 2, !12, i64 3, !12, i64 4, !12, i64 5, !12, i64 6, !12, i64 7, !12, i64 8, !12, i64 9, !12, i64 10, !12, i64 11, !12, i64 12}
!139 = !{!"_ZTS16HighsSimplexInfo", !16, i64 0, !16, i64 24, !16, i64 48, !16, i64 72, !16, i64 96, !16, i64 120, !16, i64 144, !16, i64 168, !16, i64 192, !16, i64 216, !16, i64 240, !16, i64 264, !16, i64 288, !22, i64 312, !22, i64 336, !22, i64 360, !22, i64 384, !16, i64 408, !15, i64 432, !15, i64 436, !12, i64 440, !12, i64 441, !140, i64 448, !15, i64 568, !15, i64 572, !15, i64 576, !16, i64 584, !16, i64 608, !16, i64 632, !16, i64 656, !15, i64 680, !15, i64 684, !15, i64 688, !15, i64 692, !10, i64 696, !10, i64 704, !10, i64 712, !10, i64 720, !15, i64 728, !15, 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, !12, i64 816, !10, i64 824, !10, i64 832, !15, i64 840, !10, i64 848, !10, i64 856, !10, i64 864, !12, i64 872, !12, i64 873, !12, i64 874, !12, i64 875, !12, i64 876, !12, i64 877, !12, i64 878, !12, i64 879, !12, i64 880, !12, i64 881, !12, i64 882, !12, i64 883, !12, i64 884, !12, i64 885, !12, i64 886, !15, i64 888, !10, i64 896, !10, i64 904, !15, i64 912, !10, i64 920, !10, i64 928, !15, i64 936, !15, i64 940, !15, i64 944, !15, i64 948, !15, i64 952, !15, i64 956, !15, i64 960, !15, i64 964, !15, i64 968, !15, i64 972, !15, i64 976, !15, i64 980, !15, i64 984, !15, i64 988, !15, i64 992, !15, i64 996, !10, i64 1000, !10, i64 1008, !10, i64 1016, !10, i64 1024, !15, i64 1032}
!140 = !{!"_ZTS12SimplexBasis", !22, i64 0, !141, i64 24, !141, i64 48, !29, i64 72, !15, i64 80, !15, i64 84, !27, i64 88}
!141 = !{!"_ZTSSt6vectorIaSaIaEE", !142, i64 0}
!142 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !143, i64 0}
!143 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !144, i64 0}
!144 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!145 = !{!"_ZTS14HighsHashTableImvE", !146, i64 0, !152, i64 8, !29, i64 16, !29, i64 24, !29, i64 32}
!146 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !147, i64 0}
!147 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !148, i64 0}
!148 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !149, i64 0}
!149 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !150, i64 0}
!150 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !151, i64 0}
!151 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !6, i64 0}
!152 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !153, i64 0}
!153 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !154, i64 0}
!154 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !155, i64 0}
!155 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !156, i64 0}
!156 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !157, i64 0}
!157 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !6, i64 0}
!158 = !{!"_ZTS11HighsRandom", !29, i64 0}
!159 = !{!"_ZTS11HSimplexNla", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !160, i64 48, !12, i64 1960, !10, i64 1968, !173, i64 1976, !174, i64 2112}
!160 = !{!"_ZTS7HFactor", !10, i64 0, !10, i64 8, !15, i64 16, !22, i64 24, !22, i64 48, !22, i64 72, !161, i64 96, !15, i64 184, !15, i64 188, !15, i64 192, !15, i64 196, !15, i64 200, !15, i64 204, !15, i64 208, !10, i64 216, !12, i64 224, !6, i64 232, !6, i64 240, !6, i64 248, !6, i64 256, !10, i64 264, !10, i64 272, !15, i64 280, !10, i64 288, !162, i64 296, !96, i64 304, !12, i64 400, !12, i64 401, !15, i64 404, !15, i64 408, !6, i64 416, !15, i64 424, !22, i64 432, !16, i64 456, !22, i64 480, !22, i64 504, !22, i64 528, !16, i64 552, !22, i64 576, !22, i64 600, !22, i64 624, !22, i64 648, !22, i64 672, !22, i64 696, !22, i64 720, !16, i64 744, !16, i64 768, !22, i64 792, !22, i64 816, !22, i64 840, !22, i64 864, !22, i64 888, !22, i64 912, !168, i64 936, !16, i64 960, !22, i64 984, !22, i64 1008, !22, i64 1032, !22, i64 1056, !22, i64 1080, !22, i64 1104, !22, i64 1128, !22, i64 1152, !22, i64 1176, !22, i64 1200, !16, i64 1224, !22, i64 1248, !22, i64 1272, !16, i64 1296, !22, i64 1320, !22, i64 1344, !16, i64 1368, !15, i64 1392, !15, i64 1396, !22, i64 1400, !22, i64 1424, !22, i64 1448, !16, i64 1472, !22, i64 1496, !22, i64 1520, !22, i64 1544, !22, i64 1568, !16, i64 1592, !16, i64 1616, !22, i64 1640, !22, i64 1664, !22, i64 1688, !16, i64 1712, !172, i64 1736}
!161 = !{!"_ZTS12RefactorInfo", !12, i64 0, !22, i64 8, !22, i64 32, !141, i64 56, !10, i64 80}
!162 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !163, i64 0}
!163 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !164, i64 0}
!164 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !165, i64 0}
!165 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !166, i64 0}
!166 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !167, i64 0}
!167 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !6, i64 0}
!168 = !{!"_ZTSSt6vectorIcSaIcEE", !169, i64 0}
!169 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !170, i64 0}
!170 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !171, i64 0}
!171 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!172 = !{!"_ZTS11HVectorBaseIdE", !15, i64 0, !15, i64 4, !22, i64 8, !16, i64 32, !10, i64 56, !168, i64 64, !22, i64 88, !6, i64 112, !12, i64 120, !15, i64 124, !22, i64 128, !16, i64 152}
!173 = !{!"_ZTS17ProductFormUpdate", !12, i64 0, !15, i64 4, !15, i64 8, !22, i64 16, !16, i64 40, !22, i64 64, !22, i64 88, !16, i64 112}
!174 = !{!"_ZTS14SimplexIterate", !12, i64 0, !140, i64 8, !175, i64 128, !16, i64 728}
!175 = !{!"_ZTS24InvertibleRepresentation", !22, i64 0, !22, i64 24, !22, i64 48, !22, i64 72, !16, i64 96, !22, i64 120, !22, i64 144, !16, i64 168, !22, i64 192, !22, i64 216, !16, i64 240, !22, i64 264, !22, i64 288, !22, i64 312, !16, i64 336, !22, i64 360, !22, i64 384, !22, i64 408, !22, i64 432, !16, i64 456, !22, i64 480, !22, i64 504, !16, i64 528, !22, i64 552, !16, i64 576}
!176 = !{!"_ZTS8HotStart", !12, i64 0, !161, i64 8, !141, i64 96}
!177 = !{!"_ZTS16SimplexAlgorithm", !7, i64 0}
!178 = !{!"_ZTS14HighsRayRecord", !15, i64 0, !15, i64 4, !16, i64 8}
!179 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !180, i64 0}
!180 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !181, i64 0}
!181 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !182, i64 0}
!182 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!183 = !{!"_ZTS17HighsSimplexStats", !12, i64 0, !15, i64 4, !15, i64 8, !15, i64 12, !15, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48}
!184 = !{!"_ZTS16HighsPresolveLog", !185, i64 0}
!185 = !{!"_ZTSSt6vectorI20HighsPresolveRuleLogSaIS0_EE", !186, i64 0}
!186 = !{!"_ZTSSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE", !187, i64 0}
!187 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE12_Vector_implE", !188, i64 0}
!188 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!189 = !{!"_ZTS17PresolveComponent", !190, i64 0, !194, i64 16, !195, i64 56, !6, i64 1440, !6, i64 1448, !118, i64 1456, !210, i64 1460}
!190 = !{!"_ZTS14HighsComponent", !191, i64 8, !192, i64 9, !193, i64 10}
!191 = !{!"_ZTS18HighsComponentInfo", !12, i64 0}
!192 = !{!"_ZTS18HighsComponentData", !12, i64 0}
!193 = !{!"_ZTS21HighsComponentOptions", !12, i64 0}
!194 = !{!"_ZTS21PresolveComponentInfo", !191, i64 8, !15, i64 12, !15, i64 16, !15, i64 20, !10, i64 24, !10, i64 32}
!195 = !{!"_ZTS21PresolveComponentData", !192, i64 8, !14, i64 16, !196, i64 936, !64, i64 1160, !65, i64 1264, !184, i64 1360}
!196 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !29, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !197, i64 40, !198, i64 72, !22, i64 96, !22, i64 120, !202, i64 144, !206, i64 168, !206, i64 192, !15, i64 216, !15, i64 220}
!197 = !{!"_ZTS14HighsDataStack", !168, i64 0, !29, i64 24}
!198 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !199, i64 0}
!199 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !200, i64 0}
!200 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !201, i64 0}
!201 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!202 = !{!"_ZTSSt6vectorIhSaIhEE", !203, i64 0}
!203 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !204, i64 0}
!204 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !205, i64 0}
!205 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!206 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !207, i64 0}
!207 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !208, i64 0}
!208 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !209, i64 0}
!209 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!210 = !{!"_ZTS20HighsPostsolveStatus", !7, i64 0}
!211 = !{!29, !29, i64 0}
!212 = !{!95, !10, i64 280}
!213 = distinct !{!213, !55}
!214 = distinct !{!214, !55}
!215 = !{!119, !119, i64 0}
!216 = distinct !{!216, !55}
!217 = distinct !{!217, !55}
!218 = distinct !{!218, !55}


; 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.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.23" = type { %"struct.std::_Vector_base.24" }
%"struct.std::_Vector_base.24" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%class.anon = type { ptr, ptr }

@.str.78 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [31 x i8], align 1
@__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE = external hidden unnamed_addr constant [163 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [53 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.178 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 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 void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

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

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

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #3 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 void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

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

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

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

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

declare noundef i32 @_ZN5Highs14changeColsCostEiiPKd(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE(ptr noundef nonnull align 8 dereferenceable(20928) %0, double noundef %1, double noundef %2, double noundef %3, ptr noundef readonly %4, ptr noundef readonly %5, ptr noundef readonly %6, i1 noundef zeroext %7, ptr noundef nonnull align 8 dereferenceable(24) %8) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %10 = alloca %"class.std::vector.13", align 8
  %11 = alloca %"class.std::vector.13", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca %"class.std::vector", align 8
  %14 = alloca %"class.std::vector", align 8
  %15 = alloca %"class.std::vector", align 8
  %16 = alloca %"class.std::vector.13", align 8
  %17 = alloca %"class.std::vector.13", align 8
  %18 = alloca %"class.std::vector", align 8
  %19 = alloca %"class.std::vector.18", align 8
  %20 = alloca %"class.std::vector.18", align 8
  %21 = alloca %"class.std::vector", align 8
  %22 = alloca %"class.std::vector", align 8
  %23 = alloca %"class.std::vector", align 8
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca %"class.std::vector", align 8
  %27 = alloca %"class.std::vector", align 8
  %28 = alloca %"class.std::vector", align 8
  %29 = alloca %"class.std::vector.23", align 8
  %30 = alloca %"class.std::vector", align 8
  %31 = alloca double, align 8
  %32 = alloca %"class.std::vector.23", align 8
  %33 = alloca i8, align 1
  %34 = alloca %"class.std::vector", align 8
  %35 = alloca %"class.std::vector", align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca double, align 8
  %39 = alloca double, align 8
  %40 = alloca double, align 8
  %41 = alloca double, align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca %"class.std::__cxx11::basic_string", align 8
  %47 = alloca double, align 8
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_string", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca double, align 8
  %54 = alloca %"class.std::__cxx11::basic_string", align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca double, align 8
  %60 = alloca i32, align 4
  %61 = alloca double, align 8
  %62 = alloca %"class.std::vector.13", align 8
  %63 = alloca %"class.std::vector.13", align 8
  %64 = alloca %"class.std::vector", align 8
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca double, align 8
  %68 = alloca double, align 8
  %69 = alloca double, align 8
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca double, align 8
  %76 = alloca i32, align 4
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::__cxx11::basic_string", align 8
  %79 = alloca %"class.std::__cxx11::basic_string", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca double, align 8
  %83 = alloca i32, align 4
  %84 = alloca double, align 8
  %85 = alloca %class.anon, align 8
  %86 = alloca %"class.std::vector", align 8
  %87 = alloca %"class.std::vector.23", align 8
  %88 = alloca %"class.std::vector", align 8
  %89 = alloca %"class.std::vector.23", align 8
  %90 = alloca %"class.std::vector", align 8
  %91 = alloca %"class.std::vector.23", align 8
  %92 = alloca i32, align 4
  %93 = alloca %"class.std::vector", align 8
  %94 = alloca %"class.std::vector.23", align 8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %16) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %17) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %18) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %19) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %20) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %21) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %22) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %23) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %95 = getelementptr inbounds i8, ptr %0, i64 312
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #8
  %96 = load i32, ptr %95, align 8, !tbaa !5
  store i32 %96, ptr %24, align 4, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #8
  %97 = getelementptr inbounds i8, ptr %0, i64 316
  %98 = load i32, ptr %97, align 4, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %26) #8
  %99 = getelementptr inbounds i8, ptr %0, i64 320
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %99)
          to label %100 unwind label %116

100:                                              ; preds = %9
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %27) #8
  %101 = getelementptr inbounds i8, ptr %0, i64 344
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull align 8 dereferenceable(24) %101)
          to label %102 unwind label %118

102:                                              ; preds = %100
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %28) #8
  %103 = getelementptr inbounds i8, ptr %0, i64 368
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %28, ptr noundef nonnull align 8 dereferenceable(24) %103)
          to label %104 unwind label %120

104:                                              ; preds = %102
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %29) #8
  %105 = getelementptr inbounds i8, ptr %0, i64 688
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %29, ptr noundef nonnull align 8 dereferenceable(24) %105)
          to label %106 unwind label %122

106:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %30) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  %107 = sext i32 %96 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #8
  store double 0.000000e+00, ptr %31, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %30, i64 noundef %107, ptr noundef nonnull align 8 dereferenceable(8) %31)
          to label %108 unwind label %124

108:                                              ; preds = %106
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  %109 = load i32, ptr %95, align 8, !tbaa !5
  %110 = add nsw i32 %109, -1
  %111 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  %112 = invoke noundef i32 @_ZN5Highs14changeColsCostEiiPKd(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef 0, i32 noundef %110, ptr noundef %111)
          to label %113 unwind label %126

113:                                              ; preds = %108
  store i32 %112, ptr %25, align 4, !tbaa !46
  %114 = icmp eq i32 %112, 0
  br i1 %114, label %128, label %115

115:                                              ; preds = %113
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2109, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

116:                                              ; preds = %9
  %117 = landingpad { ptr, i32 }
          cleanup
  br label %767

118:                                              ; preds = %100
  %119 = landingpad { ptr, i32 }
          cleanup
  br label %766

120:                                              ; preds = %102
  %121 = landingpad { ptr, i32 }
          cleanup
  br label %765

122:                                              ; preds = %104
  %123 = landingpad { ptr, i32 }
          cleanup
  br label %764

124:                                              ; preds = %106
  %125 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #8
  br label %763

126:                                              ; preds = %108
  %127 = landingpad { ptr, i32 }
          cleanup
  br label %763

128:                                              ; preds = %113
  br i1 %7, label %129, label %146

129:                                              ; preds = %128
  %130 = call noundef i64 @_ZNKSt6vectorI12HighsVarTypeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %105) #8
  %.not = icmp eq i64 %130, 0
  br i1 %.not, label %146, label %131

131:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %32) #8
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %33) #8
  store i8 0, ptr %33, align 1, !tbaa !48
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6assignEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %32, i64 noundef %107, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %132 unwind label %140

132:                                              ; preds = %131
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  %133 = load i32, ptr %95, align 8, !tbaa !5
  %134 = add nsw i32 %133, -1
  %135 = call noundef ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  %136 = invoke noundef i32 @_ZN5Highs21changeColsIntegralityEiiPK12HighsVarType(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef 0, i32 noundef %134, ptr noundef %135)
          to label %137 unwind label %142

137:                                              ; preds = %132
  store i32 %136, ptr %25, align 4, !tbaa !46
  %138 = icmp eq i32 %136, 0
  br i1 %138, label %144, label %139

139:                                              ; preds = %137
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2117, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

140:                                              ; preds = %131
  %141 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %33) #8
  br label %145

142:                                              ; preds = %132
  %143 = landingpad { ptr, i32 }
          cleanup
  br label %145

144:                                              ; preds = %137
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %146

145:                                              ; preds = %142, %140
  %.pn = phi { ptr, i32 } [ %143, %142 ], [ %141, %140 ]
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %32) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %32) #8
  br label %763

146:                                              ; preds = %144, %129, %128
  %147 = icmp ne ptr %4, null
  %148 = fcmp oge double %1, 0.000000e+00
  %149 = icmp ne ptr %5, null
  %150 = fcmp oge double %2, 0.000000e+00
  %151 = or i1 %148, %150
  %152 = or i1 %151, %149
  %153 = or i1 %147, %152
  %154 = icmp ne ptr %6, null
  %155 = fcmp oge double %3, 0.000000e+00
  %156 = or i1 %155, %154
  %157 = or i1 %153, %156
  br i1 %157, label %159, label %158

158:                                              ; preds = %146
  call void @__assert_fail(ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.78, i32 noundef 2134, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

159:                                              ; preds = %146
  %160 = load i32, ptr %95, align 8, !tbaa !5
  br i1 %153, label %161, label %444

161:                                              ; preds = %159
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %34) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %35) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  %162 = getelementptr inbounds i8, ptr %0, i64 640
  %163 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %162) #8
  %.not275 = icmp eq i64 %163, 0
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #8
  store i32 0, ptr %36, align 4, !tbaa !43
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 4 dereferenceable(4) %36)
          to label %164 unwind label %179

164:                                              ; preds = %161
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #8
  store i32 0, ptr %37, align 4, !tbaa !43
  %165 = load i32, ptr %95, align 8, !tbaa !5
  %166 = icmp sgt i32 %165, 0
  br i1 %166, label %.lr.ph, label %._crit_edge

._crit_edge:                                      ; preds = %353, %164
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #8
  %167 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  %168 = trunc i64 %167 to i32
  %169 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %170 = trunc i64 %169 to i32
  %171 = add i32 %170, -1
  %172 = sext i32 %171 to i64
  %173 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %172) #8
  %174 = load i32, ptr %173, align 4, !tbaa !43
  %175 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  %176 = load i32, ptr %95, align 8, !tbaa !5
  %177 = sext i32 %176 to i64
  %178 = icmp eq i64 %175, %177
  br i1 %178, label %361, label %360

179:                                              ; preds = %161
  %180 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #8
  br label %443

.lr.ph:                                           ; preds = %164, %353
  %storemerge374 = phi i32 [ %355, %353 ], [ 0, %164 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #8
  %181 = sext i32 %storemerge374 to i64
  %182 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %101, i64 noundef %181) #8
  %183 = load double, ptr %182, align 8, !tbaa !45
  store double %183, ptr %38, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #8
  %184 = load i32, ptr %37, align 4, !tbaa !43
  %185 = sext i32 %184 to i64
  %186 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %103, i64 noundef %185) #8
  %187 = load double, ptr %186, align 8, !tbaa !45
  store double %187, ptr %39, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %34, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %188 unwind label %194

188:                                              ; preds = %.lr.ph
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %35, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %189 unwind label %194

189:                                              ; preds = %188
  %190 = load double, ptr %38, align 8, !tbaa !45
  %191 = fcmp oeq double %190, 0xFFF0000000000000
  %192 = load double, ptr %39, align 8
  %193 = fcmp oeq double %192, 0x7FF0000000000000
  %or.cond = select i1 %191, i1 %193, i1 false
  br i1 %or.cond, label %353, label %196

194:                                              ; preds = %188, %.lr.ph
  %195 = landingpad { ptr, i32 }
          cleanup
  br label %359

196:                                              ; preds = %189
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %40) #8
  br i1 %147, label %197, label %202

197:                                              ; preds = %196
  %198 = load i32, ptr %37, align 4, !tbaa !43
  %199 = sext i32 %198 to i64
  %200 = getelementptr inbounds double, ptr %4, i64 %199
  %201 = load double, ptr %200, align 8, !tbaa !45
  br label %202

202:                                              ; preds = %196, %197
  %203 = phi double [ %201, %197 ], [ %1, %196 ]
  store double %203, ptr %40, align 8, !tbaa !45
  %204 = fcmp olt double %203, 0.000000e+00
  %or.cond3 = select i1 %204, i1 %193, i1 false
  br i1 %or.cond3, label %352, label %205

205:                                              ; preds = %202
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #8
  br i1 %149, label %206, label %211

206:                                              ; preds = %205
  %207 = load i32, ptr %37, align 4, !tbaa !43
  %208 = sext i32 %207 to i64
  %209 = getelementptr inbounds double, ptr %5, i64 %208
  %210 = load double, ptr %209, align 8, !tbaa !45
  br label %211

211:                                              ; preds = %205, %206
  %212 = phi double [ %210, %206 ], [ %2, %205 ]
  store double %212, ptr %41, align 8, !tbaa !45
  %213 = fcmp olt double %212, 0.000000e+00
  %or.cond5 = select i1 %191, i1 %213, i1 false
  br i1 %or.cond5, label %351, label %214

214:                                              ; preds = %211
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %14, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %215 unwind label %227

215:                                              ; preds = %214
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %216 unwind label %227

216:                                              ; preds = %215
  br i1 %.not275, label %243, label %217

217:                                              ; preds = %216
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #8
  %218 = load i32, ptr %37, align 4, !tbaa !43
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %46, i32 noundef %218) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %219 unwind label %229

219:                                              ; preds = %217
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %45, ptr noundef nonnull @.str.170)
          to label %220 unwind label %231

220:                                              ; preds = %219
  %221 = load i32, ptr %37, align 4, !tbaa !43
  %222 = sext i32 %221 to i64
  %223 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %162, i64 noundef %222) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %224 unwind label %233

224:                                              ; preds = %220
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull @.str.171)
          to label %225 unwind label %235

225:                                              ; preds = %224
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %20, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %226 unwind label %237

226:                                              ; preds = %225
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  br label %243

227:                                              ; preds = %327, %322, %321, %295, %284, %279, %278, %250, %243, %215, %214
  %228 = landingpad { ptr, i32 }
          cleanup
  br label %358

229:                                              ; preds = %217
  %230 = landingpad { ptr, i32 }
          cleanup
  br label %242

231:                                              ; preds = %219
  %232 = landingpad { ptr, i32 }
          cleanup
  br label %241

233:                                              ; preds = %220
  %234 = landingpad { ptr, i32 }
          cleanup
  br label %240

235:                                              ; preds = %224
  %236 = landingpad { ptr, i32 }
          cleanup
  br label %239

237:                                              ; preds = %225
  %238 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #8
  br label %239

239:                                              ; preds = %237, %235
  %.pn316 = phi { ptr, i32 } [ %238, %237 ], [ %236, %235 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #8
  br label %240

240:                                              ; preds = %239, %233
  %.pn316.pn = phi { ptr, i32 } [ %.pn316, %239 ], [ %234, %233 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %241

241:                                              ; preds = %240, %231
  %.pn316.pn.pn = phi { ptr, i32 } [ %.pn316.pn, %240 ], [ %232, %231 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #8
  br label %242

242:                                              ; preds = %241, %229
  %.pn316.pn.pn.pn = phi { ptr, i32 } [ %.pn316.pn.pn, %241 ], [ %230, %229 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #8
  br label %358

243:                                              ; preds = %226, %216
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %244 unwind label %227

244:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #8
  store double 1.000000e+00, ptr %47, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(8) %47)
          to label %245 unwind label %262

245:                                              ; preds = %244
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  %246 = load double, ptr %38, align 8, !tbaa !45
  %247 = fcmp one double %246, 0xFFF0000000000000
  %248 = load double, ptr %40, align 8
  %249 = fcmp oge double %248, 0.000000e+00
  %or.cond7 = select i1 %247, i1 %249, i1 false
  br i1 %or.cond7, label %250, label %290

250:                                              ; preds = %245
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %251 unwind label %227

251:                                              ; preds = %250
  br i1 %.not275, label %278, label %252

252:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #8
  %253 = load i32, ptr %37, align 4, !tbaa !43
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, i32 noundef %253) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %51, ptr noundef nonnull @.str.172, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %254 unwind label %264

254:                                              ; preds = %252
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull @.str.170)
          to label %255 unwind label %266

255:                                              ; preds = %254
  %256 = load i32, ptr %37, align 4, !tbaa !43
  %257 = sext i32 %256 to i64
  %258 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %162, i64 noundef %257) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(32) %258)
          to label %259 unwind label %268

259:                                              ; preds = %255
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull align 8 dereferenceable(32) %49, ptr noundef nonnull @.str.173)
          to label %260 unwind label %270

260:                                              ; preds = %259
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %261 unwind label %272

261:                                              ; preds = %260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  br label %278

262:                                              ; preds = %244
  %263 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #8
  br label %358

264:                                              ; preds = %252
  %265 = landingpad { ptr, i32 }
          cleanup
  br label %277

266:                                              ; preds = %254
  %267 = landingpad { ptr, i32 }
          cleanup
  br label %276

268:                                              ; preds = %255
  %269 = landingpad { ptr, i32 }
          cleanup
  br label %275

270:                                              ; preds = %259
  %271 = landingpad { ptr, i32 }
          cleanup
  br label %274

272:                                              ; preds = %260
  %273 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #8
  br label %274

274:                                              ; preds = %272, %270
  %.pn321 = phi { ptr, i32 } [ %273, %272 ], [ %271, %270 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #8
  br label %275

275:                                              ; preds = %274, %268
  %.pn321.pn = phi { ptr, i32 } [ %.pn321, %274 ], [ %269, %268 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #8
  br label %276

276:                                              ; preds = %275, %266
  %.pn321.pn.pn = phi { ptr, i32 } [ %.pn321.pn, %275 ], [ %267, %266 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #8
  br label %277

277:                                              ; preds = %276, %264
  %.pn321.pn.pn.pn = phi { ptr, i32 } [ %.pn321.pn.pn, %276 ], [ %265, %264 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #8
  br label %358

278:                                              ; preds = %261, %251
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(8) %38)
          to label %279 unwind label %227

279:                                              ; preds = %278
  %280 = load i32, ptr %37, align 4, !tbaa !43
  %281 = sext i32 %280 to i64
  %282 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %34, i64 noundef %281) #8
  store double 0xFFF0000000000000, ptr %282, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %24)
          to label %283 unwind label %227

283:                                              ; preds = %279
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #8
  store double 1.000000e+00, ptr %53, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(8) %53)
          to label %284 unwind label %288

284:                                              ; preds = %283
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(8) %40)
          to label %285 unwind label %227

285:                                              ; preds = %284
  %286 = load i32, ptr %24, align 4, !tbaa !43
  %287 = add nsw i32 %286, 1
  store i32 %287, ptr %24, align 4, !tbaa !43
  br label %290

288:                                              ; preds = %283
  %289 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #8
  br label %358

290:                                              ; preds = %285, %245
  %291 = load double, ptr %39, align 8, !tbaa !45
  %292 = fcmp one double %291, 0x7FF0000000000000
  %293 = load double, ptr %41, align 8
  %294 = fcmp oge double %293, 0.000000e+00
  %or.cond9 = select i1 %292, i1 %294, i1 false
  br i1 %or.cond9, label %295, label %333

295:                                              ; preds = %290
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %10, ptr noundef nonnull align 4 dereferenceable(4) %37)
          to label %296 unwind label %227

296:                                              ; preds = %295
  br i1 %.not275, label %321, label %297

297:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #8
  %298 = load i32, ptr %37, align 4, !tbaa !43
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, i32 noundef %298) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull @.str.172, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %299 unwind label %307

299:                                              ; preds = %297
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(32) %57, ptr noundef nonnull @.str.170)
          to label %300 unwind label %309

300:                                              ; preds = %299
  %301 = load i32, ptr %37, align 4, !tbaa !43
  %302 = sext i32 %301 to i64
  %303 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %162, i64 noundef %302) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(32) %303)
          to label %304 unwind label %311

304:                                              ; preds = %300
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull align 8 dereferenceable(32) %55, ptr noundef nonnull @.str.174)
          to label %305 unwind label %313

305:                                              ; preds = %304
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %306 unwind label %315

306:                                              ; preds = %305
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  br label %321

307:                                              ; preds = %297
  %308 = landingpad { ptr, i32 }
          cleanup
  br label %320

309:                                              ; preds = %299
  %310 = landingpad { ptr, i32 }
          cleanup
  br label %319

311:                                              ; preds = %300
  %312 = landingpad { ptr, i32 }
          cleanup
  br label %318

313:                                              ; preds = %304
  %314 = landingpad { ptr, i32 }
          cleanup
  br label %317

315:                                              ; preds = %305
  %316 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #8
  br label %317

317:                                              ; preds = %315, %313
  %.pn326 = phi { ptr, i32 } [ %316, %315 ], [ %314, %313 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #8
  br label %318

318:                                              ; preds = %317, %311
  %.pn326.pn = phi { ptr, i32 } [ %.pn326, %317 ], [ %312, %311 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #8
  br label %319

319:                                              ; preds = %318, %309
  %.pn326.pn.pn = phi { ptr, i32 } [ %.pn326.pn, %318 ], [ %310, %309 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #8
  br label %320

320:                                              ; preds = %319, %307
  %.pn326.pn.pn.pn = phi { ptr, i32 } [ %.pn326.pn.pn, %319 ], [ %308, %307 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #8
  br label %358

321:                                              ; preds = %306, %296
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(8) %39)
          to label %322 unwind label %227

322:                                              ; preds = %321
  %323 = load i32, ptr %37, align 4, !tbaa !43
  %324 = sext i32 %323 to i64
  %325 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %35, i64 noundef %324) #8
  store double 0x7FF0000000000000, ptr %325, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %17, ptr noundef nonnull align 4 dereferenceable(4) %24)
          to label %326 unwind label %227

326:                                              ; preds = %322
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #8
  store double -1.000000e+00, ptr %59, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %18, ptr noundef nonnull align 8 dereferenceable(8) %59)
          to label %327 unwind label %331

327:                                              ; preds = %326
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #8
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %328 unwind label %227

328:                                              ; preds = %327
  %329 = load i32, ptr %24, align 4, !tbaa !43
  %330 = add nsw i32 %329, 1
  store i32 %330, ptr %24, align 4, !tbaa !43
  br label %333

331:                                              ; preds = %326
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #8
  br label %358

333:                                              ; preds = %328, %290
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %60) #8
  %334 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %335 = trunc i64 %334 to i32
  store i32 %335, ptr %60, align 4, !tbaa !43
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %16, ptr noundef nonnull align 4 dereferenceable(4) %60)
          to label %336 unwind label %349

336:                                              ; preds = %333
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  %337 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %338 = add i64 %337, -1
  %339 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %338) #8
  %340 = load i32, ptr %339, align 4, !tbaa !43
  %341 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %342 = add i64 %341, -2
  %343 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %16, i64 noundef %342) #8
  %344 = load i32, ptr %343, align 4, !tbaa !43
  %345 = sub nsw i32 %340, %344
  %346 = and i32 %345, -2
  %347 = icmp eq i32 %346, 2
  br i1 %347, label %351, label %348

348:                                              ; preds = %336
  call void @__assert_fail(ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.78, i32 noundef 2211, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

349:                                              ; preds = %333
  %350 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %60) #8
  br label %358

351:                                              ; preds = %336, %211
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #8
  br label %352

352:                                              ; preds = %202, %351
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #8
  br label %353

353:                                              ; preds = %189, %352
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  %354 = load i32, ptr %37, align 4, !tbaa !43
  %355 = add nsw i32 %354, 1
  store i32 %355, ptr %37, align 4, !tbaa !43
  %356 = load i32, ptr %95, align 8, !tbaa !5
  %357 = icmp slt i32 %355, %356
  br i1 %357, label %.lr.ph, label %._crit_edge, !llvm.loop !50

358:                                              ; preds = %349, %331, %320, %288, %277, %262, %242, %227
  %.pn331 = phi { ptr, i32 } [ %350, %349 ], [ %228, %227 ], [ %332, %331 ], [ %.pn326.pn.pn.pn, %320 ], [ %289, %288 ], [ %.pn321.pn.pn.pn, %277 ], [ %263, %262 ], [ %.pn316.pn.pn.pn, %242 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %40) #8
  br label %359

359:                                              ; preds = %358, %194
  %.pn331.pn = phi { ptr, i32 } [ %.pn331, %358 ], [ %195, %194 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #8
  br label %443

360:                                              ; preds = %._crit_edge
  call void @__assert_fail(ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.78, i32 noundef 2222, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

361:                                              ; preds = %._crit_edge
  %362 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  %363 = load i32, ptr %95, align 8, !tbaa !5
  %364 = sext i32 %363 to i64
  %365 = icmp eq i64 %362, %364
  br i1 %365, label %367, label %366

366:                                              ; preds = %361
  call void @__assert_fail(ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.78, i32 noundef 2223, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

367:                                              ; preds = %361
  %368 = add nsw i32 %363, -1
  %369 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  %370 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  %371 = invoke noundef i32 @_ZN5Highs16changeColsBoundsEiiPKdS1_(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef 0, i32 noundef %368, ptr noundef %369, ptr noundef %370)
          to label %372 unwind label %375

372:                                              ; preds = %367
  store i32 %371, ptr %25, align 4, !tbaa !46
  %373 = icmp eq i32 %371, 0
  br i1 %373, label %377, label %374

374:                                              ; preds = %372
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2226, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

375:                                              ; preds = %404, %380, %379, %367
  %376 = landingpad { ptr, i32 }
          cleanup
  br label %443

377:                                              ; preds = %372
  %sext = shl i64 %167, 32
  %378 = ashr exact i64 %sext, 32
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #8
  store double 0.000000e+00, ptr %61, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef %378, ptr noundef nonnull align 8 dereferenceable(8) %61)
          to label %379 unwind label %388

379:                                              ; preds = %377
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %378, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %380 unwind label %375

380:                                              ; preds = %379
  %381 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %382 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  %383 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %384 = invoke noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %168, ptr noundef %381, ptr noundef %382, ptr noundef %383, i32 noundef 0, ptr noundef null, ptr noundef null, ptr noundef null)
          to label %385 unwind label %375

385:                                              ; preds = %380
  store i32 %384, ptr %25, align 4, !tbaa !46
  %386 = icmp eq i32 %384, 0
  br i1 %386, label %390, label %387

387:                                              ; preds = %385
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2232, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

388:                                              ; preds = %377
  %389 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #8
  br label %443

390:                                              ; preds = %385
  %391 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %sext276 = shl i64 %169, 32
  %392 = ashr exact i64 %sext276, 32
  %393 = icmp eq i64 %391, %392
  br i1 %393, label %395, label %394

394:                                              ; preds = %390
  call void @__assert_fail(ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.78, i32 noundef 2234, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

395:                                              ; preds = %390
  %396 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %397 = sext i32 %174 to i64
  %398 = icmp eq i64 %396, %397
  br i1 %398, label %400, label %399

399:                                              ; preds = %395
  call void @__assert_fail(ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.78, i32 noundef 2235, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

400:                                              ; preds = %395
  %401 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  %402 = icmp eq i64 %401, %396
  br i1 %402, label %404, label %403

403:                                              ; preds = %400
  call void @__assert_fail(ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.78, i32 noundef 2236, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

404:                                              ; preds = %400
  %405 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  %406 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  %407 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  %408 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  %409 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  %410 = invoke noundef i32 @_ZN5Highs7addRowsEiPKdS1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %171, ptr noundef %405, ptr noundef %406, i32 noundef %174, ptr noundef %407, ptr noundef %408, ptr noundef %409)
          to label %411 unwind label %375

411:                                              ; preds = %404
  store i32 %410, ptr %25, align 4, !tbaa !46
  %412 = icmp eq i32 %410, 0
  br i1 %412, label %414, label %413

413:                                              ; preds = %411
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2240, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

414:                                              ; preds = %411
  br i1 %.not275, label %.loopexit362, label %.preheader363

.preheader363:                                    ; preds = %414
  %415 = icmp sgt i32 %168, 0
  br i1 %415, label %.lr.ph376.preheader, label %.preheader361

.lr.ph376.preheader:                              ; preds = %.preheader363
  %wide.trip.count = and i64 %167, 2147483647
  br label %.lr.ph376

.preheader361:                                    ; preds = %421, %.preheader363
  %416 = icmp sgt i32 %171, 0
  br i1 %416, label %.lr.ph378.preheader, label %.loopexit362

.lr.ph378.preheader:                              ; preds = %.preheader361
  %wide.trip.count416 = zext nneg i32 %171 to i64
  br label %.lr.ph378

.lr.ph376:                                        ; preds = %.lr.ph376.preheader, %421
  %indvars.iv = phi i64 [ 0, %.lr.ph376.preheader ], [ %indvars.iv.next, %421 ]
  %417 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %indvars.iv) #8
  %418 = trunc i64 %indvars.iv to i32
  %419 = add i32 %160, %418
  %420 = invoke noundef i32 @_ZN5Highs11passColNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %419, ptr noundef nonnull align 8 dereferenceable(32) %417)
          to label %421 unwind label %422

421:                                              ; preds = %.lr.ph376
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %.preheader361, label %.lr.ph376, !llvm.loop !52

422:                                              ; preds = %.lr.ph376
  %423 = landingpad { ptr, i32 }
          cleanup
  br label %443

.lr.ph378:                                        ; preds = %.lr.ph378.preheader, %428
  %indvars.iv413 = phi i64 [ 0, %.lr.ph378.preheader ], [ %indvars.iv.next414, %428 ]
  %424 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %20, i64 noundef %indvars.iv413) #8
  %425 = trunc i64 %indvars.iv413 to i32
  %426 = add i32 %98, %425
  %427 = invoke noundef i32 @_ZN5Highs11passRowNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %426, ptr noundef nonnull align 8 dereferenceable(32) %424)
          to label %428 unwind label %429

428:                                              ; preds = %.lr.ph378
  %indvars.iv.next414 = add nuw nsw i64 %indvars.iv413, 1
  %exitcond417.not = icmp eq i64 %indvars.iv.next414, %wide.trip.count416
  br i1 %exitcond417.not, label %.loopexit362, label %.lr.ph378, !llvm.loop !53

429:                                              ; preds = %.lr.ph378
  %430 = landingpad { ptr, i32 }
          cleanup
  br label %443

.loopexit362:                                     ; preds = %428, %.preheader361, %414
  %431 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %432 = icmp eq i64 %431, %378
  br i1 %432, label %434, label %433

433:                                              ; preds = %.loopexit362
  call void @__assert_fail(ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.78, i32 noundef 2247, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

434:                                              ; preds = %.loopexit362
  %435 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  %436 = icmp eq i64 %435, %378
  br i1 %436, label %438, label %437

437:                                              ; preds = %434
  call void @__assert_fail(ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.78, i32 noundef 2248, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

438:                                              ; preds = %434
  %439 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %440 = icmp eq i64 %439, %378
  br i1 %440, label %442, label %441

441:                                              ; preds = %438
  call void @__assert_fail(ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.78, i32 noundef 2249, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

442:                                              ; preds = %438
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  %.pre = load i32, ptr %95, align 8, !tbaa !5
  br label %444

443:                                              ; preds = %375, %388, %422, %429, %359, %179
  %.pn331.pn.pn = phi { ptr, i32 } [ %.pn331.pn, %359 ], [ %180, %179 ], [ %423, %422 ], [ %430, %429 ], [ %376, %375 ], [ %389, %388 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %35) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %35) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %34) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %34) #8
  br label %763

444:                                              ; preds = %442, %159
  %445 = phi i32 [ %.pre, %442 ], [ %160, %159 ]
  br i1 %156, label %446, label %622

446:                                              ; preds = %444
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @_ZNSt6vectorIdSaIdEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %62) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %63) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %64) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %65) #8
  store i32 0, ptr %65, align 4, !tbaa !43
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 4 dereferenceable(4) %65)
          to label %447 unwind label %459

447:                                              ; preds = %446
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  %448 = getelementptr inbounds i8, ptr %0, i64 664
  %449 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %448) #8
  %.not277 = icmp ne i64 %449, 0
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %66) #8
  store i32 0, ptr %66, align 4, !tbaa !43
  %450 = icmp sgt i32 %98, 0
  br i1 %450, label %.lr.ph381, label %._crit_edge382

.lr.ph381:                                        ; preds = %447
  %451 = getelementptr inbounds i8, ptr %0, i64 392
  %452 = getelementptr inbounds i8, ptr %0, i64 416
  br label %461

._crit_edge382:                                   ; preds = %565, %447
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #8
  %453 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %454 = trunc i64 %453 to i32
  %455 = add i32 %454, -1
  %456 = sext i32 %455 to i64
  %457 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %62, i64 noundef %456) #8
  %458 = load i32, ptr %457, align 4, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %84) #8
  store double 0.000000e+00, ptr %84, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %22, i64 noundef %456, ptr noundef nonnull align 8 dereferenceable(8) %84)
          to label %570 unwind label %575

459:                                              ; preds = %446
  %460 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %65) #8
  br label %621

461:                                              ; preds = %.lr.ph381, %565
  %storemerge278379 = phi i32 [ 0, %.lr.ph381 ], [ %567, %565 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #8
  br i1 %154, label %462, label %466

462:                                              ; preds = %461
  %463 = sext i32 %storemerge278379 to i64
  %464 = getelementptr inbounds double, ptr %6, i64 %463
  %465 = load double, ptr %464, align 8, !tbaa !45
  br label %466

466:                                              ; preds = %461, %462
  %467 = phi double [ %465, %462 ], [ %3, %461 ]
  store double %467, ptr %67, align 8, !tbaa !45
  %468 = fcmp olt double %467, 0.000000e+00
  br i1 %468, label %565, label %469

469:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #8
  %470 = sext i32 %storemerge278379 to i64
  %471 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %451, i64 noundef %470) #8
  %472 = load double, ptr %471, align 8, !tbaa !45
  store double %472, ptr %68, align 8, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #8
  %473 = load i32, ptr %66, align 4, !tbaa !43
  %474 = sext i32 %473 to i64
  %475 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %452, i64 noundef %474) #8
  %476 = load double, ptr %475, align 8, !tbaa !45
  store double %476, ptr %69, align 8, !tbaa !45
  %477 = load double, ptr %68, align 8, !tbaa !45
  %478 = fcmp ueq double %477, 0xFFF0000000000000
  br i1 %478, label %521, label %479

479:                                              ; preds = %469
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %480 unwind label %491

480:                                              ; preds = %479
  br i1 %.not277, label %481, label %507

481:                                              ; preds = %480
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #8
  %482 = load i32, ptr %66, align 4, !tbaa !43
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, i32 noundef %482) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %483 unwind label %493

483:                                              ; preds = %481
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(32) %73, ptr noundef nonnull @.str.170)
          to label %484 unwind label %495

484:                                              ; preds = %483
  %485 = load i32, ptr %66, align 4, !tbaa !43
  %486 = sext i32 %485 to i64
  %487 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %448, i64 noundef %486) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %487)
          to label %488 unwind label %497

488:                                              ; preds = %484
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.173)
          to label %489 unwind label %499

489:                                              ; preds = %488
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %490 unwind label %501

490:                                              ; preds = %489
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #8
  br label %507

491:                                              ; preds = %556, %551, %550, %524, %513, %508, %507, %479
  %492 = landingpad { ptr, i32 }
          cleanup
  br label %569

493:                                              ; preds = %481
  %494 = landingpad { ptr, i32 }
          cleanup
  br label %506

495:                                              ; preds = %483
  %496 = landingpad { ptr, i32 }
          cleanup
  br label %505

497:                                              ; preds = %484
  %498 = landingpad { ptr, i32 }
          cleanup
  br label %504

499:                                              ; preds = %488
  %500 = landingpad { ptr, i32 }
          cleanup
  br label %503

501:                                              ; preds = %489
  %502 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  br label %503

503:                                              ; preds = %501, %499
  %.pn299 = phi { ptr, i32 } [ %502, %501 ], [ %500, %499 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #8
  br label %504

504:                                              ; preds = %503, %497
  %.pn299.pn = phi { ptr, i32 } [ %.pn299, %503 ], [ %498, %497 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #8
  br label %505

505:                                              ; preds = %504, %495
  %.pn299.pn.pn = phi { ptr, i32 } [ %.pn299.pn, %504 ], [ %496, %495 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #8
  br label %506

506:                                              ; preds = %505, %493
  %.pn299.pn.pn.pn = phi { ptr, i32 } [ %.pn299.pn.pn, %505 ], [ %494, %493 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #8
  br label %569

507:                                              ; preds = %490, %480
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(8) %68)
          to label %508 unwind label %491

508:                                              ; preds = %507
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %509 unwind label %491

509:                                              ; preds = %508
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %75) #8
  store double 1.000000e+00, ptr %75, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(8) %75)
          to label %510 unwind label %517

510:                                              ; preds = %509
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %76) #8
  %511 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  %512 = trunc i64 %511 to i32
  store i32 %512, ptr %76, align 4, !tbaa !43
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 4 dereferenceable(4) %76)
          to label %513 unwind label %519

513:                                              ; preds = %510
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #8
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %514 unwind label %491

514:                                              ; preds = %513
  %515 = load i32, ptr %24, align 4, !tbaa !43
  %516 = add nsw i32 %515, 1
  store i32 %516, ptr %24, align 4, !tbaa !43
  %.pr = load double, ptr %69, align 8, !tbaa !45
  br label %521

517:                                              ; preds = %509
  %518 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %75) #8
  br label %569

519:                                              ; preds = %510
  %520 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %76) #8
  br label %569

521:                                              ; preds = %514, %469
  %522 = phi double [ %.pr, %514 ], [ %476, %469 ]
  %523 = fcmp ueq double %522, 0x7FF0000000000000
  br i1 %523, label %564, label %524

524:                                              ; preds = %521
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %11, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %525 unwind label %491

525:                                              ; preds = %524
  br i1 %.not277, label %526, label %550

526:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #8
  %527 = load i32, ptr %66, align 4, !tbaa !43
  call void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, i32 noundef %527) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull @.str.169, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %528 unwind label %536

528:                                              ; preds = %526
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.170)
          to label %529 unwind label %538

529:                                              ; preds = %528
  %530 = load i32, ptr %66, align 4, !tbaa !43
  %531 = sext i32 %530 to i64
  %532 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %448, i64 noundef %531) #8
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull align 8 dereferenceable(32) %79, ptr noundef nonnull align 8 dereferenceable(32) %532)
          to label %533 unwind label %540

533:                                              ; preds = %529
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(32) %78, ptr noundef nonnull @.str.174)
          to label %534 unwind label %542

534:                                              ; preds = %533
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backEOS5_(ptr noundef nonnull align 8 dereferenceable(24) %19, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %535 unwind label %544

535:                                              ; preds = %534
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  br label %550

536:                                              ; preds = %526
  %537 = landingpad { ptr, i32 }
          cleanup
  br label %549

538:                                              ; preds = %528
  %539 = landingpad { ptr, i32 }
          cleanup
  br label %548

540:                                              ; preds = %529
  %541 = landingpad { ptr, i32 }
          cleanup
  br label %547

542:                                              ; preds = %533
  %543 = landingpad { ptr, i32 }
          cleanup
  br label %546

544:                                              ; preds = %534
  %545 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #8
  br label %546

546:                                              ; preds = %544, %542
  %.pn304 = phi { ptr, i32 } [ %545, %544 ], [ %543, %542 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #8
  br label %547

547:                                              ; preds = %546, %540
  %.pn304.pn = phi { ptr, i32 } [ %.pn304, %546 ], [ %541, %540 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #8
  br label %548

548:                                              ; preds = %547, %538
  %.pn304.pn.pn = phi { ptr, i32 } [ %.pn304.pn, %547 ], [ %539, %538 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #8
  br label %549

549:                                              ; preds = %548, %536
  %.pn304.pn.pn.pn = phi { ptr, i32 } [ %.pn304.pn.pn, %548 ], [ %537, %536 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #8
  br label %569

550:                                              ; preds = %535, %525
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %12, ptr noundef nonnull align 8 dereferenceable(8) %69)
          to label %551 unwind label %491

551:                                              ; preds = %550
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %63, ptr noundef nonnull align 4 dereferenceable(4) %66)
          to label %552 unwind label %491

552:                                              ; preds = %551
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #8
  store double -1.000000e+00, ptr %82, align 8, !tbaa !45
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %64, ptr noundef nonnull align 8 dereferenceable(8) %82)
          to label %553 unwind label %560

553:                                              ; preds = %552
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %83) #8
  %554 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  %555 = trunc i64 %554 to i32
  store i32 %555, ptr %83, align 4, !tbaa !43
  invoke void @_ZNSt6vectorIiSaIiEE9push_backEOi(ptr noundef nonnull align 8 dereferenceable(24) %62, ptr noundef nonnull align 4 dereferenceable(4) %83)
          to label %556 unwind label %562

556:                                              ; preds = %553
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #8
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %21, ptr noundef nonnull align 8 dereferenceable(8) %67)
          to label %557 unwind label %491

557:                                              ; preds = %556
  %558 = load i32, ptr %24, align 4, !tbaa !43
  %559 = add nsw i32 %558, 1
  store i32 %559, ptr %24, align 4, !tbaa !43
  br label %564

560:                                              ; preds = %552
  %561 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #8
  br label %569

562:                                              ; preds = %553
  %563 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %83) #8
  br label %569

564:                                              ; preds = %557, %521
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #8
  %.pre423 = load i32, ptr %66, align 4, !tbaa !43
  br label %565

565:                                              ; preds = %466, %564
  %566 = phi i32 [ %storemerge278379, %466 ], [ %.pre423, %564 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  %567 = add nsw i32 %566, 1
  store i32 %567, ptr %66, align 4, !tbaa !43
  %568 = icmp slt i32 %567, %98
  br i1 %568, label %461, label %._crit_edge382, !llvm.loop !54

569:                                              ; preds = %562, %560, %549, %519, %517, %506, %491
  %.pn309 = phi { ptr, i32 } [ %492, %491 ], [ %563, %562 ], [ %561, %560 ], [ %.pn304.pn.pn.pn, %549 ], [ %520, %519 ], [ %518, %517 ], [ %.pn299.pn.pn.pn, %506 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %66) #8
  br label %621

570:                                              ; preds = %._crit_edge382
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #8
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %23, i64 noundef %456, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %571 unwind label %577

571:                                              ; preds = %570
  %572 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %573 = icmp eq i64 %572, %456
  br i1 %573, label %579, label %574

574:                                              ; preds = %571
  call void @__assert_fail(ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.78, i32 noundef 2311, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

575:                                              ; preds = %._crit_edge382
  %576 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %84) #8
  br label %621

577:                                              ; preds = %601, %570
  %578 = landingpad { ptr, i32 }
          cleanup
  br label %621

579:                                              ; preds = %571
  %580 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  %581 = icmp eq i64 %580, %456
  br i1 %581, label %583, label %582

582:                                              ; preds = %579
  call void @__assert_fail(ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.78, i32 noundef 2312, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

583:                                              ; preds = %579
  %584 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %585 = icmp eq i64 %584, %456
  br i1 %585, label %587, label %586

586:                                              ; preds = %583
  call void @__assert_fail(ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.78, i32 noundef 2313, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

587:                                              ; preds = %583
  %588 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %sext279 = shl i64 %453, 32
  %589 = ashr exact i64 %sext279, 32
  %590 = icmp eq i64 %588, %589
  br i1 %590, label %592, label %591

591:                                              ; preds = %587
  call void @__assert_fail(ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.78, i32 noundef 2314, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

592:                                              ; preds = %587
  %593 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  %594 = sext i32 %458 to i64
  %595 = icmp eq i64 %593, %594
  br i1 %595, label %597, label %596

596:                                              ; preds = %592
  call void @__assert_fail(ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.78, i32 noundef 2315, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

597:                                              ; preds = %592
  %598 = call noundef i64 @_ZNKSt6vectorIdSaIdEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  %599 = icmp eq i64 %598, %593
  br i1 %599, label %601, label %600

600:                                              ; preds = %597
  call void @__assert_fail(ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.78, i32 noundef 2316, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

601:                                              ; preds = %597
  %602 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  %603 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  %604 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  %605 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  %606 = call noundef ptr @_ZNSt6vectorIiSaIiEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  %607 = call noundef ptr @_ZNSt6vectorIdSaIdEE4dataEv(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  %608 = invoke noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %455, ptr noundef %602, ptr noundef %603, ptr noundef %604, i32 noundef %458, ptr noundef %605, ptr noundef %606, ptr noundef %607)
          to label %609 unwind label %577

609:                                              ; preds = %601
  store i32 %608, ptr %25, align 4, !tbaa !46
  %610 = icmp eq i32 %608, 0
  br i1 %610, label %612, label %611

611:                                              ; preds = %609
  call void @__assert_fail(ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.78, i32 noundef 2320, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

612:                                              ; preds = %609
  %613 = icmp sgt i32 %455, 0
  %or.cond400 = and i1 %.not277, %613
  br i1 %or.cond400, label %.lr.ph384.preheader, label %.loopexit360

.lr.ph384.preheader:                              ; preds = %612
  %wide.trip.count421 = zext nneg i32 %455 to i64
  br label %.lr.ph384

.lr.ph384:                                        ; preds = %.lr.ph384.preheader, %618
  %indvars.iv418 = phi i64 [ 0, %.lr.ph384.preheader ], [ %indvars.iv.next419, %618 ]
  %614 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %indvars.iv418) #8
  %615 = trunc i64 %indvars.iv418 to i32
  %616 = add i32 %445, %615
  %617 = invoke noundef i32 @_ZN5Highs11passColNameEiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %616, ptr noundef nonnull align 8 dereferenceable(32) %614)
          to label %618 unwind label %619

618:                                              ; preds = %.lr.ph384
  %indvars.iv.next419 = add nuw nsw i64 %indvars.iv418, 1
  %exitcond422.not = icmp eq i64 %indvars.iv.next419, %wide.trip.count421
  br i1 %exitcond422.not, label %.loopexit360, label %.lr.ph384, !llvm.loop !55

619:                                              ; preds = %.lr.ph384
  %620 = landingpad { ptr, i32 }
          cleanup
  br label %621

.loopexit360:                                     ; preds = %618, %612
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #8
  br label %622

621:                                              ; preds = %569, %619, %577, %575, %459
  %.pn309.pn.pn = phi { ptr, i32 } [ %460, %459 ], [ %.pn309, %569 ], [ %620, %619 ], [ %578, %577 ], [ %576, %575 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %64) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %63) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %63) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %62) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %62) #8
  br label %763

622:                                              ; preds = %.loopexit360, %444
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %85) #8
  store ptr %0, ptr %85, align 8, !tbaa !56
  %623 = getelementptr inbounds i8, ptr %85, i64 8
  store ptr %25, ptr %623, align 8, !tbaa !58
  %624 = invoke noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %625 unwind label %630

625:                                              ; preds = %622
  store i32 %624, ptr %25, align 4, !tbaa !46
  %.not280 = icmp eq i32 %624, 0
  br i1 %.not280, label %637, label %626

626:                                              ; preds = %625
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %86, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %627 unwind label %630

627:                                              ; preds = %626
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %87, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %628 unwind label %632

628:                                              ; preds = %627
  %629 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %624, i1 noundef zeroext false, i32 noundef %96, i32 noundef %98, ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull %86, ptr noundef nonnull %87)
          to label %.thread347 unwind label %634

630:                                              ; preds = %641, %626, %622
  %631 = landingpad { ptr, i32 }
          cleanup
  br label %762

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

634:                                              ; preds = %628
  %635 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %87) #8
  br label %636

636:                                              ; preds = %634, %632
  %.pn294 = phi { ptr, i32 } [ %635, %634 ], [ %633, %632 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %86) #8
  br label %762

637:                                              ; preds = %625
  %638 = getelementptr inbounds i8, ptr %0, i64 4676
  %639 = load i32, ptr %638, align 4, !tbaa !59
  switch i32 %639, label %640 [
    i32 7, label %.critedge
    i32 10, label %.critedge
  ]

640:                                              ; preds = %637
  call void @__assert_fail(ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.78, i32 noundef 2362, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

.critedge:                                        ; preds = %637, %637
  br i1 %7, label %650, label %641

641:                                              ; preds = %.critedge
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %88, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %642 unwind label %630

642:                                              ; preds = %641
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %89, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %643 unwind label %645

643:                                              ; preds = %642
  %644 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef 0, i1 noundef zeroext false, i32 noundef %96, i32 noundef %98, ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull %88, ptr noundef nonnull %89)
          to label %.thread347 unwind label %647

645:                                              ; preds = %642
  %646 = landingpad { ptr, i32 }
          cleanup
  br label %649

647:                                              ; preds = %643
  %648 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %89) #8
  br label %649

649:                                              ; preds = %647, %645
  %.pn281 = phi { ptr, i32 } [ %648, %647 ], [ %646, %645 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %88) #8
  br label %762

650:                                              ; preds = %.critedge
  %651 = call noundef nonnull align 8 dereferenceable(104) ptr @_ZNK5Highs11getSolutionEv(ptr noundef nonnull align 8 dereferenceable(20928) %0)
  %652 = getelementptr inbounds i8, ptr %651, i64 8
  %653 = sext i32 %160 to i64
  %654 = getelementptr inbounds i8, ptr %0, i64 3008
  %655 = sext i32 %445 to i64
  br label %656

656:                                              ; preds = %706, %650
  %.0258 = phi i32 [ 0, %650 ], [ %710, %706 ]
  br i1 %153, label %.preheader356, label %.loopexit357

.preheader356:                                    ; preds = %656
  %657 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  %.not401 = icmp eq i64 %657, 0
  br i1 %.not401, label %.loopexit357, label %.lr.ph387

.lr.ph387:                                        ; preds = %.preheader356, %671
  %.0249386 = phi i64 [ %672, %671 ], [ 0, %.preheader356 ]
  %.0250385 = phi i32 [ %.1251, %671 ], [ 0, %.preheader356 ]
  %658 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %.0249386) #8
  %659 = add i64 %.0249386, %653
  %660 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %652, i64 noundef %659) #8
  %661 = load double, ptr %660, align 8, !tbaa !45
  %662 = load double, ptr %654, align 8, !tbaa !208
  %663 = fcmp ogt double %661, %662
  br i1 %663, label %664, label %671

664:                                              ; preds = %.lr.ph387
  %665 = trunc i64 %659 to i32
  %666 = invoke noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %665, double noundef 0.000000e+00, double noundef 0.000000e+00)
          to label %667 unwind label %669

667:                                              ; preds = %664
  %668 = add nsw i32 %.0250385, 1
  br label %671

669:                                              ; preds = %664
  %670 = landingpad { ptr, i32 }
          cleanup
  br label %762

671:                                              ; preds = %667, %.lr.ph387
  %.1251 = phi i32 [ %668, %667 ], [ %.0250385, %.lr.ph387 ]
  %672 = add nuw i64 %.0249386, 1
  %673 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  %674 = icmp ult i64 %672, %673
  br i1 %674, label %.lr.ph387, label %.loopexit357, !llvm.loop !209

.loopexit357:                                     ; preds = %671, %.preheader356, %656
  %.2252 = phi i32 [ 0, %656 ], [ 0, %.preheader356 ], [ %.1251, %671 ]
  br i1 %156, label %.preheader354, label %.loopexit355

.preheader354:                                    ; preds = %.loopexit357
  %675 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %.not402 = icmp eq i64 %675, 0
  br i1 %.not402, label %.loopexit355, label %.lr.ph390

.lr.ph390:                                        ; preds = %.preheader354, %689
  %.0247389 = phi i64 [ %690, %689 ], [ 0, %.preheader354 ]
  %.3253388 = phi i32 [ %.4254, %689 ], [ %.2252, %.preheader354 ]
  %676 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %.0247389) #8
  %677 = add i64 %.0247389, %655
  %678 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %652, i64 noundef %677) #8
  %679 = load double, ptr %678, align 8, !tbaa !45
  %680 = load double, ptr %654, align 8, !tbaa !208
  %681 = fcmp ogt double %679, %680
  br i1 %681, label %682, label %689

682:                                              ; preds = %.lr.ph390
  %683 = trunc i64 %677 to i32
  %684 = invoke noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %683, double noundef 0.000000e+00, double noundef 0.000000e+00)
          to label %685 unwind label %687

685:                                              ; preds = %682
  %686 = add nsw i32 %.3253388, 1
  br label %689

687:                                              ; preds = %682
  %688 = landingpad { ptr, i32 }
          cleanup
  br label %762

689:                                              ; preds = %685, %.lr.ph390
  %.4254 = phi i32 [ %686, %685 ], [ %.3253388, %.lr.ph390 ]
  %690 = add nuw i64 %.0247389, 1
  %691 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %692 = icmp ult i64 %690, %691
  br i1 %692, label %.lr.ph390, label %.loopexit355, !llvm.loop !210

.loopexit355:                                     ; preds = %689, %.preheader354, %.loopexit357
  %.5255 = phi i32 [ %.2252, %.loopexit357 ], [ %.2252, %.preheader354 ], [ %.4254, %689 ]
  %693 = icmp eq i32 %.5255, 0
  br i1 %693, label %select.unfold, label %694

694:                                              ; preds = %.loopexit355
  %695 = invoke noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16) %85)
          to label %696 unwind label %.loopexit358

696:                                              ; preds = %694
  %.not283 = icmp eq i32 %695, 0
  br i1 %.not283, label %706, label %697

697:                                              ; preds = %696
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %90, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %698 unwind label %.loopexit.split-lp

698:                                              ; preds = %697
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %91, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %699 unwind label %701

699:                                              ; preds = %698
  %700 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef %695, i1 noundef zeroext false, i32 noundef %96, i32 noundef %98, ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull %90, ptr noundef nonnull %91)
          to label %.thread347 unwind label %703

.loopexit358:                                     ; preds = %694
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %762

.loopexit.split-lp:                               ; preds = %697
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %762

701:                                              ; preds = %698
  %702 = landingpad { ptr, i32 }
          cleanup
  br label %705

703:                                              ; preds = %699
  %704 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %91) #8
  br label %705

705:                                              ; preds = %703, %701
  %.pn284 = phi { ptr, i32 } [ %704, %703 ], [ %702, %701 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %90) #8
  br label %762

706:                                              ; preds = %696
  %707 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Highs14getModelStatusEv(ptr noundef nonnull align 8 dereferenceable(20928) %0)
  %708 = load i32, ptr %707, align 4, !tbaa !211
  %709 = icmp eq i32 %708, 8
  %710 = add nuw nsw i32 %.0258, 1
  br i1 %709, label %select.unfold, label %656

select.unfold:                                    ; preds = %706, %.loopexit355
  call void @_ZNSt6vectorIiSaIiEE5clearEv(ptr noundef nonnull align 8 dereferenceable(24) %8) #8
  br i1 %153, label %.preheader352, label %.loopexit353

.preheader352:                                    ; preds = %select.unfold
  %711 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  %.not403 = icmp eq i64 %711, 0
  br i1 %.not403, label %.loopexit353, label %.lr.ph394

.lr.ph394:                                        ; preds = %.preheader352, %725
  %.0187393 = phi i64 [ %726, %725 ], [ 0, %.preheader352 ]
  %.0191392 = phi i32 [ %.1192, %725 ], [ 0, %.preheader352 ]
  %712 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %10, i64 noundef %.0187393) #8
  %713 = load i32, ptr %712, align 4, !tbaa !43
  %714 = add i64 %.0187393, %653
  %715 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %103, i64 noundef %714) #8
  %716 = load double, ptr %715, align 8, !tbaa !45
  %717 = fcmp oeq double %716, 0.000000e+00
  br i1 %717, label %718, label %725

718:                                              ; preds = %.lr.ph394
  %719 = add nsw i32 %.0191392, 1
  %720 = trunc i64 %.0187393 to i32
  %721 = trunc i64 %714 to i32
  %722 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %13, i64 noundef %.0187393) #8
  %723 = load double, ptr %722, align 8, !tbaa !45
  %724 = call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.188, i32 noundef %720, i32 noundef %721, i32 noundef %713, double noundef %723)
  br label %725

725:                                              ; preds = %718, %.lr.ph394
  %.1192 = phi i32 [ %719, %718 ], [ %.0191392, %.lr.ph394 ]
  %726 = add nuw i64 %.0187393, 1
  %727 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  %728 = icmp ult i64 %726, %727
  br i1 %728, label %.lr.ph394, label %.loopexit353, !llvm.loop !212

.loopexit353:                                     ; preds = %725, %.preheader352, %select.unfold
  %.2193 = phi i32 [ 0, %select.unfold ], [ 0, %.preheader352 ], [ %.1192, %725 ]
  br i1 %156, label %.preheader, label %.loopexit

.preheader:                                       ; preds = %.loopexit353
  %729 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %.not404 = icmp eq i64 %729, 0
  br i1 %.not404, label %.loopexit, label %.lr.ph398

.lr.ph398:                                        ; preds = %.preheader, %740
  %.0397 = phi i64 [ %741, %740 ], [ 0, %.preheader ]
  %.0188396 = phi i32 [ %.1189, %740 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %92) #8
  %730 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %.0397) #8
  %731 = load i32, ptr %730, align 4, !tbaa !43
  store i32 %731, ptr %92, align 4, !tbaa !43
  %732 = add i64 %.0397, %655
  %733 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %103, i64 noundef %732) #8
  %734 = load double, ptr %733, align 8, !tbaa !45
  %735 = fcmp oeq double %734, 0.000000e+00
  br i1 %735, label %736, label %740

736:                                              ; preds = %.lr.ph398
  %737 = add nsw i32 %.0188396, 1
  invoke void @_ZNSt6vectorIiSaIiEE9push_backERKi(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 4 dereferenceable(4) %92)
          to label %740 unwind label %738

738:                                              ; preds = %736
  %739 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #8
  br label %762

740:                                              ; preds = %736, %.lr.ph398
  %.1189 = phi i32 [ %737, %736 ], [ %.0188396, %.lr.ph398 ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %92) #8
  %741 = add nuw i64 %.0397, 1
  %742 = call noundef i64 @_ZNKSt6vectorIiSaIiEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  %743 = icmp ult i64 %741, %742
  br i1 %743, label %.lr.ph398, label %.loopexit, !llvm.loop !213

.loopexit:                                        ; preds = %740, %.preheader, %.loopexit353
  %.2190 = phi i32 [ 0, %.loopexit353 ], [ 0, %.preheader ], [ %.1189, %740 ]
  br i1 %693, label %744, label %749

744:                                              ; preds = %.loopexit
  %745 = icmp eq i32 %.2193, 0
  %746 = icmp eq i32 %.2190, 0
  %747 = select i1 %745, i1 %746, i1 false
  br i1 %747, label %749, label %748

748:                                              ; preds = %744
  call void @__assert_fail(ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.78, i32 noundef 2463, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEE) #9
  unreachable

749:                                              ; preds = %744, %.loopexit
  %750 = getelementptr inbounds i8, ptr %0, i64 3624
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %750, i32 noundef 1, ptr noundef nonnull @.str.190, i32 noundef %.0258, i32 noundef %.2193, i32 noundef %.2190)
          to label %751 unwind label %755

751:                                              ; preds = %749
  invoke void @_ZNSt6vectorIdSaIdEEC2ERKS1_(ptr noundef nonnull align 8 dereferenceable(24) %93, ptr noundef nonnull align 8 dereferenceable(24) %28)
          to label %752 unwind label %755

752:                                              ; preds = %751
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(24) %94, ptr noundef nonnull align 8 dereferenceable(24) %29)
          to label %753 unwind label %757

753:                                              ; preds = %752
  %754 = invoke noundef i32 @_ZN5Highs22elasticityFilterReturnE11HighsStatusbiiRKSt6vectorIdSaIdEES5_S3_S1_I12HighsVarTypeSaIS6_EE(ptr noundef nonnull align 8 dereferenceable(20928) %0, i32 noundef 0, i1 noundef zeroext %693, i32 noundef %96, i32 noundef %98, ptr noundef nonnull align 8 dereferenceable(24) %26, ptr noundef nonnull align 8 dereferenceable(24) %27, ptr noundef nonnull %93, ptr noundef nonnull %94)
          to label %.thread347 unwind label %759

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

757:                                              ; preds = %752
  %758 = landingpad { ptr, i32 }
          cleanup
  br label %761

759:                                              ; preds = %753
  %760 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %94) #8
  br label %761

761:                                              ; preds = %759, %757
  %.pn287 = phi { ptr, i32 } [ %760, %759 ], [ %758, %757 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %93) #8
  br label %762

.thread347:                                       ; preds = %753, %699, %643, %628
  %.sink431 = phi ptr [ %87, %628 ], [ %89, %643 ], [ %91, %699 ], [ %94, %753 ]
  %.sink = phi ptr [ %86, %628 ], [ %88, %643 ], [ %90, %699 ], [ %93, %753 ]
  %.4 = phi i32 [ %629, %628 ], [ %644, %643 ], [ %700, %699 ], [ %754, %753 ]
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %.sink431) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %.sink) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  ret i32 %.4

762:                                              ; preds = %.loopexit358, %.loopexit.split-lp, %705, %687, %669, %761, %755, %738, %649, %636, %630
  %.pn294.pn = phi { ptr, i32 } [ %.pn294, %636 ], [ %631, %630 ], [ %.pn281, %649 ], [ %670, %669 ], [ %688, %687 ], [ %.pn284, %705 ], [ %739, %738 ], [ %.pn287, %761 ], [ %756, %755 ], [ %lpad.loopexit, %.loopexit358 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %85) #8
  br label %763

763:                                              ; preds = %443, %762, %621, %145, %126, %124
  %.pn331.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn, %145 ], [ %127, %126 ], [ %125, %124 ], [ %.pn331.pn.pn, %443 ], [ %.pn309.pn.pn, %621 ], [ %.pn294.pn, %762 ]
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %30) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %30) #8
  call void @_ZNSt6vectorI12HighsVarTypeSaIS0_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %29) #8
  br label %764

764:                                              ; preds = %763, %122
  %.pn331.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn331.pn.pn.pn.pn, %763 ], [ %123, %122 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %29) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %28) #8
  br label %765

765:                                              ; preds = %764, %120
  %.pn331.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn331.pn.pn.pn.pn.pn, %764 ], [ %121, %120 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %28) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %27) #8
  br label %766

766:                                              ; preds = %765, %118
  %.pn331.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn331.pn.pn.pn.pn.pn.pn, %765 ], [ %119, %118 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %27) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %26) #8
  br label %767

767:                                              ; preds = %766, %116
  %.pn331.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn331.pn.pn.pn.pn.pn.pn.pn, %766 ], [ %117, %116 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %26) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %23) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %22) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %22) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %21) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %21) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %20) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %20) #8
  call void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %19) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %18) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %17) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %17) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %16) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %16) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %10) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #8
  resume { ptr, i32 } %.pn331.pn.pn.pn.pn.pn.pn.pn.pn
}

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

declare noundef i32 @_ZN5Highs16changeColsBoundsEiiPKdS1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare noundef i32 @_ZN5Highs21changeColsIntegralityEiiPK12HighsVarType(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, i32 noundef, ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_PKS5_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx119to_stringEi(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef) local_unnamed_addr #6

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

declare noundef i32 @_ZN5Highs7addColsEiPKdS1_S1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare noundef i32 @_ZN5Highs7addRowsEiPKdS1_iPKiS3_S1_(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, ptr noundef, ptr noundef, i32 noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden noundef i32 @"_ZZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEENK3$_0clEv"(ptr noundef nonnull align 8 dereferenceable(16)) local_unnamed_addr #5 align 2

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

declare noundef i32 @_ZN5Highs15changeColBoundsEidd(ptr noundef nonnull align 8 dereferenceable(20928), i32 noundef, double noundef, double noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZNK5Highs14getModelStatusEv(ptr noundef nonnull align 8 dereferenceable(20928)) local_unnamed_addr #1 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: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #7

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_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 = { "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 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }
attributes #9 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 0}
!6 = !{!"_ZTS7HighsLp", !7, i64 0, !7, i64 4, !10, i64 8, !10, i64 32, !10, i64 56, !10, i64 80, !10, i64 104, !15, i64 128, !21, i64 240, !22, i64 248, !23, i64 256, !23, i64 288, !7, i64 320, !7, i64 324, !26, i64 328, !26, i64 352, !30, i64 376, !34, i64 400, !34, i64 456, !7, i64 512, !7, i64 516, !40, i64 520, !41, i64 592, !41, i64 593, !7, i64 596, !41, i64 600, !42, i64 608}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSSt6vectorIdSaIdEE", !11, i64 0}
!11 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !12, i64 0}
!12 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !13, i64 0}
!13 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"_ZTS17HighsSparseMatrix", !16, i64 0, !7, i64 4, !7, i64 8, !17, i64 16, !17, i64 40, !17, i64 64, !10, i64 88}
!16 = !{!"_ZTS12MatrixFormat", !8, i64 0}
!17 = !{!"_ZTSSt6vectorIiSaIiEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!21 = !{!"_ZTS8ObjSense", !8, i64 0}
!22 = !{!"double", !8, i64 0}
!23 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !24, i64 0, !25, i64 8, !8, i64 16}
!24 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !14, i64 0}
!25 = !{!"long", !8, i64 0}
!26 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !27, i64 0}
!27 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!30 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !31, i64 0}
!31 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!34 = !{!"_ZTS13HighsNameHash", !35, i64 0}
!35 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !36, i64 0}
!36 = !{!"_ZTSSt10_HashtableINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESaIS8_ENSt8__detail10_Select1stESt8equal_toIS5_ESt4hashIS5_ENSA_18_Mod_range_hashingENSA_20_Default_ranged_hashENSA_20_Prime_rehash_policyENSA_17_Hashtable_traitsILb1ELb0ELb1EEEE", !14, i64 0, !25, i64 8, !37, i64 16, !25, i64 24, !38, i64 32, !14, i64 48}
!37 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !14, i64 0}
!38 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !39, i64 0, !25, i64 8}
!39 = !{!"float", !8, i64 0}
!40 = !{!"_ZTS10HighsScale", !7, i64 0, !41, i64 4, !7, i64 8, !7, i64 12, !22, i64 16, !10, i64 24, !10, i64 48}
!41 = !{!"bool", !8, i64 0}
!42 = !{!"_ZTS11HighsLpMods", !17, i64 0, !17, i64 24, !10, i64 48, !10, i64 72, !30, i64 96, !17, i64 120, !10, i64 144, !17, i64 168, !10, i64 192, !17, i64 216, !10, i64 240, !10, i64 264, !10, i64 288}
!43 = !{!7, !7, i64 0}
!44 = !{!6, !7, i64 4}
!45 = !{!22, !22, i64 0}
!46 = !{!47, !47, i64 0}
!47 = !{!"_ZTS11HighsStatus", !8, i64 0}
!48 = !{!49, !49, i64 0}
!49 = !{!"_ZTS12HighsVarType", !8, i64 0}
!50 = distinct !{!50, !51}
!51 = !{!"llvm.loop.mustprogress"}
!52 = distinct !{!52, !51}
!53 = distinct !{!53, !51}
!54 = distinct !{!54, !51}
!55 = distinct !{!55, !51}
!56 = !{!57, !14, i64 0}
!57 = !{!"_ZTSZN5Highs16elasticityFilterEdddPKdS1_S1_bRSt6vectorIiSaIiEEE3$_0", !14, i64 0, !14, i64 8}
!58 = !{!14, !14, i64 0}
!59 = !{!60, !116, i64 4676}
!60 = !{!"_ZTS5Highs", !61, i64 8, !62, i64 112, !67, i64 208, !72, i64 312, !75, i64 1312, !72, i64 1336, !79, i64 2336, !80, i64 2472, !91, i64 2728, !98, i64 3752, !104, i64 3936, !106, i64 4520, !111, i64 4648, !115, i64 4672, !116, i64 4676, !41, i64 4680, !22, i64 4688, !10, i64 4696, !10, i64 4720, !15, i64 4744, !117, i64 4856, !181, i64 19424, !7, i64 19448, !41, i64 19452, !7, i64 19456, !41, i64 19460, !186, i64 19464}
!61 = !{!"_ZTS13HighsSolution", !41, i64 0, !41, i64 1, !10, i64 8, !10, i64 32, !10, i64 56, !10, i64 80}
!62 = !{!"_ZTS10HighsBasis", !41, i64 0, !41, i64 1, !41, i64 2, !41, i64 3, !7, i64 4, !7, i64 8, !23, i64 16, !63, i64 48, !63, i64 72}
!63 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!67 = !{!"_ZTS10ICrashInfo", !7, i64 0, !22, i64 8, !22, i64 16, !22, i64 24, !22, i64 32, !22, i64 40, !68, i64 48, !10, i64 72, !22, i64 96}
!68 = !{!"_ZTSSt6vectorI22ICrashIterationDetailsSaIS0_EE", !69, i64 0}
!69 = !{!"_ZTSSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE12_Vector_implE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseI22ICrashIterationDetailsSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!72 = !{!"_ZTS10HighsModel", !6, i64 0, !73, i64 920}
!73 = !{!"_ZTS12HighsHessian", !7, i64 0, !74, i64 4, !17, i64 8, !17, i64 32, !10, i64 56}
!74 = !{!"_ZTS13HessianFormat", !8, i64 0}
!75 = !{!"_ZTSSt6vectorI20HighsLinearObjectiveSaIS0_EE", !76, i64 0}
!76 = !{!"_ZTSSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE", !77, i64 0}
!77 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE12_Vector_implE", !78, i64 0}
!78 = !{!"_ZTSNSt12_Vector_baseI20HighsLinearObjectiveSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!79 = !{!"_ZTS10HighsTimer", !22, i64 8, !7, i64 16, !17, i64 24, !10, i64 48, !10, i64 72, !26, i64 96, !7, i64 120, !7, i64 124, !7, i64 128}
!80 = !{!"_ZTS13HighsCallback", !81, i64 0, !14, i64 32, !14, i64 40, !83, i64 48, !89, i64 88, !90, i64 240}
!81 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !82, i64 0, !14, i64 24}
!82 = !{!"_ZTSSt14_Function_base", !8, i64 0, !14, i64 16}
!83 = !{!"_ZTSSt6vectorIbSaIbEE", !84, i64 0}
!84 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !85, i64 0}
!85 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !86, i64 0}
!86 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !87, i64 0, !87, i64 16, !14, i64 32}
!87 = !{!"_ZTSSt13_Bit_iterator", !88, i64 0}
!88 = !{!"_ZTSSt18_Bit_iterator_base", !14, i64 0, !7, i64 8}
!89 = !{!"_ZTS20HighsCallbackDataOut", !7, i64 0, !22, i64 8, !7, i64 16, !7, i64 20, !7, i64 24, !22, i64 32, !25, i64 40, !25, i64 48, !22, i64 56, !22, i64 64, !22, i64 72, !14, i64 80, !7, i64 88, !7, i64 92, !7, i64 96, !14, i64 104, !14, i64 112, !14, i64 120, !14, i64 128, !14, i64 136, !7, i64 144}
!90 = !{!"_ZTS19HighsCallbackDataIn", !7, i64 0, !14, i64 8}
!91 = !{!"_ZTS12HighsOptions", !92, i64 0, !94, i64 992, !7, i64 1016}
!92 = !{!"_ZTS18HighsOptionsStruct", !23, i64 8, !23, i64 40, !23, i64 72, !23, i64 104, !22, i64 136, !23, i64 144, !23, i64 176, !7, i64 208, !23, i64 216, !22, i64 248, !22, i64 256, !22, i64 264, !22, i64 272, !22, i64 280, !22, i64 288, !22, i64 296, !22, i64 304, !22, i64 312, !22, i64 320, !22, i64 328, !7, i64 336, !7, i64 340, !7, i64 344, !7, i64 348, !7, i64 352, !7, i64 356, !7, i64 360, !7, i64 364, !7, i64 368, !7, i64 372, !7, i64 376, !7, i64 380, !7, i64 384, !7, i64 388, !23, i64 392, !41, i64 424, !41, i64 425, !41, i64 426, !7, i64 428, !7, i64 432, !23, i64 440, !41, i64 472, !41, i64 473, !41, i64 474, !7, i64 476, !41, i64 480, !41, i64 481, !7, i64 484, !7, i64 488, !22, i64 496, !7, i64 504, !7, i64 508, !7, i64 512, !41, i64 516, !7, i64 520, !41, i64 524, !41, i64 525, !41, i64 526, !41, i64 527, !41, i64 528, !41, i64 529, !41, i64 530, !7, i64 532, !7, i64 536, !7, i64 540, !7, i64 544, !7, i64 548, !7, i64 552, !7, i64 556, !7, i64 560, !7, i64 564, !7, i64 568, !7, i64 572, !7, i64 576, !7, i64 580, !7, i64 584, !7, i64 588, !41, i64 592, !41, i64 593, !41, i64 594, !41, i64 595, !22, i64 600, !22, i64 608, !22, i64 616, !22, i64 624, !22, i64 632, !22, i64 640, !22, i64 648, !22, i64 656, !22, i64 664, !22, i64 672, !22, i64 680, !41, i64 688, !41, i64 689, !41, i64 690, !41, i64 691, !7, i64 692, !22, i64 696, !41, i64 704, !41, i64 705, !23, i64 712, !22, i64 744, !7, i64 752, !7, i64 756, !41, i64 760, !41, i64 761, !41, i64 762, !41, i64 763, !7, i64 764, !7, i64 768, !7, i64 772, !7, i64 776, !7, i64 780, !7, i64 784, !7, i64 788, !7, i64 792, !7, i64 796, !7, i64 800, !7, i64 804, !22, i64 808, !22, i64 816, !22, i64 824, !22, i64 832, !22, i64 840, !41, i64 848, !41, i64 849, !23, i64 856, !41, i64 888, !7, i64 892, !93, i64 896}
!93 = !{!"_ZTS15HighsLogOptions", !14, i64 0, !14, i64 8, !14, i64 16, !14, i64 24, !14, i64 32, !14, i64 40, !81, i64 48, !14, i64 80, !41, i64 88}
!94 = !{!"_ZTSSt6vectorIP12OptionRecordSaIS1_EE", !95, i64 0}
!95 = !{!"_ZTSSt12_Vector_baseIP12OptionRecordSaIS1_EE", !96, i64 0}
!96 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE12_Vector_implE", !97, i64 0}
!97 = !{!"_ZTSNSt12_Vector_baseIP12OptionRecordSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!98 = !{!"_ZTS9HighsInfo", !99, i64 8, !100, i64 160}
!99 = !{!"_ZTS15HighsInfoStruct", !41, i64 0, !25, i64 8, !7, i64 16, !7, i64 20, !7, i64 24, !7, i64 28, !7, i64 32, !7, i64 36, !7, i64 40, !7, i64 44, !22, i64 48, !22, i64 56, !22, i64 64, !22, i64 72, !7, i64 80, !22, i64 88, !22, i64 96, !7, i64 104, !22, i64 112, !22, i64 120, !22, i64 128, !22, i64 136, !22, i64 144}
!100 = !{!"_ZTSSt6vectorIP10InfoRecordSaIS1_EE", !101, i64 0}
!101 = !{!"_ZTSSt12_Vector_baseIP10InfoRecordSaIS1_EE", !102, i64 0}
!102 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE12_Vector_implE", !103, i64 0}
!103 = !{!"_ZTSNSt12_Vector_baseIP10InfoRecordSaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!104 = !{!"_ZTS12HighsRanging", !41, i64 0, !105, i64 8, !105, i64 104, !105, i64 200, !105, i64 296, !105, i64 392, !105, i64 488}
!105 = !{!"_ZTS18HighsRangingRecord", !10, i64 0, !10, i64 24, !17, i64 48, !17, i64 72}
!106 = !{!"_ZTS8HighsIis", !41, i64 0, !7, i64 4, !17, i64 8, !17, i64 32, !17, i64 56, !17, i64 80, !107, i64 104}
!107 = !{!"_ZTSSt6vectorI12HighsIisInfoSaIS0_EE", !108, i64 0}
!108 = !{!"_ZTSSt12_Vector_baseI12HighsIisInfoSaIS0_EE", !109, i64 0}
!109 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE12_Vector_implE", !110, i64 0}
!110 = !{!"_ZTSNSt12_Vector_baseI12HighsIisInfoSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!111 = !{!"_ZTSSt6vectorI22HighsObjectiveSolutionSaIS0_EE", !112, i64 0}
!112 = !{!"_ZTSSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE", !113, i64 0}
!113 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE12_Vector_implE", !114, i64 0}
!114 = !{!"_ZTSNSt12_Vector_baseI22HighsObjectiveSolutionSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!115 = !{!"_ZTS19HighsPresolveStatus", !8, i64 0}
!116 = !{!"_ZTS16HighsModelStatus", !8, i64 0}
!117 = !{!"_ZTS4HEkk", !14, i64 0, !14, i64 8, !14, i64 16, !118, i64 24, !6, i64 8600, !23, i64 9520, !135, i64 9552, !136, i64 9568, !116, i64 10608, !137, i64 10616, !142, i64 10736, !155, i64 10776, !10, i64 10784, !10, i64 10808, !41, i64 10832, !15, i64 10840, !15, i64 10952, !156, i64 11064, !173, i64 13928, !22, i64 14048, !22, i64 14056, !22, i64 14064, !7, i64 14072, !7, i64 14076, !7, i64 14080, !7, i64 14084, !41, i64 14088, !41, i64 14089, !174, i64 14092, !7, i64 14096, !7, i64 14100, !17, i64 14104, !10, i64 14128, !175, i64 14152, !175, i64 14184, !7, i64 14216, !7, i64 14220, !7, i64 14224, !22, i64 14232, !10, i64 14240, !10, i64 14264, !10, i64 14288, !10, i64 14312, !10, i64 14336, !17, i64 14360, !17, i64 14384, !22, i64 14408, !22, i64 14416, !22, i64 14424, !7, i64 14432, !7, i64 14436, !41, i64 14440, !7, i64 14444, !41, i64 14448, !41, i64 14449, !41, i64 14450, !41, i64 14451, !22, i64 14456, !176, i64 14464, !10, i64 14488, !180, i64 14512}
!118 = !{!"_ZTS20HighsSimplexAnalysis", !14, i64 0, !119, i64 8, !119, i64 32, !14, i64 56, !7, i64 64, !7, i64 68, !7, i64 72, !23, i64 80, !23, i64 112, !93, i64 144, !41, i64 240, !41, i64 241, !41, i64 242, !41, i64 243, !41, i64 244, !41, i64 245, !41, i64 246, !7, i64 248, !123, i64 252, !7, i64 256, !7, i64 260, !7, i64 264, !7, i64 268, !7, i64 272, !7, i64 276, !7, i64 280, !23, i64 288, !22, i64 320, !22, i64 328, !22, i64 336, !22, i64 344, !22, i64 352, !22, i64 360, !22, i64 368, !22, i64 376, !22, i64 384, !22, i64 392, !22, i64 400, !22, i64 408, !7, i64 416, !7, i64 420, !22, i64 424, !22, i64 432, !7, i64 440, !22, i64 448, !22, i64 456, !7, i64 464, !22, i64 472, !22, i64 480, !22, i64 488, !22, i64 496, !22, i64 504, !22, i64 512, !22, i64 520, !22, i64 528, !22, i64 536, !22, i64 544, !7, i64 552, !22, i64 560, !7, i64 568, !7, i64 572, !7, i64 576, !7, i64 580, !7, i64 584, !7, i64 588, !7, i64 592, !7, i64 596, !7, i64 600, !124, i64 608, !124, i64 760, !124, i64 912, !124, i64 1064, !124, i64 1216, !124, i64 1368, !124, i64 1520, !124, i64 1672, !124, i64 1824, !124, i64 1976, !7, i64 2128, !7, i64 2132, !7, i64 2136, !7, i64 2140, !22, i64 2144, !22, i64 2152, !7, i64 2160, !7, i64 2164, !7, i64 2168, !7, i64 2172, !7, i64 2176, !22, i64 2184, !22, i64 2192, !7, i64 2200, !22, i64 2208, !22, i64 2216, !7, i64 2224, !7, i64 2228, !22, i64 2232, !22, i64 2240, !10, i64 2248, !10, i64 2272, !10, i64 2296, !10, i64 2320, !125, i64 2344, !129, i64 2368, !7, i64 2376, !7, i64 2380, !7, i64 2384, !7, i64 2388, !22, i64 2392, !22, i64 2400, !22, i64 2408, !22, i64 2416, !22, i64 2424, !22, i64 2432, !22, i64 2440, !22, i64 2448, !22, i64 2456, !22, i64 2464, !7, i64 2472, !7, i64 2476, !22, i64 2480, !22, i64 2488, !22, i64 2496, !41, i64 2504, !22, i64 2512, !22, i64 2520, !7, i64 2528, !7, i64 2532, !7, i64 2536, !7, i64 2540, !7, i64 2544, !22, i64 2552, !22, i64 2560, !22, i64 2568, !22, i64 2576, !22, i64 2584, !22, i64 2592, !22, i64 2600, !22, i64 2608, !22, i64 2616, !7, i64 2624, !7, i64 2628, !8, i64 2632, !7, i64 4952, !7, i64 4956, !8, i64 4960, !8, i64 7600, !8, i64 7648, !124, i64 7664, !124, i64 7816, !124, i64 7968, !124, i64 8120, !124, i64 8272, !124, i64 8424}
!119 = !{!"_ZTSSt6vectorI15HighsTimerClockSaIS0_EE", !120, i64 0}
!120 = !{!"_ZTSSt12_Vector_baseI15HighsTimerClockSaIS0_EE", !121, i64 0}
!121 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE12_Vector_implE", !122, i64 0}
!122 = !{!"_ZTSNSt12_Vector_baseI15HighsTimerClockSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!123 = !{!"_ZTS14EdgeWeightMode", !8, i64 0}
!124 = !{!"_ZTS22HighsValueDistribution", !23, i64 0, !23, i64 32, !7, i64 64, !7, i64 68, !7, i64 72, !22, i64 80, !22, i64 88, !10, i64 96, !17, i64 120, !7, i64 144}
!125 = !{!"_ZTSSt6vectorI17TranStageAnalysisSaIS0_EE", !126, i64 0}
!126 = !{!"_ZTSSt12_Vector_baseI17TranStageAnalysisSaIS0_EE", !127, i64 0}
!127 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE12_Vector_implE", !128, i64 0}
!128 = !{!"_ZTSNSt12_Vector_baseI17TranStageAnalysisSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!129 = !{!"_ZTSSt10unique_ptrINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !130, i64 0}
!130 = !{!"_ZTSSt15__uniq_ptr_dataINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_ELb1ELb1EE", !131, i64 0}
!131 = !{!"_ZTSSt15__uniq_ptr_implINSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EE", !132, i64 0}
!132 = !{!"_ZTSSt5tupleIJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !133, i64 0}
!133 = !{!"_ZTSSt11_Tuple_implILm0EJPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEESt14default_deleteIS5_EEE", !134, i64 0}
!134 = !{!"_ZTSSt10_Head_baseILm0EPNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEELb0EE", !14, i64 0}
!135 = !{!"_ZTS18HighsSimplexStatus", !41, i64 0, !41, i64 1, !41, i64 2, !41, i64 3, !41, i64 4, !41, i64 5, !41, i64 6, !41, i64 7, !41, i64 8, !41, i64 9, !41, i64 10, !41, i64 11, !41, i64 12}
!136 = !{!"_ZTS16HighsSimplexInfo", !10, i64 0, !10, i64 24, !10, i64 48, !10, i64 72, !10, i64 96, !10, i64 120, !10, i64 144, !10, i64 168, !10, i64 192, !10, i64 216, !10, i64 240, !10, i64 264, !10, i64 288, !17, i64 312, !17, i64 336, !17, i64 360, !17, i64 384, !10, i64 408, !7, i64 432, !7, i64 436, !41, i64 440, !41, i64 441, !137, i64 448, !7, i64 568, !7, i64 572, !7, i64 576, !10, i64 584, !10, i64 608, !10, i64 632, !10, i64 656, !7, i64 680, !7, i64 684, !7, i64 688, !7, i64 692, !22, i64 696, !22, i64 704, !22, i64 712, !22, i64 720, !7, i64 728, !7, i64 732, !22, i64 736, !22, i64 744, !22, i64 752, !22, i64 760, !22, i64 768, !22, i64 776, !22, i64 784, !22, i64 792, !22, i64 800, !22, i64 808, !41, i64 816, !22, i64 824, !22, i64 832, !7, i64 840, !22, i64 848, !22, i64 856, !22, i64 864, !41, i64 872, !41, i64 873, !41, i64 874, !41, i64 875, !41, i64 876, !41, i64 877, !41, i64 878, !41, i64 879, !41, i64 880, !41, i64 881, !41, i64 882, !41, i64 883, !41, i64 884, !41, i64 885, !41, i64 886, !7, i64 888, !22, i64 896, !22, i64 904, !7, i64 912, !22, i64 920, !22, i64 928, !7, i64 936, !7, i64 940, !7, i64 944, !7, i64 948, !7, i64 952, !7, i64 956, !7, i64 960, !7, i64 964, !7, i64 968, !7, i64 972, !7, i64 976, !7, i64 980, !7, i64 984, !7, i64 988, !7, i64 992, !7, i64 996, !22, i64 1000, !22, i64 1008, !22, i64 1016, !22, i64 1024, !7, i64 1032}
!137 = !{!"_ZTS12SimplexBasis", !17, i64 0, !138, i64 24, !138, i64 48, !25, i64 72, !7, i64 80, !7, i64 84, !23, i64 88}
!138 = !{!"_ZTSSt6vectorIaSaIaEE", !139, i64 0}
!139 = !{!"_ZTSSt12_Vector_baseIaSaIaEE", !140, i64 0}
!140 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE12_Vector_implE", !141, i64 0}
!141 = !{!"_ZTSNSt12_Vector_baseIaSaIaEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!142 = !{!"_ZTS14HighsHashTableImvE", !143, i64 0, !149, i64 8, !25, i64 16, !25, i64 24, !25, i64 32}
!143 = !{!"_ZTSSt10unique_ptrI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !144, i64 0}
!144 = !{!"_ZTSSt15__uniq_ptr_dataI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterELb1ELb1EE", !145, i64 0}
!145 = !{!"_ZTSSt15__uniq_ptr_implI19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEE", !146, i64 0}
!146 = !{!"_ZTSSt5tupleIJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !147, i64 0}
!147 = !{!"_ZTSSt11_Tuple_implILm0EJP19HighsHashTableEntryImvEN14HighsHashTableImvE12OpNewDeleterEEE", !148, i64 0}
!148 = !{!"_ZTSSt10_Head_baseILm0EP19HighsHashTableEntryImvELb0EE", !14, i64 0}
!149 = !{!"_ZTSSt10unique_ptrIA_hSt14default_deleteIS0_EE", !150, i64 0}
!150 = !{!"_ZTSSt15__uniq_ptr_dataIhSt14default_deleteIA_hELb1ELb1EE", !151, i64 0}
!151 = !{!"_ZTSSt15__uniq_ptr_implIhSt14default_deleteIA_hEE", !152, i64 0}
!152 = !{!"_ZTSSt5tupleIJPhSt14default_deleteIA_hEEE", !153, i64 0}
!153 = !{!"_ZTSSt11_Tuple_implILm0EJPhSt14default_deleteIA_hEEE", !154, i64 0}
!154 = !{!"_ZTSSt10_Head_baseILm0EPhLb0EE", !14, i64 0}
!155 = !{!"_ZTS11HighsRandom", !25, i64 0}
!156 = !{!"_ZTS11HSimplexNla", !14, i64 0, !14, i64 8, !14, i64 16, !14, i64 24, !14, i64 32, !14, i64 40, !157, i64 48, !41, i64 1960, !22, i64 1968, !170, i64 1976, !171, i64 2112}
!157 = !{!"_ZTS7HFactor", !22, i64 0, !22, i64 8, !7, i64 16, !17, i64 24, !17, i64 48, !17, i64 72, !158, i64 96, !7, i64 184, !7, i64 188, !7, i64 192, !7, i64 196, !7, i64 200, !7, i64 204, !7, i64 208, !22, i64 216, !41, i64 224, !14, i64 232, !14, i64 240, !14, i64 248, !14, i64 256, !22, i64 264, !22, i64 272, !7, i64 280, !22, i64 288, !159, i64 296, !93, i64 304, !41, i64 400, !41, i64 401, !7, i64 404, !7, i64 408, !14, i64 416, !7, i64 424, !17, i64 432, !10, i64 456, !17, i64 480, !17, i64 504, !17, i64 528, !10, i64 552, !17, i64 576, !17, i64 600, !17, i64 624, !17, i64 648, !17, i64 672, !17, i64 696, !17, i64 720, !10, i64 744, !10, i64 768, !17, i64 792, !17, i64 816, !17, i64 840, !17, i64 864, !17, i64 888, !17, i64 912, !165, i64 936, !10, i64 960, !17, i64 984, !17, i64 1008, !17, i64 1032, !17, i64 1056, !17, i64 1080, !17, i64 1104, !17, i64 1128, !17, i64 1152, !17, i64 1176, !17, i64 1200, !10, i64 1224, !17, i64 1248, !17, i64 1272, !10, i64 1296, !17, i64 1320, !17, i64 1344, !10, i64 1368, !7, i64 1392, !7, i64 1396, !17, i64 1400, !17, i64 1424, !17, i64 1448, !10, i64 1472, !17, i64 1496, !17, i64 1520, !17, i64 1544, !17, i64 1568, !10, i64 1592, !10, i64 1616, !17, i64 1640, !17, i64 1664, !17, i64 1688, !10, i64 1712, !169, i64 1736}
!158 = !{!"_ZTS12RefactorInfo", !41, i64 0, !17, i64 8, !17, i64 32, !138, i64 56, !22, i64 80}
!159 = !{!"_ZTSSt10unique_ptrIN7HFactor7LogDataESt14default_deleteIS1_EE", !160, i64 0}
!160 = !{!"_ZTSSt15__uniq_ptr_dataIN7HFactor7LogDataESt14default_deleteIS1_ELb1ELb1EE", !161, i64 0}
!161 = !{!"_ZTSSt15__uniq_ptr_implIN7HFactor7LogDataESt14default_deleteIS1_EE", !162, i64 0}
!162 = !{!"_ZTSSt5tupleIJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !163, i64 0}
!163 = !{!"_ZTSSt11_Tuple_implILm0EJPN7HFactor7LogDataESt14default_deleteIS1_EEE", !164, i64 0}
!164 = !{!"_ZTSSt10_Head_baseILm0EPN7HFactor7LogDataELb0EE", !14, i64 0}
!165 = !{!"_ZTSSt6vectorIcSaIcEE", !166, i64 0}
!166 = !{!"_ZTSSt12_Vector_baseIcSaIcEE", !167, i64 0}
!167 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE12_Vector_implE", !168, i64 0}
!168 = !{!"_ZTSNSt12_Vector_baseIcSaIcEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!169 = !{!"_ZTS11HVectorBaseIdE", !7, i64 0, !7, i64 4, !17, i64 8, !10, i64 32, !22, i64 56, !165, i64 64, !17, i64 88, !14, i64 112, !41, i64 120, !7, i64 124, !17, i64 128, !10, i64 152}
!170 = !{!"_ZTS17ProductFormUpdate", !41, i64 0, !7, i64 4, !7, i64 8, !17, i64 16, !10, i64 40, !17, i64 64, !17, i64 88, !10, i64 112}
!171 = !{!"_ZTS14SimplexIterate", !41, i64 0, !137, i64 8, !172, i64 128, !10, i64 728}
!172 = !{!"_ZTS24InvertibleRepresentation", !17, i64 0, !17, i64 24, !17, i64 48, !17, i64 72, !10, i64 96, !17, i64 120, !17, i64 144, !10, i64 168, !17, i64 192, !17, i64 216, !10, i64 240, !17, i64 264, !17, i64 288, !17, i64 312, !10, i64 336, !17, i64 360, !17, i64 384, !17, i64 408, !17, i64 432, !10, i64 456, !17, i64 480, !17, i64 504, !10, i64 528, !17, i64 552, !10, i64 576}
!173 = !{!"_ZTS8HotStart", !41, i64 0, !158, i64 8, !138, i64 96}
!174 = !{!"_ZTS16SimplexAlgorithm", !8, i64 0}
!175 = !{!"_ZTS14HighsRayRecord", !7, i64 0, !7, i64 4, !10, i64 8}
!176 = !{!"_ZTSSt6vectorI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !177, i64 0}
!177 = !{!"_ZTSSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE", !178, i64 0}
!178 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE12_Vector_implE", !179, i64 0}
!179 = !{!"_ZTSNSt12_Vector_baseI32HighsSimplexBadBasisChangeRecordSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!180 = !{!"_ZTS17HighsSimplexStats", !41, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !22, i64 24, !22, i64 32, !22, i64 40, !22, i64 48}
!181 = !{!"_ZTS16HighsPresolveLog", !182, i64 0}
!182 = !{!"_ZTSSt6vectorI20HighsPresolveRuleLogSaIS0_EE", !183, i64 0}
!183 = !{!"_ZTSSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE", !184, i64 0}
!184 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE12_Vector_implE", !185, i64 0}
!185 = !{!"_ZTSNSt12_Vector_baseI20HighsPresolveRuleLogSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!186 = !{!"_ZTS17PresolveComponent", !187, i64 0, !191, i64 16, !192, i64 56, !14, i64 1440, !14, i64 1448, !115, i64 1456, !207, i64 1460}
!187 = !{!"_ZTS14HighsComponent", !188, i64 8, !189, i64 9, !190, i64 10}
!188 = !{!"_ZTS18HighsComponentInfo", !41, i64 0}
!189 = !{!"_ZTS18HighsComponentData", !41, i64 0}
!190 = !{!"_ZTS21HighsComponentOptions", !41, i64 0}
!191 = !{!"_ZTS21PresolveComponentInfo", !188, i64 8, !7, i64 12, !7, i64 16, !7, i64 20, !22, i64 24, !22, i64 32}
!192 = !{!"_ZTS21PresolveComponentData", !189, i64 8, !6, i64 16, !193, i64 936, !61, i64 1160, !62, i64 1264, !181, i64 1360}
!193 = !{!"_ZTSN8presolve19HighsPostsolveStackE", !25, i64 0, !22, i64 8, !22, i64 16, !22, i64 24, !22, i64 32, !194, i64 40, !195, i64 72, !17, i64 96, !17, i64 120, !199, i64 144, !203, i64 168, !203, i64 192, !7, i64 216, !7, i64 220}
!194 = !{!"_ZTS14HighsDataStack", !165, i64 0, !25, i64 24}
!195 = !{!"_ZTSSt6vectorISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !196, i64 0}
!196 = !{!"_ZTSSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE", !197, i64 0}
!197 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE12_Vector_implE", !198, i64 0}
!198 = !{!"_ZTSNSt12_Vector_baseISt4pairIN8presolve19HighsPostsolveStack13ReductionTypeEmESaIS4_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!199 = !{!"_ZTSSt6vectorIhSaIhEE", !200, i64 0}
!200 = !{!"_ZTSSt12_Vector_baseIhSaIhEE", !201, i64 0}
!201 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE12_Vector_implE", !202, i64 0}
!202 = !{!"_ZTSNSt12_Vector_baseIhSaIhEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!203 = !{!"_ZTSSt6vectorIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !204, i64 0}
!204 = !{!"_ZTSSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE", !205, i64 0}
!205 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE12_Vector_implE", !206, i64 0}
!206 = !{!"_ZTSNSt12_Vector_baseIN8presolve19HighsPostsolveStack7NonzeroESaIS2_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!207 = !{!"_ZTS20HighsPostsolveStatus", !8, i64 0}
!208 = !{!92, !22, i64 280}
!209 = distinct !{!209, !51}
!210 = distinct !{!210, !51}
!211 = !{!116, !116, i64 0}
!212 = distinct !{!212, !51}
!213 = distinct !{!213, !51}


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