; LLVM IR from ERGO-Code/HiGHS :: src/lp_data (HighsModelUtils)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::array" = type { [32 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%struct.HighsPrimalDualErrors = type { i32, i32, double, double, i32, double, double, i32, double, i32, double, %struct.HighsError, %struct.HighsError, %struct.HighsError, %struct.HighsError }
%struct.HighsError = type { double, i32, double, i32 }
%class.HighsInfo = type { ptr, %struct.HighsInfoStruct, %"class.std::vector.28" }
%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.28" = type { %"struct.std::_Vector_base.29" }
%"struct.std::_Vector_base.29" = 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.HighsSolution = type { i8, i8, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%"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 }
%struct.HighsBasis = type { i8, i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", %"class.std::vector.8", %"class.std::vector.8" }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsBasisStatus, std::allocator<HighsBasisStatus>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.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.3", %"class.std::vector.3", %"class.std::vector.18", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector" }
%"class.std::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.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = 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.18" = type { %"struct.std::_Vector_base.19" }
%"struct.std::_Vector_base.19" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsNameHash = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector", %"class.std::vector" }
%struct.HighsLpMods = type { %"class.std::vector.13", %"class.std::vector.13", %"class.std::vector", %"class.std::vector", %"class.std::vector.18", %"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" }
%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::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 } }

@.str.9 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [23 x i8], align 1
@__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob = external hidden unnamed_addr constant [173 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [15 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

; 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 nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef) #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: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) #3

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

declare void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(89), ptr noundef nonnull align 8 dereferenceable(32)) #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) #5

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #5

declare void @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ...) #4

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

; 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

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

declare void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1, double noundef, double noundef) #4

; Function Attrs: mustprogress nounwind willreturn memory(none) uwtable
declare dso_local noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32)) #6 align 2

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

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

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

; 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 uwtable
define dso_local void @_Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull align 8 dereferenceable(1000) %2, ptr noundef nonnull align 8 dereferenceable(96) %3, ptr noundef nonnull align 8 dereferenceable(104) %4, i32 noundef %5, ptr noundef nonnull align 8 dereferenceable(184) %6, i1 noundef zeroext %7) #2 personality ptr @__gxx_personality_v0 {
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %16 = alloca i8, align 1
  %17 = alloca i8, align 1
  %18 = alloca i8, align 1
  %19 = alloca i8, align 1
  %20 = alloca double, align 8
  %21 = alloca double, align 8
  %22 = alloca double, align 8
  %23 = alloca double, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca i8, align 1
  %27 = alloca i8, align 1
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i8, align 1
  %31 = alloca i8, align 1
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::allocator", align 1
  %36 = alloca ptr, align 8
  %37 = alloca i32, align 4
  %38 = alloca i8, align 1
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i8, align 1
  %46 = alloca i32, align 4
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::__cxx11::basic_string", align 8
  %51 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %52 = alloca %"class.std::__cxx11::basic_string", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", 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 %"class.std::allocator", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::allocator", align 1
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca i32, align 4
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca i8, align 1
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca i1, align 1
  %69 = alloca i1, align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", 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 %"class.std::__cxx11::basic_string", align 8
  %83 = alloca double, align 8
  %84 = alloca %"struct.std::array", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca double, align 8
  %103 = alloca %"struct.std::array", align 1
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %113 = alloca double, align 8
  %114 = alloca double, align 8
  %115 = alloca double, align 8
  %116 = alloca double, align 8
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"class.std::allocator", align 1
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::allocator", align 1
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca double, align 8
  %123 = alloca %"struct.std::array", align 1
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"class.std::__cxx11::basic_string", align 8
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca double, align 8
  %132 = alloca %"struct.std::array", align 1
  %133 = alloca %"class.std::__cxx11::basic_string", align 8
  %134 = alloca i8, align 1
  %135 = alloca %"class.std::__cxx11::basic_string", align 8
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::__cxx11::basic_string", align 8
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::__cxx11::basic_string", align 8
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::allocator", align 1
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::__cxx11::basic_string", align 8
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca i32, align 4
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca double, align 8
  %156 = alloca %"struct.std::array", align 1
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::allocator", align 1
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca double, align 8
  %167 = alloca double, align 8
  %168 = alloca double, align 8
  %169 = alloca double, align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::allocator", align 1
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::allocator", align 1
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca double, align 8
  %176 = alloca %"struct.std::array", align 1
  %177 = alloca %"class.std::__cxx11::basic_string", align 8
  %178 = alloca %"class.std::__cxx11::basic_string", align 8
  %179 = alloca %"class.std::__cxx11::basic_string", align 8
  %180 = alloca %"class.std::__cxx11::basic_string", align 8
  %181 = alloca %"class.std::__cxx11::basic_string", align 8
  %182 = alloca %"class.std::__cxx11::basic_string", align 8
  %183 = alloca %"class.std::__cxx11::basic_string", align 8
  %184 = alloca double, align 8
  %185 = alloca %"struct.std::array", align 1
  %186 = alloca %"class.std::__cxx11::basic_string", align 8
  %187 = alloca i8, align 1
  %188 = alloca %"class.std::__cxx11::basic_string", align 8
  %189 = alloca %"class.std::__cxx11::basic_string", align 8
  %190 = alloca %"class.std::__cxx11::basic_string", align 8
  %191 = alloca %"class.std::__cxx11::basic_string", align 8
  %192 = alloca %"class.std::__cxx11::basic_string", align 8
  %193 = alloca %"class.std::allocator", align 1
  %194 = alloca %struct.HighsPrimalDualErrors, align 8
  %195 = alloca %class.HighsInfo, align 8
  %196 = alloca i32, align 4
  %197 = alloca double, align 8
  %198 = alloca i32, align 4
  %199 = alloca double, align 8
  %200 = alloca %"class.std::__cxx11::basic_string", align 8
  %201 = alloca %"class.std::allocator", align 1
  %202 = alloca %"class.std::__cxx11::basic_string", align 8
  %203 = alloca %"class.std::allocator", align 1
  %204 = alloca %"class.std::__cxx11::basic_string", align 8
  %205 = alloca %"class.std::allocator", align 1
  %206 = alloca %"class.std::__cxx11::basic_string", align 8
  %207 = alloca %"class.std::allocator", align 1
  %208 = alloca %"class.std::__cxx11::basic_string", align 8
  %209 = alloca %"class.std::__cxx11::basic_string", align 8
  %210 = alloca %"class.std::__cxx11::basic_string", align 8
  %211 = alloca %"class.std::__cxx11::basic_string", align 8
  %212 = alloca %"class.std::__cxx11::basic_string", align 8
  %213 = alloca %"class.std::__cxx11::basic_string", align 8
  %214 = alloca %"class.std::__cxx11::basic_string", align 8
  %215 = alloca %"class.std::__cxx11::basic_string", align 8
  %216 = alloca %"class.std::__cxx11::basic_string", align 8
  %217 = alloca i8, align 1
  %218 = alloca %"class.std::__cxx11::basic_string", align 8
  %219 = alloca %"class.std::__cxx11::basic_string", align 8
  %220 = alloca %"class.std::__cxx11::basic_string", align 8
  %221 = alloca %"class.std::__cxx11::basic_string", align 8
  %222 = alloca %"class.std::__cxx11::basic_string", align 8
  %223 = alloca %"class.std::__cxx11::basic_string", align 8
  %224 = alloca %"class.std::__cxx11::basic_string", align 8
  %225 = alloca %"class.std::__cxx11::basic_string", align 8
  %226 = alloca %"class.std::__cxx11::basic_string", align 8
  %227 = alloca %"class.std::__cxx11::basic_string", align 8
  %228 = alloca %"class.std::__cxx11::basic_string", align 8
  %229 = alloca %"class.std::__cxx11::basic_string", align 8
  %230 = alloca %"class.std::__cxx11::basic_string", align 8
  %231 = alloca %"class.std::__cxx11::basic_string", align 8
  %232 = alloca i8, align 1
  %233 = alloca %"class.std::__cxx11::basic_string", align 8
  %234 = alloca %"class.std::__cxx11::basic_string", align 8
  %235 = alloca %"class.std::__cxx11::basic_string", align 8
  %236 = alloca %"class.std::__cxx11::basic_string", align 8
  %237 = alloca %"class.std::__cxx11::basic_string", align 8
  %238 = alloca %"class.std::__cxx11::basic_string", align 8
  %239 = alloca %"class.std::__cxx11::basic_string", align 8
  %240 = alloca %"class.std::__cxx11::basic_string", align 8
  %241 = alloca %"class.std::__cxx11::basic_string", align 8
  %242 = alloca %"class.std::__cxx11::basic_string", align 8
  %243 = alloca %"class.std::allocator", align 1
  store ptr %0, ptr %9, align 8, !tbaa !5
  store ptr %1, ptr %10, align 8, !tbaa !5
  store ptr %2, ptr %11, align 8, !tbaa !5
  store ptr %3, ptr %12, align 8, !tbaa !5
  store ptr %4, ptr %13, align 8, !tbaa !5
  store i32 %5, ptr %14, align 4, !tbaa !9
  store ptr %6, ptr %15, align 8, !tbaa !5
  %244 = zext i1 %7 to i8
  store i8 %244, ptr %16, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #9
  %245 = load ptr, ptr %13, align 8, !tbaa !5
  %246 = getelementptr inbounds %struct.HighsSolution, ptr %245, i32 0, i32 0
  %247 = load i8, ptr %246, align 8, !tbaa !13, !range !19, !noundef !20
  %248 = trunc i8 %247 to i1
  %249 = zext i1 %248 to i8
  store i8 %249, ptr %17, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #9
  %250 = load ptr, ptr %13, align 8, !tbaa !5
  %251 = getelementptr inbounds %struct.HighsSolution, ptr %250, i32 0, i32 1
  %252 = load i8, ptr %251, align 1, !tbaa !21, !range !19, !noundef !20
  %253 = trunc i8 %252 to i1
  %254 = zext i1 %253 to i8
  store i8 %254, ptr %18, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #9
  %255 = load ptr, ptr %12, align 8, !tbaa !5
  %256 = getelementptr inbounds %struct.HighsBasis, ptr %255, i32 0, i32 0
  %257 = load i8, ptr %256, align 8, !tbaa !22, !range !19, !noundef !20
  %258 = trunc i8 %257 to i1
  %259 = zext i1 %258 to i8
  store i8 %259, ptr %19, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #9
  store double 1.000000e-09, ptr %20, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  store double 0x3EB0C6F7A0B5ED8D, ptr %21, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  store double 1.000000e-03, ptr %22, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #9
  store double 1.000000e-09, ptr %23, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #9
  %260 = load ptr, ptr %11, align 8, !tbaa !5
  %261 = getelementptr inbounds %class.HighsModel, ptr %260, i32 0, i32 0
  store ptr %261, ptr %24, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #9
  %262 = load ptr, ptr %10, align 8, !tbaa !5
  %263 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %262, i32 0, i32 130
  store ptr %263, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #9
  %264 = load ptr, ptr %24, align 8, !tbaa !5
  %265 = getelementptr inbounds %class.HighsLp, ptr %264, i32 0, i32 14
  %266 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %265) #9
  %267 = icmp ne i64 %266, 0
  %268 = zext i1 %267 to i8
  store i8 %268, ptr %26, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #9
  %269 = load ptr, ptr %24, align 8, !tbaa !5
  %270 = getelementptr inbounds %class.HighsLp, ptr %269, i32 0, i32 15
  %271 = call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %270) #9
  %272 = icmp ne i64 %271, 0
  %273 = zext i1 %272 to i8
  store i8 %273, ptr %27, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  %274 = load ptr, ptr %24, align 8, !tbaa !5
  %275 = getelementptr inbounds %class.HighsLp, ptr %274, i32 0, i32 7
  %276 = call noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %275)
  store i32 %276, ptr %28, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  store i32 0, ptr %29, align 4, !tbaa !34
  br label %277

277:                                              ; preds = %296, %8
  %278 = load i32, ptr %29, align 4, !tbaa !34
  %279 = load ptr, ptr %24, align 8, !tbaa !5
  %280 = getelementptr inbounds %class.HighsLp, ptr %279, i32 0, i32 0
  %281 = load i32, ptr %280, align 8, !tbaa !35
  %282 = icmp slt i32 %278, %281
  br i1 %282, label %284, label %283

283:                                              ; preds = %277
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %299

284:                                              ; preds = %277
  %285 = load ptr, ptr %24, align 8, !tbaa !5
  %286 = getelementptr inbounds %class.HighsLp, ptr %285, i32 0, i32 2
  %287 = load i32, ptr %29, align 4, !tbaa !34
  %288 = sext i32 %287 to i64
  %289 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %286, i64 noundef %288) #9
  %290 = load double, ptr %289, align 8, !tbaa !32
  %291 = fcmp une double %290, 0.000000e+00
  br i1 %291, label %292, label %295

292:                                              ; preds = %284
  %293 = load i32, ptr %28, align 4, !tbaa !34
  %294 = add nsw i32 %293, 1
  store i32 %294, ptr %28, align 4, !tbaa !34
  br label %295

295:                                              ; preds = %292, %284
  br label %296

296:                                              ; preds = %295
  %297 = load i32, ptr %29, align 4, !tbaa !34
  %298 = add nsw i32 %297, 1
  store i32 %298, ptr %29, align 4, !tbaa !34
  br label %277, !llvm.loop !60

299:                                              ; preds = %283
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #9
  %300 = load i32, ptr %28, align 4, !tbaa !34
  %301 = load ptr, ptr %24, align 8, !tbaa !5
  %302 = getelementptr inbounds %class.HighsLp, ptr %301, i32 0, i32 7
  %303 = call noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %302)
  %304 = icmp eq i32 %300, %303
  %305 = zext i1 %304 to i8
  store i8 %305, ptr %30, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #9
  %306 = load i8, ptr %30, align 1, !tbaa !11, !range !19, !noundef !20
  %307 = trunc i8 %306 to i1
  br i1 %307, label %308, label %314

308:                                              ; preds = %299
  %309 = load ptr, ptr %11, align 8, !tbaa !5
  %310 = getelementptr inbounds %class.HighsModel, ptr %309, i32 0, i32 1
  %311 = getelementptr inbounds %class.HighsHessian, ptr %310, i32 0, i32 0
  %312 = load i32, ptr %311, align 8, !tbaa !62
  %313 = icmp ne i32 %312, 0
  br label %314

314:                                              ; preds = %308, %299
  %315 = phi i1 [ true, %299 ], [ %313, %308 ]
  %316 = zext i1 %315 to i8
  store i8 %316, ptr %31, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #9
  %317 = load ptr, ptr %10, align 8, !tbaa !5
  %318 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %317, i32 0, i32 40
  %319 = load i32, ptr %318, align 8, !tbaa !66
  store i32 %319, ptr %32, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  store i32 0, ptr %33, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 32, ptr %34) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %34, ptr noundef @.str.129, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %320 unwind label %334

320:                                              ; preds = %314
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #9
  %321 = load ptr, ptr %24, align 8, !tbaa !5
  %322 = getelementptr inbounds %class.HighsLp, ptr %321, i32 0, i32 11
  %323 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %322, ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  %324 = zext i1 %323 to i8
  store i8 %324, ptr %38, align 1, !tbaa !11
  %325 = load i8, ptr %38, align 1, !tbaa !11, !range !19, !noundef !20
  %326 = trunc i8 %325 to i1
  br i1 %326, label %327, label %342

327:                                              ; preds = %320
  %328 = load ptr, ptr %10, align 8, !tbaa !5
  %329 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %328, i32 0, i32 130
  %330 = load ptr, ptr %24, align 8, !tbaa !5
  %331 = getelementptr inbounds %class.HighsLp, ptr %330, i32 0, i32 11
  %332 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %331) #9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %329, i32 noundef 4, ptr noundef @.str.130, ptr noundef %332)
          to label %333 unwind label %338

333:                                              ; preds = %327
  br label %342

334:                                              ; preds = %314
  %335 = landingpad { ptr, i32 }
          cleanup
  %336 = extractvalue { ptr, i32 } %335, 0
  store ptr %336, ptr %36, align 8
  %337 = extractvalue { ptr, i32 } %335, 1
  store i32 %337, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %35) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #9
  br label %3463

338:                                              ; preds = %403, %327
  %339 = landingpad { ptr, i32 }
          cleanup
  %340 = extractvalue { ptr, i32 } %339, 0
  store ptr %340, ptr %36, align 8
  %341 = extractvalue { ptr, i32 } %339, 1
  store i32 %341, ptr %37, align 4
  br label %3462

342:                                              ; preds = %333, %320
  %343 = load i32, ptr %32, align 4, !tbaa !34
  %344 = icmp sle i32 %343, -2
  br i1 %344, label %351, label %345

345:                                              ; preds = %342
  %346 = load i32, ptr %32, align 4, !tbaa !34
  %347 = load ptr, ptr %24, align 8, !tbaa !5
  %348 = getelementptr inbounds %class.HighsLp, ptr %347, i32 0, i32 1
  %349 = load i32, ptr %348, align 4, !tbaa !71
  %350 = icmp sgt i32 %346, %349
  br i1 %350, label %351, label %356

351:                                              ; preds = %345, %342
  %352 = load ptr, ptr %24, align 8, !tbaa !5
  %353 = getelementptr inbounds %class.HighsLp, ptr %352, i32 0, i32 1
  %354 = load i32, ptr %353, align 4, !tbaa !71
  %355 = add nsw i32 %354, 1
  store i32 %355, ptr %33, align 4, !tbaa !34
  br label %417

356:                                              ; preds = %345
  %357 = load i32, ptr %32, align 4, !tbaa !34
  %358 = icmp eq i32 %357, -1
  br i1 %358, label %359, label %366

359:                                              ; preds = %356
  %360 = load i32, ptr %33, align 4, !tbaa !34
  %361 = icmp eq i32 %360, 0
  br i1 %361, label %362, label %363

362:                                              ; preds = %359
  br label %365

363:                                              ; preds = %359
  call void @__assert_fail(ptr noundef @.str.131, ptr noundef @.str.73, i32 noundef 578, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

364:                                              ; No predecessors!
  br label %365

365:                                              ; preds = %364, %362
  br label %416

366:                                              ; preds = %356
  %367 = load i32, ptr %32, align 4, !tbaa !34
  %368 = icmp eq i32 %367, 0
  br i1 %368, label %369, label %413

369:                                              ; preds = %366
  %370 = load i8, ptr %30, align 1, !tbaa !11, !range !19, !noundef !20
  %371 = trunc i8 %370 to i1
  br i1 %371, label %372, label %382

372:                                              ; preds = %369
  %373 = load i8, ptr %38, align 1, !tbaa !11, !range !19, !noundef !20
  %374 = trunc i8 %373 to i1
  br i1 %374, label %375, label %382

375:                                              ; preds = %372
  %376 = load i32, ptr %33, align 4, !tbaa !34
  %377 = icmp eq i32 %376, 0
  br i1 %377, label %378, label %379

378:                                              ; preds = %375
  br label %381

379:                                              ; preds = %375
  call void @__assert_fail(ptr noundef @.str.131, ptr noundef @.str.73, i32 noundef 583, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

380:                                              ; No predecessors!
  br label %381

381:                                              ; preds = %380, %378
  br label %412

382:                                              ; preds = %372, %369
  %383 = load ptr, ptr %24, align 8, !tbaa !5
  %384 = getelementptr inbounds %class.HighsLp, ptr %383, i32 0, i32 24
  %385 = load i32, ptr %384, align 4, !tbaa !72
  %386 = icmp sge i32 %385, 0
  br i1 %386, label %387, label %403

387:                                              ; preds = %382
  %388 = load ptr, ptr %24, align 8, !tbaa !5
  %389 = getelementptr inbounds %class.HighsLp, ptr %388, i32 0, i32 24
  %390 = load i32, ptr %389, align 4, !tbaa !72
  %391 = load ptr, ptr %24, align 8, !tbaa !5
  %392 = getelementptr inbounds %class.HighsLp, ptr %391, i32 0, i32 1
  %393 = load i32, ptr %392, align 4, !tbaa !71
  %394 = icmp sle i32 %390, %393
  br i1 %394, label %395, label %396

395:                                              ; preds = %387
  br label %398

396:                                              ; preds = %387
  call void @__assert_fail(ptr noundef @.str.132, ptr noundef @.str.73, i32 noundef 590, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

397:                                              ; No predecessors!
  br label %398

398:                                              ; preds = %397, %395
  %399 = load ptr, ptr %24, align 8, !tbaa !5
  %400 = getelementptr inbounds %class.HighsLp, ptr %399, i32 0, i32 24
  %401 = load i32, ptr %400, align 4, !tbaa !72
  %402 = add nsw i32 %401, 1
  store i32 %402, ptr %33, align 4, !tbaa !34
  br label %411

403:                                              ; preds = %382
  %404 = load ptr, ptr %24, align 8, !tbaa !5
  %405 = getelementptr inbounds %class.HighsLp, ptr %404, i32 0, i32 1
  %406 = load i32, ptr %405, align 4, !tbaa !71
  %407 = add nsw i32 %406, 1
  store i32 %407, ptr %33, align 4, !tbaa !34
  %408 = load ptr, ptr %10, align 8, !tbaa !5
  %409 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %408, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %409, i32 noundef 4, ptr noundef @.str.133)
          to label %410 unwind label %338

410:                                              ; preds = %403
  br label %411

411:                                              ; preds = %410, %398
  br label %412

412:                                              ; preds = %411, %381
  br label %415

413:                                              ; preds = %366
  %414 = load i32, ptr %32, align 4, !tbaa !34
  store i32 %414, ptr %33, align 4, !tbaa !34
  br label %415

415:                                              ; preds = %413, %412
  br label %416

416:                                              ; preds = %415, %365
  br label %417

417:                                              ; preds = %416, %351
  %418 = load i32, ptr %33, align 4, !tbaa !34
  %419 = icmp sle i32 0, %418
  br i1 %419, label %420, label %427

420:                                              ; preds = %417
  %421 = load i32, ptr %33, align 4, !tbaa !34
  %422 = load ptr, ptr %24, align 8, !tbaa !5
  %423 = getelementptr inbounds %class.HighsLp, ptr %422, i32 0, i32 1
  %424 = load i32, ptr %423, align 4, !tbaa !71
  %425 = add nsw i32 %424, 1
  %426 = icmp sle i32 %421, %425
  br label %427

427:                                              ; preds = %420, %417
  %428 = phi i1 [ false, %417 ], [ %426, %420 ]
  br i1 %428, label %429, label %430

429:                                              ; preds = %427
  br label %432

430:                                              ; preds = %427
  call void @__assert_fail(ptr noundef @.str.134, ptr noundef @.str.73, i32 noundef 606, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

431:                                              ; No predecessors!
  br label %432

432:                                              ; preds = %431, %429
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %433 = load ptr, ptr %24, align 8, !tbaa !5
  %434 = getelementptr inbounds %class.HighsLp, ptr %433, i32 0, i32 1
  %435 = load i32, ptr %434, align 4, !tbaa !71
  store i32 %435, ptr %39, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #9
  %436 = load ptr, ptr %24, align 8, !tbaa !5
  %437 = getelementptr inbounds %class.HighsLp, ptr %436, i32 0, i32 0
  %438 = load i32, ptr %437, align 8, !tbaa !35
  store i32 %438, ptr %40, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %439 = load i32, ptr %33, align 4, !tbaa !34
  %440 = icmp sgt i32 %439, 0
  %441 = zext i1 %440 to i32
  store i32 %441, ptr %41, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %442 = load i32, ptr %39, align 4, !tbaa !34
  %443 = load i32, ptr %41, align 4, !tbaa !34
  %444 = add nsw i32 %442, %443
  store i32 %444, ptr %42, align 4, !tbaa !34
  %445 = load i32, ptr %33, align 4, !tbaa !34
  %446 = icmp sle i32 %445, 0
  br i1 %446, label %447, label %456

447:                                              ; preds = %432
  %448 = load ptr, ptr %24, align 8, !tbaa !5
  %449 = getelementptr inbounds %class.HighsLp, ptr %448, i32 0, i32 7
  %450 = invoke noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %449)
          to label %451 unwind label %452

451:                                              ; preds = %447
  store i32 %450, ptr %28, align 4, !tbaa !34
  br label %456

452:                                              ; preds = %447
  %453 = landingpad { ptr, i32 }
          cleanup
  %454 = extractvalue { ptr, i32 } %453, 0
  store ptr %454, ptr %36, align 8
  %455 = extractvalue { ptr, i32 } %453, 1
  store i32 %455, ptr %37, align 4
  br label %3461

456:                                              ; preds = %451, %432
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  store i32 0, ptr %43, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  store i32 0, ptr %44, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 1, ptr %45) #9
  store i8 0, ptr %45, align 1, !tbaa !11
  %457 = load ptr, ptr %24, align 8, !tbaa !5
  %458 = getelementptr inbounds %class.HighsLp, ptr %457, i32 0, i32 16
  %459 = call noundef i64 @_ZNKSt6vectorI12HighsVarTypeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %458) #9
  %460 = trunc i64 %459 to i32
  %461 = load ptr, ptr %24, align 8, !tbaa !5
  %462 = getelementptr inbounds %class.HighsLp, ptr %461, i32 0, i32 0
  %463 = load i32, ptr %462, align 8, !tbaa !35
  %464 = icmp eq i32 %460, %463
  br i1 %464, label %465, label %508

465:                                              ; preds = %456
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  store i32 0, ptr %46, align 4, !tbaa !34
  br label %466

466:                                              ; preds = %504, %465
  %467 = load i32, ptr %46, align 4, !tbaa !34
  %468 = load ptr, ptr %24, align 8, !tbaa !5
  %469 = getelementptr inbounds %class.HighsLp, ptr %468, i32 0, i32 0
  %470 = load i32, ptr %469, align 8, !tbaa !35
  %471 = icmp slt i32 %467, %470
  br i1 %471, label %473, label %472

472:                                              ; preds = %466
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %507

473:                                              ; preds = %466
  %474 = load ptr, ptr %24, align 8, !tbaa !5
  %475 = getelementptr inbounds %class.HighsLp, ptr %474, i32 0, i32 16
  %476 = load i32, ptr %46, align 4, !tbaa !34
  %477 = sext i32 %476 to i64
  %478 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %475, i64 noundef %477) #9
  %479 = load i8, ptr %478, align 1, !tbaa !73
  %480 = icmp ne i8 %479, 0
  br i1 %480, label %481, label %503

481:                                              ; preds = %473
  store i8 1, ptr %45, align 1, !tbaa !11
  %482 = load i32, ptr %43, align 4, !tbaa !34
  %483 = add nsw i32 %482, 1
  store i32 %483, ptr %43, align 4, !tbaa !34
  %484 = load ptr, ptr %24, align 8, !tbaa !5
  %485 = getelementptr inbounds %class.HighsLp, ptr %484, i32 0, i32 3
  %486 = load i32, ptr %46, align 4, !tbaa !34
  %487 = sext i32 %486 to i64
  %488 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %485, i64 noundef %487) #9
  %489 = load double, ptr %488, align 8, !tbaa !32
  %490 = fcmp oeq double %489, 0.000000e+00
  br i1 %490, label %491, label %502

491:                                              ; preds = %481
  %492 = load ptr, ptr %24, align 8, !tbaa !5
  %493 = getelementptr inbounds %class.HighsLp, ptr %492, i32 0, i32 4
  %494 = load i32, ptr %46, align 4, !tbaa !34
  %495 = sext i32 %494 to i64
  %496 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %493, i64 noundef %495) #9
  %497 = load double, ptr %496, align 8, !tbaa !32
  %498 = fcmp oeq double %497, 1.000000e+00
  br i1 %498, label %499, label %502

499:                                              ; preds = %491
  %500 = load i32, ptr %44, align 4, !tbaa !34
  %501 = add nsw i32 %500, 1
  store i32 %501, ptr %44, align 4, !tbaa !34
  br label %502

502:                                              ; preds = %499, %491, %481
  br label %503

503:                                              ; preds = %502, %473
  br label %504

504:                                              ; preds = %503
  %505 = load i32, ptr %46, align 4, !tbaa !34
  %506 = add nsw i32 %505, 1
  store i32 %506, ptr %46, align 4, !tbaa !34
  br label %466, !llvm.loop !75

507:                                              ; preds = %472
  br label %508

508:                                              ; preds = %507, %456
  call void @llvm.lifetime.start.p0(i64 32, ptr %47) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %509 unwind label %515

509:                                              ; preds = %508
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #9
  %510 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %511 = trunc i8 %510 to i1
  br i1 %511, label %512, label %523

512:                                              ; preds = %509
  %513 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.135)
          to label %514 unwind label %519

514:                                              ; preds = %512
  br label %523

515:                                              ; preds = %508
  %516 = landingpad { ptr, i32 }
          cleanup
  %517 = extractvalue { ptr, i32 } %516, 0
  store ptr %517, ptr %36, align 8
  %518 = extractvalue { ptr, i32 } %516, 1
  store i32 %518, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #9
  br label %3460

519:                                              ; preds = %512
  %520 = landingpad { ptr, i32 }
          cleanup
  %521 = extractvalue { ptr, i32 } %520, 0
  store ptr %521, ptr %36, align 8
  %522 = extractvalue { ptr, i32 } %520, 1
  store i32 %522, ptr %37, align 4
  br label %3459

523:                                              ; preds = %514, %509
  %524 = load ptr, ptr %9, align 8, !tbaa !5
  %525 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #9
  %526 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %527 = load ptr, ptr %24, align 8, !tbaa !5
  %528 = getelementptr inbounds %class.HighsLp, ptr %527, i32 0, i32 10
  %529 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %528) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef @.str.136, ptr noundef %526, ptr noundef @.str.137, ptr noundef %529)
          to label %530 unwind label %558

530:                                              ; preds = %523
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %524, ptr noundef nonnull align 8 dereferenceable(89) %525, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %531 unwind label %562

531:                                              ; preds = %530
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #9
  %532 = load ptr, ptr %9, align 8, !tbaa !5
  %533 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %50) #9
  %534 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %535 = load i32, ptr %42, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef @.str.138, ptr noundef %534, ptr noundef @.str.139, i32 noundef %535)
          to label %536 unwind label %567

536:                                              ; preds = %531
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %532, ptr noundef nonnull align 8 dereferenceable(89) %533, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %537 unwind label %571

537:                                              ; preds = %536
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #9
  call void @llvm.lifetime.start.p0(i64 392, ptr %51) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %538 unwind label %576

538:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 32, ptr %52) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %539 unwind label %580

539:                                              ; preds = %538
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #9
  %540 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #9
  %541 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %542 = load i32, ptr %40, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef @.str.140, ptr noundef %541, ptr noundef @.str.141, i32 noundef %542)
          to label %543 unwind label %584

543:                                              ; preds = %539
  %544 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %540, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %545 unwind label %588

545:                                              ; preds = %543
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #9
  %546 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %547 = trunc i8 %546 to i1
  br i1 %547, label %602, label %548

548:                                              ; preds = %545
  %549 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %550 = trunc i8 %549 to i1
  br i1 %550, label %551, label %602

551:                                              ; preds = %548
  %552 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %54) #9
  %553 = load i32, ptr %43, align 4, !tbaa !34
  %554 = load i32, ptr %44, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef @.str.142, i32 noundef %553, i32 noundef %554)
          to label %555 unwind label %593

555:                                              ; preds = %551
  %556 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %552, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %557 unwind label %597

557:                                              ; preds = %555
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #9
  br label %602

558:                                              ; preds = %523
  %559 = landingpad { ptr, i32 }
          cleanup
  %560 = extractvalue { ptr, i32 } %559, 0
  store ptr %560, ptr %36, align 8
  %561 = extractvalue { ptr, i32 } %559, 1
  store i32 %561, ptr %37, align 4
  br label %566

562:                                              ; preds = %530
  %563 = landingpad { ptr, i32 }
          cleanup
  %564 = extractvalue { ptr, i32 } %563, 0
  store ptr %564, ptr %36, align 8
  %565 = extractvalue { ptr, i32 } %563, 1
  store i32 %565, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  br label %566

566:                                              ; preds = %562, %558
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #9
  br label %3459

567:                                              ; preds = %531
  %568 = landingpad { ptr, i32 }
          cleanup
  %569 = extractvalue { ptr, i32 } %568, 0
  store ptr %569, ptr %36, align 8
  %570 = extractvalue { ptr, i32 } %568, 1
  store i32 %570, ptr %37, align 4
  br label %575

571:                                              ; preds = %536
  %572 = landingpad { ptr, i32 }
          cleanup
  %573 = extractvalue { ptr, i32 } %572, 0
  store ptr %573, ptr %36, align 8
  %574 = extractvalue { ptr, i32 } %572, 1
  store i32 %574, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  br label %575

575:                                              ; preds = %571, %567
  call void @llvm.lifetime.end.p0(i64 32, ptr %50) #9
  br label %3459

576:                                              ; preds = %537
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %36, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %37, align 4
  br label %3458

580:                                              ; preds = %538
  %581 = landingpad { ptr, i32 }
          cleanup
  %582 = extractvalue { ptr, i32 } %581, 0
  store ptr %582, ptr %36, align 8
  %583 = extractvalue { ptr, i32 } %581, 1
  store i32 %583, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %52) #9
  br label %3457

584:                                              ; preds = %539
  %585 = landingpad { ptr, i32 }
          cleanup
  %586 = extractvalue { ptr, i32 } %585, 0
  store ptr %586, ptr %36, align 8
  %587 = extractvalue { ptr, i32 } %585, 1
  store i32 %587, ptr %37, align 4
  br label %592

588:                                              ; preds = %543
  %589 = landingpad { ptr, i32 }
          cleanup
  %590 = extractvalue { ptr, i32 } %589, 0
  store ptr %590, ptr %36, align 8
  %591 = extractvalue { ptr, i32 } %589, 1
  store i32 %591, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %592

592:                                              ; preds = %588, %584
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #9
  br label %3457

593:                                              ; preds = %551
  %594 = landingpad { ptr, i32 }
          cleanup
  %595 = extractvalue { ptr, i32 } %594, 0
  store ptr %595, ptr %36, align 8
  %596 = extractvalue { ptr, i32 } %594, 1
  store i32 %596, ptr %37, align 4
  br label %601

597:                                              ; preds = %555
  %598 = landingpad { ptr, i32 }
          cleanup
  %599 = extractvalue { ptr, i32 } %598, 0
  store ptr %599, ptr %36, align 8
  %600 = extractvalue { ptr, i32 } %598, 1
  store i32 %600, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  br label %601

601:                                              ; preds = %597, %593
  call void @llvm.lifetime.end.p0(i64 32, ptr %54) #9
  br label %3457

602:                                              ; preds = %557, %548, %545
  %603 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %55) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef @.str.82)
          to label %604 unwind label %620

604:                                              ; preds = %602
  %605 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %603, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %606 unwind label %624

606:                                              ; preds = %604
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #9
  %607 = load ptr, ptr %9, align 8, !tbaa !5
  %608 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %56) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %609 unwind label %629

609:                                              ; preds = %606
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %607, ptr noundef nonnull align 8 dereferenceable(89) %608, ptr noundef nonnull align 8 dereferenceable(32) %56)
          to label %610 unwind label %633

610:                                              ; preds = %609
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #9
  %611 = load ptr, ptr %9, align 8, !tbaa !5
  %612 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %57) #9
  %613 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %614 = load i32, ptr %28, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef @.str.138, ptr noundef %613, ptr noundef @.str.143, i32 noundef %614)
          to label %615 unwind label %638

615:                                              ; preds = %610
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %611, ptr noundef nonnull align 8 dereferenceable(89) %612, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %616 unwind label %642

616:                                              ; preds = %615
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.144, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %617 unwind label %647

617:                                              ; preds = %616
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %60) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.145, ptr noundef nonnull align 1 dereferenceable(1) %61)
          to label %618 unwind label %651

618:                                              ; preds = %617
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  %619 = load i32, ptr %14, align 4, !tbaa !9
  switch i32 %619, label %692 [
    i32 7, label %655
    i32 8, label %671
    i32 10, label %683
  ]

620:                                              ; preds = %602
  %621 = landingpad { ptr, i32 }
          cleanup
  %622 = extractvalue { ptr, i32 } %621, 0
  store ptr %622, ptr %36, align 8
  %623 = extractvalue { ptr, i32 } %621, 1
  store i32 %623, ptr %37, align 4
  br label %628

624:                                              ; preds = %604
  %625 = landingpad { ptr, i32 }
          cleanup
  %626 = extractvalue { ptr, i32 } %625, 0
  store ptr %626, ptr %36, align 8
  %627 = extractvalue { ptr, i32 } %625, 1
  store i32 %627, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  br label %628

628:                                              ; preds = %624, %620
  call void @llvm.lifetime.end.p0(i64 32, ptr %55) #9
  br label %3457

629:                                              ; preds = %606
  %630 = landingpad { ptr, i32 }
          cleanup
  %631 = extractvalue { ptr, i32 } %630, 0
  store ptr %631, ptr %36, align 8
  %632 = extractvalue { ptr, i32 } %630, 1
  store i32 %632, ptr %37, align 4
  br label %637

633:                                              ; preds = %609
  %634 = landingpad { ptr, i32 }
          cleanup
  %635 = extractvalue { ptr, i32 } %634, 0
  store ptr %635, ptr %36, align 8
  %636 = extractvalue { ptr, i32 } %634, 1
  store i32 %636, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #9
  br label %637

637:                                              ; preds = %633, %629
  call void @llvm.lifetime.end.p0(i64 32, ptr %56) #9
  br label %3457

638:                                              ; preds = %610
  %639 = landingpad { ptr, i32 }
          cleanup
  %640 = extractvalue { ptr, i32 } %639, 0
  store ptr %640, ptr %36, align 8
  %641 = extractvalue { ptr, i32 } %639, 1
  store i32 %641, ptr %37, align 4
  br label %646

642:                                              ; preds = %615
  %643 = landingpad { ptr, i32 }
          cleanup
  %644 = extractvalue { ptr, i32 } %643, 0
  store ptr %644, ptr %36, align 8
  %645 = extractvalue { ptr, i32 } %643, 1
  store i32 %645, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  br label %646

646:                                              ; preds = %642, %638
  call void @llvm.lifetime.end.p0(i64 32, ptr %57) #9
  br label %3457

647:                                              ; preds = %616
  %648 = landingpad { ptr, i32 }
          cleanup
  %649 = extractvalue { ptr, i32 } %648, 0
  store ptr %649, ptr %36, align 8
  %650 = extractvalue { ptr, i32 } %648, 1
  store i32 %650, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #9
  br label %3456

651:                                              ; preds = %617
  %652 = landingpad { ptr, i32 }
          cleanup
  %653 = extractvalue { ptr, i32 } %652, 0
  store ptr %653, ptr %36, align 8
  %654 = extractvalue { ptr, i32 } %652, 1
  store i32 %654, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %61) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #9
  br label %3455

655:                                              ; preds = %618
  %656 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %657 = trunc i8 %656 to i1
  br i1 %657, label %658, label %667

658:                                              ; preds = %655
  %659 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.146)
          to label %660 unwind label %663

660:                                              ; preds = %658
  %661 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.147)
          to label %662 unwind label %663

662:                                              ; preds = %660
  br label %670

663:                                              ; preds = %729, %720, %715, %710, %706, %703, %701, %688, %683, %679, %676, %674, %667, %660, %658
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %36, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %37, align 4
  br label %3454

667:                                              ; preds = %655
  %668 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.148)
          to label %669 unwind label %663

669:                                              ; preds = %667
  br label %670

670:                                              ; preds = %669, %662
  br label %720

671:                                              ; preds = %618
  %672 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %673 = trunc i8 %672 to i1
  br i1 %673, label %674, label %679

674:                                              ; preds = %671
  %675 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.149)
          to label %676 unwind label %663

676:                                              ; preds = %674
  %677 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.150)
          to label %678 unwind label %663

678:                                              ; preds = %676
  br label %682

679:                                              ; preds = %671
  %680 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.151)
          to label %681 unwind label %663

681:                                              ; preds = %679
  br label %682

682:                                              ; preds = %681, %678
  br label %720

683:                                              ; preds = %618
  %684 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.152)
          to label %685 unwind label %663

685:                                              ; preds = %683
  %686 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %687 = trunc i8 %686 to i1
  br i1 %687, label %688, label %691

688:                                              ; preds = %685
  %689 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.153)
          to label %690 unwind label %663

690:                                              ; preds = %688
  br label %691

691:                                              ; preds = %690, %685
  br label %720

692:                                              ; preds = %618
  %693 = load ptr, ptr %15, align 8, !tbaa !5
  %694 = getelementptr inbounds i8, ptr %693, i64 8
  %695 = getelementptr inbounds %struct.HighsInfoStruct, ptr %694, i32 0, i32 7
  %696 = load i32, ptr %695, align 4, !tbaa !76
  %697 = icmp eq i32 %696, 2
  br i1 %697, label %698, label %710

698:                                              ; preds = %692
  %699 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %700 = trunc i8 %699 to i1
  br i1 %700, label %701, label %706

701:                                              ; preds = %698
  %702 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.154)
          to label %703 unwind label %663

703:                                              ; preds = %701
  %704 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.155)
          to label %705 unwind label %663

705:                                              ; preds = %703
  br label %709

706:                                              ; preds = %698
  %707 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.156)
          to label %708 unwind label %663

708:                                              ; preds = %706
  br label %709

709:                                              ; preds = %708, %705
  br label %719

710:                                              ; preds = %692
  %711 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.157)
          to label %712 unwind label %663

712:                                              ; preds = %710
  %713 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %714 = trunc i8 %713 to i1
  br i1 %714, label %715, label %718

715:                                              ; preds = %712
  %716 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.153)
          to label %717 unwind label %663

717:                                              ; preds = %715
  br label %718

718:                                              ; preds = %717, %712
  br label %719

719:                                              ; preds = %718, %709
  br label %720

720:                                              ; preds = %719, %691, %682, %670
  %721 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.144)
          to label %722 unwind label %663

722:                                              ; preds = %720
  br i1 %721, label %723, label %724

723:                                              ; preds = %722
  br label %726

724:                                              ; preds = %722
  call void @__assert_fail(ptr noundef @.str.158, ptr noundef @.str.73, i32 noundef 698, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

725:                                              ; No predecessors!
  br label %726

726:                                              ; preds = %725, %723
  %727 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %728 = trunc i8 %727 to i1
  br i1 %728, label %729, label %736

729:                                              ; preds = %726
  %730 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %60, ptr noundef @.str.145)
          to label %731 unwind label %663

731:                                              ; preds = %729
  br i1 %730, label %732, label %733

732:                                              ; preds = %731
  br label %735

733:                                              ; preds = %731
  call void @__assert_fail(ptr noundef @.str.159, ptr noundef @.str.73, i32 noundef 699, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

734:                                              ; No predecessors!
  br label %735

735:                                              ; preds = %734, %732
  br label %736

736:                                              ; preds = %735, %726
  %737 = load ptr, ptr %9, align 8, !tbaa !5
  %738 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %62) #9
  %739 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %740 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef @.str.136, ptr noundef %739, ptr noundef @.str.160, ptr noundef %740)
          to label %741 unwind label %749

741:                                              ; preds = %736
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %737, ptr noundef nonnull align 8 dereferenceable(89) %738, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %742 unwind label %753

742:                                              ; preds = %741
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #9
  %743 = load ptr, ptr %15, align 8, !tbaa !5
  %744 = getelementptr inbounds i8, ptr %743, i64 8
  %745 = getelementptr inbounds %struct.HighsInfoStruct, ptr %744, i32 0, i32 0
  %746 = load i8, ptr %745, align 8, !tbaa !78, !range !19, !noundef !20
  %747 = trunc i8 %746 to i1
  br i1 %747, label %758, label %748

748:                                              ; preds = %742
  store i32 1, ptr %63, align 4
  br label %3435

749:                                              ; preds = %736
  %750 = landingpad { ptr, i32 }
          cleanup
  %751 = extractvalue { ptr, i32 } %750, 0
  store ptr %751, ptr %36, align 8
  %752 = extractvalue { ptr, i32 } %750, 1
  store i32 %752, ptr %37, align 4
  br label %757

753:                                              ; preds = %741
  %754 = landingpad { ptr, i32 }
          cleanup
  %755 = extractvalue { ptr, i32 } %754, 0
  store ptr %755, ptr %36, align 8
  %756 = extractvalue { ptr, i32 } %754, 1
  store i32 %756, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  br label %757

757:                                              ; preds = %753, %749
  call void @llvm.lifetime.end.p0(i64 32, ptr %62) #9
  br label %3454

758:                                              ; preds = %742
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #9
  %759 = load ptr, ptr %24, align 8, !tbaa !5
  %760 = getelementptr inbounds %class.HighsLp, ptr %759, i32 0, i32 11
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull align 8 dereferenceable(32) %760)
          to label %761 unwind label %772

761:                                              ; preds = %758
  %762 = load ptr, ptr %24, align 8, !tbaa !5
  %763 = getelementptr inbounds %class.HighsLp, ptr %762, i32 0, i32 1
  %764 = load i32, ptr %763, align 4, !tbaa !71
  %765 = icmp ne i32 %764, 0
  br i1 %765, label %766, label %780

766:                                              ; preds = %761
  %767 = load i8, ptr %27, align 1, !tbaa !11, !range !19, !noundef !20
  %768 = trunc i8 %767 to i1
  br i1 %768, label %780, label %769

769:                                              ; preds = %766
  %770 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.9)
          to label %771 unwind label %776

771:                                              ; preds = %769
  br label %780

772:                                              ; preds = %758
  %773 = landingpad { ptr, i32 }
          cleanup
  %774 = extractvalue { ptr, i32 } %773, 0
  store ptr %774, ptr %36, align 8
  %775 = extractvalue { ptr, i32 } %773, 1
  store i32 %775, ptr %37, align 4
  br label %3453

776:                                              ; preds = %783, %769
  %777 = landingpad { ptr, i32 }
          cleanup
  %778 = extractvalue { ptr, i32 } %777, 0
  store ptr %778, ptr %36, align 8
  %779 = extractvalue { ptr, i32 } %777, 1
  store i32 %779, ptr %37, align 4
  br label %3452

780:                                              ; preds = %771, %766, %761
  %781 = load i8, ptr %27, align 1, !tbaa !11, !range !19, !noundef !20
  %782 = trunc i8 %781 to i1
  br i1 %782, label %783, label %792

783:                                              ; preds = %780
  %784 = load ptr, ptr %24, align 8, !tbaa !5
  %785 = getelementptr inbounds %class.HighsLp, ptr %784, i32 0, i32 11
  %786 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %785, ptr noundef @.str.9)
          to label %787 unwind label %776

787:                                              ; preds = %783
  br i1 %786, label %788, label %789

788:                                              ; preds = %787
  br label %791

789:                                              ; preds = %787
  call void @__assert_fail(ptr noundef @.str.161, ptr noundef @.str.73, i32 noundef 714, ptr noundef @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

790:                                              ; No predecessors!
  br label %791

791:                                              ; preds = %790, %788
  br label %792

792:                                              ; preds = %791, %780
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #9
  %793 = load ptr, ptr %24, align 8, !tbaa !5
  %794 = getelementptr inbounds %class.HighsLp, ptr %793, i32 0, i32 11
  %795 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %794, ptr noundef @.str.9)
          to label %796 unwind label %844

796:                                              ; preds = %792
  %797 = zext i1 %795 to i8
  store i8 %797, ptr %65, align 1, !tbaa !11
  %798 = load ptr, ptr %9, align 8, !tbaa !5
  %799 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %66) #9
  %800 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %801 = load i8, ptr %31, align 1, !tbaa !11, !range !19, !noundef !20
  %802 = trunc i8 %801 to i1
  store i1 false, ptr %68, align 1
  store i1 false, ptr %69, align 1
  br i1 %802, label %803, label %806

803:                                              ; preds = %796
  %804 = load i8, ptr %65, align 1, !tbaa !11, !range !19, !noundef !20
  %805 = trunc i8 %804 to i1
  br i1 %805, label %807, label %806

806:                                              ; preds = %803, %796
  br label %810

807:                                              ; preds = %803
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #9
  store i1 true, ptr %68, align 1
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef @.str.164)
          to label %808 unwind label %848

808:                                              ; preds = %807
  store i1 true, ptr %69, align 1
  %809 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %810

810:                                              ; preds = %808, %806
  %811 = phi ptr [ @.str.9, %806 ], [ %809, %808 ]
  %812 = load i8, ptr %31, align 1, !tbaa !11, !range !19, !noundef !20
  %813 = trunc i8 %812 to i1
  br i1 %813, label %814, label %819

814:                                              ; preds = %810
  %815 = load ptr, ptr %15, align 8, !tbaa !5
  %816 = getelementptr inbounds i8, ptr %815, i64 8
  %817 = getelementptr inbounds %struct.HighsInfoStruct, ptr %816, i32 0, i32 10
  %818 = load double, ptr %817, align 8, !tbaa !79
  br label %820

819:                                              ; preds = %810
  br label %820

820:                                              ; preds = %819, %814
  %821 = phi double [ %818, %814 ], [ 0.000000e+00, %819 ]
  %822 = load ptr, ptr %24, align 8, !tbaa !5
  %823 = getelementptr inbounds %class.HighsLp, ptr %822, i32 0, i32 8
  %824 = load i32, ptr %823, align 8, !tbaa !80
  %825 = icmp eq i32 %824, 1
  br i1 %825, label %826, label %827

826:                                              ; preds = %820
  br label %828

827:                                              ; preds = %820
  br label %828

828:                                              ; preds = %827, %826
  %829 = phi ptr [ @.str.165, %826 ], [ @.str.166, %827 ]
  %830 = getelementptr inbounds [8 x i8], ptr %829, i64 0, i64 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef @.str.162, ptr noundef %800, ptr noundef @.str.163, ptr noundef %811, double noundef %821, ptr noundef %830)
          to label %831 unwind label %852

831:                                              ; preds = %828
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %798, ptr noundef nonnull align 8 dereferenceable(89) %799, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %832 unwind label %856

832:                                              ; preds = %831
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  %833 = load i1, ptr %69, align 1
  br i1 %833, label %834, label %835

834:                                              ; preds = %832
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %835

835:                                              ; preds = %834, %832
  %836 = load i1, ptr %68, align 1
  br i1 %836, label %837, label %838

837:                                              ; preds = %835
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #9
  br label %838

838:                                              ; preds = %837, %835
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #9
  %839 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %840 = trunc i8 %839 to i1
  br i1 %840, label %841, label %868

841:                                              ; preds = %838
  %842 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.167)
          to label %843 unwind label %844

843:                                              ; preds = %841
  br label %868

844:                                              ; preds = %841, %792
  %845 = landingpad { ptr, i32 }
          cleanup
  %846 = extractvalue { ptr, i32 } %845, 0
  store ptr %846, ptr %36, align 8
  %847 = extractvalue { ptr, i32 } %845, 1
  store i32 %847, ptr %37, align 4
  br label %3451

848:                                              ; preds = %807
  %849 = landingpad { ptr, i32 }
          cleanup
  %850 = extractvalue { ptr, i32 } %849, 0
  store ptr %850, ptr %36, align 8
  %851 = extractvalue { ptr, i32 } %849, 1
  store i32 %851, ptr %37, align 4
  br label %864

852:                                              ; preds = %828
  %853 = landingpad { ptr, i32 }
          cleanup
  %854 = extractvalue { ptr, i32 } %853, 0
  store ptr %854, ptr %36, align 8
  %855 = extractvalue { ptr, i32 } %853, 1
  store i32 %855, ptr %37, align 4
  br label %860

856:                                              ; preds = %831
  %857 = landingpad { ptr, i32 }
          cleanup
  %858 = extractvalue { ptr, i32 } %857, 0
  store ptr %858, ptr %36, align 8
  %859 = extractvalue { ptr, i32 } %857, 1
  store i32 %859, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  br label %860

860:                                              ; preds = %856, %852
  %861 = load i1, ptr %69, align 1
  br i1 %861, label %862, label %863

862:                                              ; preds = %860
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %863

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

864:                                              ; preds = %863, %848
  %865 = load i1, ptr %68, align 1
  br i1 %865, label %866, label %867

866:                                              ; preds = %864
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #9
  br label %867

867:                                              ; preds = %866, %864
  call void @llvm.lifetime.end.p0(i64 32, ptr %66) #9
  br label %3451

868:                                              ; preds = %843, %838
  %869 = load ptr, ptr %9, align 8, !tbaa !5
  %870 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %70) #9
  %871 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef @.str.119, ptr noundef %871)
          to label %872 unwind label %899

872:                                              ; preds = %868
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %869, ptr noundef nonnull align 8 dereferenceable(89) %870, ptr noundef nonnull align 8 dereferenceable(32) %70)
          to label %873 unwind label %903

873:                                              ; preds = %872
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #9
  %874 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %875 = trunc i8 %874 to i1
  br i1 %875, label %876, label %1141

876:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %71)
          to label %877 unwind label %908

877:                                              ; preds = %876
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #9
  %878 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #9
  %879 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %880 = trunc i8 %879 to i1
  br i1 %880, label %881, label %882

881:                                              ; preds = %877
  br label %883

882:                                              ; preds = %877
  br label %883

883:                                              ; preds = %882, %881
  %884 = phi ptr [ @.str.169, %881 ], [ @.str.170, %882 ]
  %885 = getelementptr inbounds [4 x i8], ptr %884, i64 0, i64 0
  %886 = load i32, ptr %42, align 4, !tbaa !34
  %887 = load i32, ptr %40, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef @.str.168, ptr noundef %885, i32 noundef %886, i32 noundef %887)
          to label %888 unwind label %912

888:                                              ; preds = %883
  %889 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %878, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %890 unwind label %916

890:                                              ; preds = %888
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #9
  %891 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %892 = trunc i8 %891 to i1
  br i1 %892, label %893, label %930

893:                                              ; preds = %890
  %894 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %73) #9
  %895 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef @.str.171, ptr noundef %895)
          to label %896 unwind label %921

896:                                              ; preds = %893
  %897 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %894, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %898 unwind label %925

898:                                              ; preds = %896
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #9
  br label %1096

899:                                              ; preds = %868
  %900 = landingpad { ptr, i32 }
          cleanup
  %901 = extractvalue { ptr, i32 } %900, 0
  store ptr %901, ptr %36, align 8
  %902 = extractvalue { ptr, i32 } %900, 1
  store i32 %902, ptr %37, align 4
  br label %907

903:                                              ; preds = %872
  %904 = landingpad { ptr, i32 }
          cleanup
  %905 = extractvalue { ptr, i32 } %904, 0
  store ptr %905, ptr %36, align 8
  %906 = extractvalue { ptr, i32 } %904, 1
  store i32 %906, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #9
  br label %907

907:                                              ; preds = %903, %899
  call void @llvm.lifetime.end.p0(i64 32, ptr %70) #9
  br label %3451

908:                                              ; preds = %876
  %909 = landingpad { ptr, i32 }
          cleanup
  %910 = extractvalue { ptr, i32 } %909, 0
  store ptr %910, ptr %36, align 8
  %911 = extractvalue { ptr, i32 } %909, 1
  store i32 %911, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #9
  br label %3451

912:                                              ; preds = %883
  %913 = landingpad { ptr, i32 }
          cleanup
  %914 = extractvalue { ptr, i32 } %913, 0
  store ptr %914, ptr %36, align 8
  %915 = extractvalue { ptr, i32 } %913, 1
  store i32 %915, ptr %37, align 4
  br label %920

916:                                              ; preds = %888
  %917 = landingpad { ptr, i32 }
          cleanup
  %918 = extractvalue { ptr, i32 } %917, 0
  store ptr %918, ptr %36, align 8
  %919 = extractvalue { ptr, i32 } %917, 1
  store i32 %919, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #9
  br label %920

920:                                              ; preds = %916, %912
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #9
  br label %3451

921:                                              ; preds = %893
  %922 = landingpad { ptr, i32 }
          cleanup
  %923 = extractvalue { ptr, i32 } %922, 0
  store ptr %923, ptr %36, align 8
  %924 = extractvalue { ptr, i32 } %922, 1
  store i32 %924, ptr %37, align 4
  br label %929

925:                                              ; preds = %896
  %926 = landingpad { ptr, i32 }
          cleanup
  %927 = extractvalue { ptr, i32 } %926, 0
  store ptr %927, ptr %36, align 8
  %928 = extractvalue { ptr, i32 } %926, 1
  store i32 %928, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  br label %929

929:                                              ; preds = %925, %921
  call void @llvm.lifetime.end.p0(i64 32, ptr %73) #9
  br label %3451

930:                                              ; preds = %890
  %931 = load ptr, ptr %15, align 8, !tbaa !5
  %932 = getelementptr inbounds i8, ptr %931, i64 8
  %933 = getelementptr inbounds %struct.HighsInfoStruct, ptr %932, i32 0, i32 7
  %934 = load i32, ptr %933, align 4, !tbaa !76
  %935 = icmp eq i32 %934, 0
  br i1 %935, label %936, label %950

936:                                              ; preds = %930
  %937 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef @.str.153)
          to label %938 unwind label %941

938:                                              ; preds = %936
  %939 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %937, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %940 unwind label %945

940:                                              ; preds = %938
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #9
  br label %1006

941:                                              ; preds = %936
  %942 = landingpad { ptr, i32 }
          cleanup
  %943 = extractvalue { ptr, i32 } %942, 0
  store ptr %943, ptr %36, align 8
  %944 = extractvalue { ptr, i32 } %942, 1
  store i32 %944, ptr %37, align 4
  br label %949

945:                                              ; preds = %938
  %946 = landingpad { ptr, i32 }
          cleanup
  %947 = extractvalue { ptr, i32 } %946, 0
  store ptr %947, ptr %36, align 8
  %948 = extractvalue { ptr, i32 } %946, 1
  store i32 %948, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #9
  br label %949

949:                                              ; preds = %945, %941
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #9
  br label %3451

950:                                              ; preds = %930
  %951 = load ptr, ptr %15, align 8, !tbaa !5
  %952 = getelementptr inbounds i8, ptr %951, i64 8
  %953 = getelementptr inbounds %struct.HighsInfoStruct, ptr %952, i32 0, i32 7
  %954 = load i32, ptr %953, align 4, !tbaa !76
  %955 = icmp eq i32 %954, 1
  br i1 %955, label %956, label %970

956:                                              ; preds = %950
  %957 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %75) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef @.str.172)
          to label %958 unwind label %961

958:                                              ; preds = %956
  %959 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %957, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %960 unwind label %965

960:                                              ; preds = %958
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #9
  br label %1005

961:                                              ; preds = %956
  %962 = landingpad { ptr, i32 }
          cleanup
  %963 = extractvalue { ptr, i32 } %962, 0
  store ptr %963, ptr %36, align 8
  %964 = extractvalue { ptr, i32 } %962, 1
  store i32 %964, ptr %37, align 4
  br label %969

965:                                              ; preds = %958
  %966 = landingpad { ptr, i32 }
          cleanup
  %967 = extractvalue { ptr, i32 } %966, 0
  store ptr %967, ptr %36, align 8
  %968 = extractvalue { ptr, i32 } %966, 1
  store i32 %968, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  br label %969

969:                                              ; preds = %965, %961
  call void @llvm.lifetime.end.p0(i64 32, ptr %75) #9
  br label %3451

970:                                              ; preds = %950
  %971 = load ptr, ptr %15, align 8, !tbaa !5
  %972 = getelementptr inbounds i8, ptr %971, i64 8
  %973 = getelementptr inbounds %struct.HighsInfoStruct, ptr %972, i32 0, i32 7
  %974 = load i32, ptr %973, align 4, !tbaa !76
  %975 = icmp eq i32 %974, 2
  br i1 %975, label %976, label %990

976:                                              ; preds = %970
  %977 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %76) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef @.str.155)
          to label %978 unwind label %981

978:                                              ; preds = %976
  %979 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %977, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %980 unwind label %985

980:                                              ; preds = %978
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #9
  br label %1004

981:                                              ; preds = %976
  %982 = landingpad { ptr, i32 }
          cleanup
  %983 = extractvalue { ptr, i32 } %982, 0
  store ptr %983, ptr %36, align 8
  %984 = extractvalue { ptr, i32 } %982, 1
  store i32 %984, ptr %37, align 4
  br label %989

985:                                              ; preds = %978
  %986 = landingpad { ptr, i32 }
          cleanup
  %987 = extractvalue { ptr, i32 } %986, 0
  store ptr %987, ptr %36, align 8
  %988 = extractvalue { ptr, i32 } %986, 1
  store i32 %988, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #9
  br label %989

989:                                              ; preds = %985, %981
  call void @llvm.lifetime.end.p0(i64 32, ptr %76) #9
  br label %3451

990:                                              ; preds = %970
  %991 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %77) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef @.str.145)
          to label %992 unwind label %995

992:                                              ; preds = %990
  %993 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %991, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %994 unwind label %999

994:                                              ; preds = %992
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #9
  br label %1004

995:                                              ; preds = %990
  %996 = landingpad { ptr, i32 }
          cleanup
  %997 = extractvalue { ptr, i32 } %996, 0
  store ptr %997, ptr %36, align 8
  %998 = extractvalue { ptr, i32 } %996, 1
  store i32 %998, ptr %37, align 4
  br label %1003

999:                                              ; preds = %992
  %1000 = landingpad { ptr, i32 }
          cleanup
  %1001 = extractvalue { ptr, i32 } %1000, 0
  store ptr %1001, ptr %36, align 8
  %1002 = extractvalue { ptr, i32 } %1000, 1
  store i32 %1002, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  br label %1003

1003:                                             ; preds = %999, %995
  call void @llvm.lifetime.end.p0(i64 32, ptr %77) #9
  br label %3451

1004:                                             ; preds = %994, %980
  br label %1005

1005:                                             ; preds = %1004, %960
  br label %1006

1006:                                             ; preds = %1005, %940
  %1007 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %78) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef @.str.111)
          to label %1008 unwind label %1021

1008:                                             ; preds = %1006
  %1009 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1007, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %1010 unwind label %1025

1010:                                             ; preds = %1008
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #9
  %1011 = load ptr, ptr %15, align 8, !tbaa !5
  %1012 = getelementptr inbounds i8, ptr %1011, i64 8
  %1013 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1012, i32 0, i32 8
  %1014 = load i32, ptr %1013, align 8, !tbaa !81
  %1015 = icmp eq i32 %1014, 0
  br i1 %1015, label %1016, label %1039

1016:                                             ; preds = %1010
  %1017 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %79) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef @.str.153)
          to label %1018 unwind label %1030

1018:                                             ; preds = %1016
  %1019 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1017, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %1020 unwind label %1034

1020:                                             ; preds = %1018
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  br label %1095

1021:                                             ; preds = %1006
  %1022 = landingpad { ptr, i32 }
          cleanup
  %1023 = extractvalue { ptr, i32 } %1022, 0
  store ptr %1023, ptr %36, align 8
  %1024 = extractvalue { ptr, i32 } %1022, 1
  store i32 %1024, ptr %37, align 4
  br label %1029

1025:                                             ; preds = %1008
  %1026 = landingpad { ptr, i32 }
          cleanup
  %1027 = extractvalue { ptr, i32 } %1026, 0
  store ptr %1027, ptr %36, align 8
  %1028 = extractvalue { ptr, i32 } %1026, 1
  store i32 %1028, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  br label %1029

1029:                                             ; preds = %1025, %1021
  call void @llvm.lifetime.end.p0(i64 32, ptr %78) #9
  br label %3451

1030:                                             ; preds = %1016
  %1031 = landingpad { ptr, i32 }
          cleanup
  %1032 = extractvalue { ptr, i32 } %1031, 0
  store ptr %1032, ptr %36, align 8
  %1033 = extractvalue { ptr, i32 } %1031, 1
  store i32 %1033, ptr %37, align 4
  br label %1038

1034:                                             ; preds = %1018
  %1035 = landingpad { ptr, i32 }
          cleanup
  %1036 = extractvalue { ptr, i32 } %1035, 0
  store ptr %1036, ptr %36, align 8
  %1037 = extractvalue { ptr, i32 } %1035, 1
  store i32 %1037, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  br label %1038

1038:                                             ; preds = %1034, %1030
  call void @llvm.lifetime.end.p0(i64 32, ptr %79) #9
  br label %3451

1039:                                             ; preds = %1010
  %1040 = load ptr, ptr %15, align 8, !tbaa !5
  %1041 = getelementptr inbounds i8, ptr %1040, i64 8
  %1042 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1041, i32 0, i32 8
  %1043 = load i32, ptr %1042, align 8, !tbaa !81
  %1044 = icmp eq i32 %1043, 1
  br i1 %1044, label %1045, label %1059

1045:                                             ; preds = %1039
  %1046 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %80) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef @.str.172)
          to label %1047 unwind label %1050

1047:                                             ; preds = %1045
  %1048 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1046, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %1049 unwind label %1054

1049:                                             ; preds = %1047
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  br label %1094

1050:                                             ; preds = %1045
  %1051 = landingpad { ptr, i32 }
          cleanup
  %1052 = extractvalue { ptr, i32 } %1051, 0
  store ptr %1052, ptr %36, align 8
  %1053 = extractvalue { ptr, i32 } %1051, 1
  store i32 %1053, ptr %37, align 4
  br label %1058

1054:                                             ; preds = %1047
  %1055 = landingpad { ptr, i32 }
          cleanup
  %1056 = extractvalue { ptr, i32 } %1055, 0
  store ptr %1056, ptr %36, align 8
  %1057 = extractvalue { ptr, i32 } %1055, 1
  store i32 %1057, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %1058

1058:                                             ; preds = %1054, %1050
  call void @llvm.lifetime.end.p0(i64 32, ptr %80) #9
  br label %3451

1059:                                             ; preds = %1039
  %1060 = load ptr, ptr %15, align 8, !tbaa !5
  %1061 = getelementptr inbounds i8, ptr %1060, i64 8
  %1062 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1061, i32 0, i32 8
  %1063 = load i32, ptr %1062, align 8, !tbaa !81
  %1064 = icmp eq i32 %1063, 2
  br i1 %1064, label %1065, label %1079

1065:                                             ; preds = %1059
  %1066 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %81) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef @.str.155)
          to label %1067 unwind label %1070

1067:                                             ; preds = %1065
  %1068 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1066, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %1069 unwind label %1074

1069:                                             ; preds = %1067
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #9
  br label %1093

1070:                                             ; preds = %1065
  %1071 = landingpad { ptr, i32 }
          cleanup
  %1072 = extractvalue { ptr, i32 } %1071, 0
  store ptr %1072, ptr %36, align 8
  %1073 = extractvalue { ptr, i32 } %1071, 1
  store i32 %1073, ptr %37, align 4
  br label %1078

1074:                                             ; preds = %1067
  %1075 = landingpad { ptr, i32 }
          cleanup
  %1076 = extractvalue { ptr, i32 } %1075, 0
  store ptr %1076, ptr %36, align 8
  %1077 = extractvalue { ptr, i32 } %1075, 1
  store i32 %1077, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  br label %1078

1078:                                             ; preds = %1074, %1070
  call void @llvm.lifetime.end.p0(i64 32, ptr %81) #9
  br label %3451

1079:                                             ; preds = %1059
  %1080 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %82) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %82, ptr noundef @.str.145)
          to label %1081 unwind label %1084

1081:                                             ; preds = %1079
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1080, ptr noundef nonnull align 8 dereferenceable(32) %82)
          to label %1083 unwind label %1088

1083:                                             ; preds = %1081
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #9
  br label %1093

1084:                                             ; preds = %1079
  %1085 = landingpad { ptr, i32 }
          cleanup
  %1086 = extractvalue { ptr, i32 } %1085, 0
  store ptr %1086, ptr %36, align 8
  %1087 = extractvalue { ptr, i32 } %1085, 1
  store i32 %1087, ptr %37, align 4
  br label %1092

1088:                                             ; preds = %1081
  %1089 = landingpad { ptr, i32 }
          cleanup
  %1090 = extractvalue { ptr, i32 } %1089, 0
  store ptr %1090, ptr %36, align 8
  %1091 = extractvalue { ptr, i32 } %1089, 1
  store i32 %1091, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %82) #9
  br label %1092

1092:                                             ; preds = %1088, %1084
  call void @llvm.lifetime.end.p0(i64 32, ptr %82) #9
  br label %3451

1093:                                             ; preds = %1083, %1069
  br label %1094

1094:                                             ; preds = %1093, %1049
  br label %1095

1095:                                             ; preds = %1094, %1020
  br label %1096

1096:                                             ; preds = %1095, %898
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #9
  %1097 = load i8, ptr %31, align 1, !tbaa !11, !range !19, !noundef !20
  %1098 = trunc i8 %1097 to i1
  br i1 %1098, label %1099, label %1104

1099:                                             ; preds = %1096
  %1100 = load ptr, ptr %15, align 8, !tbaa !5
  %1101 = getelementptr inbounds i8, ptr %1100, i64 8
  %1102 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1101, i32 0, i32 10
  %1103 = load double, ptr %1102, align 8, !tbaa !79
  br label %1105

1104:                                             ; preds = %1096
  br label %1105

1105:                                             ; preds = %1104, %1099
  %1106 = phi double [ %1103, %1099 ], [ 0.000000e+00, %1104 ]
  store double %1106, ptr %83, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %84) #9
  %1107 = load double, ptr %83, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %84, double noundef %1107, double noundef 1.000000e-13)
          to label %1108 unwind label %1118

1108:                                             ; preds = %1105
  %1109 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #9
  %1110 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %84) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef @.str.173, ptr noundef %1110)
          to label %1111 unwind label %1122

1111:                                             ; preds = %1108
  %1112 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1109, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %1113 unwind label %1126

1113:                                             ; preds = %1111
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #9
  %1114 = load ptr, ptr %9, align 8, !tbaa !5
  %1115 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1116 unwind label %1131

1116:                                             ; preds = %1113
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1114, ptr noundef nonnull align 8 dereferenceable(89) %1115, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %1117 unwind label %1135

1117:                                             ; preds = %1116
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #9
  br label %1141

1118:                                             ; preds = %1105
  %1119 = landingpad { ptr, i32 }
          cleanup
  %1120 = extractvalue { ptr, i32 } %1119, 0
  store ptr %1120, ptr %36, align 8
  %1121 = extractvalue { ptr, i32 } %1119, 1
  store i32 %1121, ptr %37, align 4
  br label %1140

1122:                                             ; preds = %1108
  %1123 = landingpad { ptr, i32 }
          cleanup
  %1124 = extractvalue { ptr, i32 } %1123, 0
  store ptr %1124, ptr %36, align 8
  %1125 = extractvalue { ptr, i32 } %1123, 1
  store i32 %1125, ptr %37, align 4
  br label %1130

1126:                                             ; preds = %1111
  %1127 = landingpad { ptr, i32 }
          cleanup
  %1128 = extractvalue { ptr, i32 } %1127, 0
  store ptr %1128, ptr %36, align 8
  %1129 = extractvalue { ptr, i32 } %1127, 1
  store i32 %1129, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #9
  br label %1130

1130:                                             ; preds = %1126, %1122
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #9
  br label %1140

1131:                                             ; preds = %1113
  %1132 = landingpad { ptr, i32 }
          cleanup
  %1133 = extractvalue { ptr, i32 } %1132, 0
  store ptr %1133, ptr %36, align 8
  %1134 = extractvalue { ptr, i32 } %1132, 1
  store i32 %1134, ptr %37, align 4
  br label %1139

1135:                                             ; preds = %1116
  %1136 = landingpad { ptr, i32 }
          cleanup
  %1137 = extractvalue { ptr, i32 } %1136, 0
  store ptr %1137, ptr %36, align 8
  %1138 = extractvalue { ptr, i32 } %1136, 1
  store i32 %1138, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  br label %1139

1139:                                             ; preds = %1135, %1131
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #9
  br label %1140

1140:                                             ; preds = %1139, %1130, %1118
  call void @llvm.lifetime.end.p0(i64 32, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #9
  br label %3451

1141:                                             ; preds = %1117, %873
  %1142 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %1143 = trunc i8 %1142 to i1
  br i1 %1143, label %1145, label %1144

1144:                                             ; preds = %1141
  store i32 1, ptr %63, align 4
  br label %3434

1145:                                             ; preds = %1141
  %1146 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1147 = trunc i8 %1146 to i1
  br i1 %1147, label %1285, label %1148

1148:                                             ; preds = %1145
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %1149 unwind label %1168

1149:                                             ; preds = %1148
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #9
  %1150 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #9
  %1151 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1152 = trunc i8 %1151 to i1
  br i1 %1152, label %1153, label %1154

1153:                                             ; preds = %1149
  br label %1155

1154:                                             ; preds = %1149
  br label %1155

1155:                                             ; preds = %1154, %1153
  %1156 = phi ptr [ @.str.175, %1153 ], [ @.str.176, %1154 ]
  %1157 = getelementptr inbounds [3 x i8], ptr %1156, i64 0, i64 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef @.str.174, ptr noundef %1157)
          to label %1158 unwind label %1172

1158:                                             ; preds = %1155
  %1159 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1150, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %1160 unwind label %1176

1160:                                             ; preds = %1158
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  %1161 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %1162 = trunc i8 %1161 to i1
  br i1 %1162, label %1163, label %1190

1163:                                             ; preds = %1160
  %1164 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %89) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %89, ptr noundef @.str.177)
          to label %1165 unwind label %1181

1165:                                             ; preds = %1163
  %1166 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1164, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %1167 unwind label %1185

1167:                                             ; preds = %1165
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #9
  br label %1190

1168:                                             ; preds = %1148
  %1169 = landingpad { ptr, i32 }
          cleanup
  %1170 = extractvalue { ptr, i32 } %1169, 0
  store ptr %1170, ptr %36, align 8
  %1171 = extractvalue { ptr, i32 } %1169, 1
  store i32 %1171, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #9
  br label %3451

1172:                                             ; preds = %1155
  %1173 = landingpad { ptr, i32 }
          cleanup
  %1174 = extractvalue { ptr, i32 } %1173, 0
  store ptr %1174, ptr %36, align 8
  %1175 = extractvalue { ptr, i32 } %1173, 1
  store i32 %1175, ptr %37, align 4
  br label %1180

1176:                                             ; preds = %1158
  %1177 = landingpad { ptr, i32 }
          cleanup
  %1178 = extractvalue { ptr, i32 } %1177, 0
  store ptr %1178, ptr %36, align 8
  %1179 = extractvalue { ptr, i32 } %1177, 1
  store i32 %1179, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  br label %1180

1180:                                             ; preds = %1176, %1172
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #9
  br label %3451

1181:                                             ; preds = %1163
  %1182 = landingpad { ptr, i32 }
          cleanup
  %1183 = extractvalue { ptr, i32 } %1182, 0
  store ptr %1183, ptr %36, align 8
  %1184 = extractvalue { ptr, i32 } %1182, 1
  store i32 %1184, ptr %37, align 4
  br label %1189

1185:                                             ; preds = %1165
  %1186 = landingpad { ptr, i32 }
          cleanup
  %1187 = extractvalue { ptr, i32 } %1186, 0
  store ptr %1187, ptr %36, align 8
  %1188 = extractvalue { ptr, i32 } %1186, 1
  store i32 %1188, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  br label %1189

1189:                                             ; preds = %1185, %1181
  call void @llvm.lifetime.end.p0(i64 32, ptr %89) #9
  br label %3451

1190:                                             ; preds = %1167, %1160
  %1191 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef @.str.82)
          to label %1192 unwind label %1218

1192:                                             ; preds = %1190
  %1193 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1191, ptr noundef nonnull align 8 dereferenceable(32) %90)
          to label %1194 unwind label %1222

1194:                                             ; preds = %1192
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #9
  %1195 = load ptr, ptr %9, align 8, !tbaa !5
  %1196 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1197 unwind label %1227

1197:                                             ; preds = %1194
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1195, ptr noundef nonnull align 8 dereferenceable(89) %1196, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %1198 unwind label %1231

1198:                                             ; preds = %1197
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1199 unwind label %1236

1199:                                             ; preds = %1198
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #9
  %1200 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #9
  %1201 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1202 = trunc i8 %1201 to i1
  br i1 %1202, label %1203, label %1204

1203:                                             ; preds = %1199
  br label %1205

1204:                                             ; preds = %1199
  br label %1205

1205:                                             ; preds = %1204, %1203
  %1206 = phi ptr [ @.str.179, %1203 ], [ @.str.176, %1204 ]
  %1207 = getelementptr inbounds [3 x i8], ptr %1206, i64 0, i64 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef @.str.178, ptr noundef %1207)
          to label %1208 unwind label %1240

1208:                                             ; preds = %1205
  %1209 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1200, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %1210 unwind label %1244

1210:                                             ; preds = %1208
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #9
  %1211 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %1212 = trunc i8 %1211 to i1
  br i1 %1212, label %1213, label %1258

1213:                                             ; preds = %1210
  %1214 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %94) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef @.str.180)
          to label %1215 unwind label %1249

1215:                                             ; preds = %1213
  %1216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1214, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1217 unwind label %1253

1217:                                             ; preds = %1215
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #9
  br label %1258

1218:                                             ; preds = %1190
  %1219 = landingpad { ptr, i32 }
          cleanup
  %1220 = extractvalue { ptr, i32 } %1219, 0
  store ptr %1220, ptr %36, align 8
  %1221 = extractvalue { ptr, i32 } %1219, 1
  store i32 %1221, ptr %37, align 4
  br label %1226

1222:                                             ; preds = %1192
  %1223 = landingpad { ptr, i32 }
          cleanup
  %1224 = extractvalue { ptr, i32 } %1223, 0
  store ptr %1224, ptr %36, align 8
  %1225 = extractvalue { ptr, i32 } %1223, 1
  store i32 %1225, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #9
  br label %1226

1226:                                             ; preds = %1222, %1218
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #9
  br label %3451

1227:                                             ; preds = %1194
  %1228 = landingpad { ptr, i32 }
          cleanup
  %1229 = extractvalue { ptr, i32 } %1228, 0
  store ptr %1229, ptr %36, align 8
  %1230 = extractvalue { ptr, i32 } %1228, 1
  store i32 %1230, ptr %37, align 4
  br label %1235

1231:                                             ; preds = %1197
  %1232 = landingpad { ptr, i32 }
          cleanup
  %1233 = extractvalue { ptr, i32 } %1232, 0
  store ptr %1233, ptr %36, align 8
  %1234 = extractvalue { ptr, i32 } %1232, 1
  store i32 %1234, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  br label %1235

1235:                                             ; preds = %1231, %1227
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #9
  br label %3451

1236:                                             ; preds = %1198
  %1237 = landingpad { ptr, i32 }
          cleanup
  %1238 = extractvalue { ptr, i32 } %1237, 0
  store ptr %1238, ptr %36, align 8
  %1239 = extractvalue { ptr, i32 } %1237, 1
  store i32 %1239, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #9
  br label %3451

1240:                                             ; preds = %1205
  %1241 = landingpad { ptr, i32 }
          cleanup
  %1242 = extractvalue { ptr, i32 } %1241, 0
  store ptr %1242, ptr %36, align 8
  %1243 = extractvalue { ptr, i32 } %1241, 1
  store i32 %1243, ptr %37, align 4
  br label %1248

1244:                                             ; preds = %1208
  %1245 = landingpad { ptr, i32 }
          cleanup
  %1246 = extractvalue { ptr, i32 } %1245, 0
  store ptr %1246, ptr %36, align 8
  %1247 = extractvalue { ptr, i32 } %1245, 1
  store i32 %1247, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  br label %1248

1248:                                             ; preds = %1244, %1240
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #9
  br label %3451

1249:                                             ; preds = %1213
  %1250 = landingpad { ptr, i32 }
          cleanup
  %1251 = extractvalue { ptr, i32 } %1250, 0
  store ptr %1251, ptr %36, align 8
  %1252 = extractvalue { ptr, i32 } %1250, 1
  store i32 %1252, ptr %37, align 4
  br label %1257

1253:                                             ; preds = %1215
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %36, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #9
  br label %1257

1257:                                             ; preds = %1253, %1249
  call void @llvm.lifetime.end.p0(i64 32, ptr %94) #9
  br label %3451

1258:                                             ; preds = %1217, %1210
  %1259 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %95) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef @.str.82)
          to label %1260 unwind label %1267

1260:                                             ; preds = %1258
  %1261 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1259, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %1262 unwind label %1271

1262:                                             ; preds = %1260
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #9
  %1263 = load ptr, ptr %9, align 8, !tbaa !5
  %1264 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %96) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %96, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1265 unwind label %1276

1265:                                             ; preds = %1262
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1263, ptr noundef nonnull align 8 dereferenceable(89) %1264, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %1266 unwind label %1280

1266:                                             ; preds = %1265
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #9
  br label %1285

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

1271:                                             ; preds = %1260
  %1272 = landingpad { ptr, i32 }
          cleanup
  %1273 = extractvalue { ptr, i32 } %1272, 0
  store ptr %1273, ptr %36, align 8
  %1274 = extractvalue { ptr, i32 } %1272, 1
  store i32 %1274, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #9
  br label %1275

1275:                                             ; preds = %1271, %1267
  call void @llvm.lifetime.end.p0(i64 32, ptr %95) #9
  br label %3451

1276:                                             ; preds = %1262
  %1277 = landingpad { ptr, i32 }
          cleanup
  %1278 = extractvalue { ptr, i32 } %1277, 0
  store ptr %1278, ptr %36, align 8
  %1279 = extractvalue { ptr, i32 } %1277, 1
  store i32 %1279, ptr %37, align 4
  br label %1284

1280:                                             ; preds = %1265
  %1281 = landingpad { ptr, i32 }
          cleanup
  %1282 = extractvalue { ptr, i32 } %1281, 0
  store ptr %1282, ptr %36, align 8
  %1283 = extractvalue { ptr, i32 } %1281, 1
  store i32 %1283, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  br label %1284

1284:                                             ; preds = %1280, %1276
  call void @llvm.lifetime.end.p0(i64 32, ptr %96) #9
  br label %3451

1285:                                             ; preds = %1266, %1145
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  store i32 0, ptr %97, align 4, !tbaa !34
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #9
  store i32 0, ptr %98, align 4, !tbaa !34
  br label %1286

1286:                                             ; preds = %1863, %1285
  %1287 = load i32, ptr %98, align 4, !tbaa !34
  %1288 = load ptr, ptr %24, align 8, !tbaa !5
  %1289 = getelementptr inbounds %class.HighsLp, ptr %1288, i32 0, i32 1
  %1290 = load i32, ptr %1289, align 4, !tbaa !71
  %1291 = icmp slt i32 %1287, %1290
  br i1 %1291, label %1293, label %1292

1292:                                             ; preds = %1286
  store i32 9, ptr %63, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %1888

1293:                                             ; preds = %1286
  %1294 = load i32, ptr %97, align 4, !tbaa !34
  %1295 = add nsw i32 %1294, 1
  store i32 %1295, ptr %97, align 4, !tbaa !34
  %1296 = load i32, ptr %97, align 4, !tbaa !34
  %1297 = load i32, ptr %33, align 4, !tbaa !34
  %1298 = icmp eq i32 %1296, %1297
  br i1 %1298, label %1299, label %1323

1299:                                             ; preds = %1293
  %1300 = load ptr, ptr %9, align 8, !tbaa !5
  %1301 = load ptr, ptr %25, align 8, !tbaa !5
  %1302 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1303 = trunc i8 %1302 to i1
  %1304 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %1305 = trunc i8 %1304 to i1
  %1306 = load i32, ptr %97, align 4, !tbaa !34
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %99, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %1307 unwind label %1315

1307:                                             ; preds = %1299
  %1308 = load ptr, ptr %15, align 8, !tbaa !5
  %1309 = getelementptr inbounds i8, ptr %1308, i64 8
  %1310 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1309, i32 0, i32 10
  %1311 = load double, ptr %1310, align 8, !tbaa !79
  invoke void @_Z18writeGlpsolCostRowP8_IO_FILERK15HighsLogOptionsbbiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(ptr noundef %1300, ptr noundef nonnull align 8 dereferenceable(89) %1301, i1 noundef zeroext %1303, i1 noundef zeroext %1305, i32 noundef %1306, ptr noundef %99, double noundef %1311)
          to label %1312 unwind label %1319

1312:                                             ; preds = %1307
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  %1313 = load i32, ptr %97, align 4, !tbaa !34
  %1314 = add nsw i32 %1313, 1
  store i32 %1314, ptr %97, align 4, !tbaa !34
  br label %1323

1315:                                             ; preds = %1299
  %1316 = landingpad { ptr, i32 }
          cleanup
  %1317 = extractvalue { ptr, i32 } %1316, 0
  store ptr %1317, ptr %36, align 8
  %1318 = extractvalue { ptr, i32 } %1316, 1
  store i32 %1318, ptr %37, align 4
  br label %1887

1319:                                             ; preds = %1307
  %1320 = landingpad { ptr, i32 }
          cleanup
  %1321 = extractvalue { ptr, i32 } %1320, 0
  store ptr %1321, ptr %36, align 8
  %1322 = extractvalue { ptr, i32 } %1320, 1
  store i32 %1322, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  br label %1887

1323:                                             ; preds = %1312, %1293
  call void @llvm.lifetime.start.p0(i64 32, ptr %100) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %100)
          to label %1324 unwind label %1359

1324:                                             ; preds = %1323
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #9
  %1325 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1326 = trunc i8 %1325 to i1
  br i1 %1326, label %1327, label %1396

1327:                                             ; preds = %1324
  %1328 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %101) #9
  %1329 = load i32, ptr %97, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %101, ptr noundef @.str.181, i32 noundef %1329)
          to label %1330 unwind label %1363

1330:                                             ; preds = %1327
  %1331 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1328, ptr noundef nonnull align 8 dereferenceable(32) %101)
          to label %1332 unwind label %1367

1332:                                             ; preds = %1330
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #9
  %1333 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %1334 = trunc i8 %1333 to i1
  br i1 %1334, label %1335, label %1395

1335:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #9
  %1336 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %1337 = trunc i8 %1336 to i1
  br i1 %1337, label %1338, label %1345

1338:                                             ; preds = %1335
  %1339 = load ptr, ptr %13, align 8, !tbaa !5
  %1340 = getelementptr inbounds %struct.HighsSolution, ptr %1339, i32 0, i32 4
  %1341 = load i32, ptr %98, align 4, !tbaa !34
  %1342 = sext i32 %1341 to i64
  %1343 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1340, i64 noundef %1342) #9
  %1344 = load double, ptr %1343, align 8, !tbaa !32
  br label %1346

1345:                                             ; preds = %1335
  br label %1346

1346:                                             ; preds = %1345, %1338
  %1347 = phi double [ %1344, %1338 ], [ 0.000000e+00, %1345 ]
  store double %1347, ptr %102, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %103) #9
  %1348 = load double, ptr %102, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %103, double noundef %1348, double noundef 1.000000e-13)
          to label %1349 unwind label %1372

1349:                                             ; preds = %1346
  %1350 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %104) #9
  %1351 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %103) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef @.str.119, ptr noundef %1351)
          to label %1352 unwind label %1376

1352:                                             ; preds = %1349
  %1353 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1350, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1354 unwind label %1380

1354:                                             ; preds = %1352
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #9
  %1355 = load ptr, ptr %9, align 8, !tbaa !5
  %1356 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %105) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1357 unwind label %1385

1357:                                             ; preds = %1354
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1355, ptr noundef nonnull align 8 dereferenceable(89) %1356, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %1358 unwind label %1389

1358:                                             ; preds = %1357
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #9
  store i32 11, ptr %63, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %1863

1359:                                             ; preds = %1323
  %1360 = landingpad { ptr, i32 }
          cleanup
  %1361 = extractvalue { ptr, i32 } %1360, 0
  store ptr %1361, ptr %36, align 8
  %1362 = extractvalue { ptr, i32 } %1360, 1
  store i32 %1362, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %100) #9
  br label %1887

1363:                                             ; preds = %1327
  %1364 = landingpad { ptr, i32 }
          cleanup
  %1365 = extractvalue { ptr, i32 } %1364, 0
  store ptr %1365, ptr %36, align 8
  %1366 = extractvalue { ptr, i32 } %1364, 1
  store i32 %1366, ptr %37, align 4
  br label %1371

1367:                                             ; preds = %1330
  %1368 = landingpad { ptr, i32 }
          cleanup
  %1369 = extractvalue { ptr, i32 } %1368, 0
  store ptr %1369, ptr %36, align 8
  %1370 = extractvalue { ptr, i32 } %1368, 1
  store i32 %1370, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #9
  br label %1371

1371:                                             ; preds = %1367, %1363
  call void @llvm.lifetime.end.p0(i64 32, ptr %101) #9
  br label %1887

1372:                                             ; preds = %1346
  %1373 = landingpad { ptr, i32 }
          cleanup
  %1374 = extractvalue { ptr, i32 } %1373, 0
  store ptr %1374, ptr %36, align 8
  %1375 = extractvalue { ptr, i32 } %1373, 1
  store i32 %1375, ptr %37, align 4
  br label %1394

1376:                                             ; preds = %1349
  %1377 = landingpad { ptr, i32 }
          cleanup
  %1378 = extractvalue { ptr, i32 } %1377, 0
  store ptr %1378, ptr %36, align 8
  %1379 = extractvalue { ptr, i32 } %1377, 1
  store i32 %1379, ptr %37, align 4
  br label %1384

1380:                                             ; preds = %1352
  %1381 = landingpad { ptr, i32 }
          cleanup
  %1382 = extractvalue { ptr, i32 } %1381, 0
  store ptr %1382, ptr %36, align 8
  %1383 = extractvalue { ptr, i32 } %1381, 1
  store i32 %1383, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #9
  br label %1384

1384:                                             ; preds = %1380, %1376
  call void @llvm.lifetime.end.p0(i64 32, ptr %104) #9
  br label %1394

1385:                                             ; preds = %1354
  %1386 = landingpad { ptr, i32 }
          cleanup
  %1387 = extractvalue { ptr, i32 } %1386, 0
  store ptr %1387, ptr %36, align 8
  %1388 = extractvalue { ptr, i32 } %1386, 1
  store i32 %1388, ptr %37, align 4
  br label %1393

1389:                                             ; preds = %1357
  %1390 = landingpad { ptr, i32 }
          cleanup
  %1391 = extractvalue { ptr, i32 } %1390, 0
  store ptr %1391, ptr %36, align 8
  %1392 = extractvalue { ptr, i32 } %1390, 1
  store i32 %1392, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  br label %1393

1393:                                             ; preds = %1389, %1385
  call void @llvm.lifetime.end.p0(i64 32, ptr %105) #9
  br label %1394

1394:                                             ; preds = %1393, %1384, %1372
  call void @llvm.lifetime.end.p0(i64 32, ptr %103) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #9
  br label %1887

1395:                                             ; preds = %1332
  br label %1487

1396:                                             ; preds = %1324
  %1397 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %106) #9
  %1398 = load i32, ptr %97, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef @.str.123, i32 noundef %1398)
          to label %1399 unwind label %1413

1399:                                             ; preds = %1396
  %1400 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1397, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %1401 unwind label %1417

1401:                                             ; preds = %1399
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %107) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %108) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %1402 unwind label %1422

1402:                                             ; preds = %1401
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #9
  %1403 = load i8, ptr %27, align 1, !tbaa !11, !range !19, !noundef !20
  %1404 = trunc i8 %1403 to i1
  br i1 %1404, label %1405, label %1430

1405:                                             ; preds = %1402
  %1406 = load ptr, ptr %24, align 8, !tbaa !5
  %1407 = getelementptr inbounds %class.HighsLp, ptr %1406, i32 0, i32 15
  %1408 = load i32, ptr %98, align 4, !tbaa !34
  %1409 = sext i32 %1408 to i64
  %1410 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1407, i64 noundef %1409) #9
  %1411 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(32) %1410)
          to label %1412 unwind label %1426

1412:                                             ; preds = %1405
  br label %1430

1413:                                             ; preds = %1396
  %1414 = landingpad { ptr, i32 }
          cleanup
  %1415 = extractvalue { ptr, i32 } %1414, 0
  store ptr %1415, ptr %36, align 8
  %1416 = extractvalue { ptr, i32 } %1414, 1
  store i32 %1416, ptr %37, align 4
  br label %1421

1417:                                             ; preds = %1399
  %1418 = landingpad { ptr, i32 }
          cleanup
  %1419 = extractvalue { ptr, i32 } %1418, 0
  store ptr %1419, ptr %36, align 8
  %1420 = extractvalue { ptr, i32 } %1418, 1
  store i32 %1420, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  br label %1421

1421:                                             ; preds = %1417, %1413
  call void @llvm.lifetime.end.p0(i64 32, ptr %106) #9
  br label %1887

1422:                                             ; preds = %1401
  %1423 = landingpad { ptr, i32 }
          cleanup
  %1424 = extractvalue { ptr, i32 } %1423, 0
  store ptr %1424, ptr %36, align 8
  %1425 = extractvalue { ptr, i32 } %1423, 1
  store i32 %1425, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %108) #9
  br label %1486

1426:                                             ; preds = %1458, %1405
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %36, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %37, align 4
  br label %1485

1430:                                             ; preds = %1412, %1402
  %1431 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  %1432 = icmp ule i64 %1431, 12
  br i1 %1432, label %1433, label %1448

1433:                                             ; preds = %1430
  %1434 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %109) #9
  %1435 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef @.str.124, ptr noundef %1435)
          to label %1436 unwind label %1439

1436:                                             ; preds = %1433
  %1437 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1434, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1438 unwind label %1443

1438:                                             ; preds = %1436
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #9
  br label %1484

1439:                                             ; preds = %1433
  %1440 = landingpad { ptr, i32 }
          cleanup
  %1441 = extractvalue { ptr, i32 } %1440, 0
  store ptr %1441, ptr %36, align 8
  %1442 = extractvalue { ptr, i32 } %1440, 1
  store i32 %1442, ptr %37, align 4
  br label %1447

1443:                                             ; preds = %1436
  %1444 = landingpad { ptr, i32 }
          cleanup
  %1445 = extractvalue { ptr, i32 } %1444, 0
  store ptr %1445, ptr %36, align 8
  %1446 = extractvalue { ptr, i32 } %1444, 1
  store i32 %1446, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  br label %1447

1447:                                             ; preds = %1443, %1439
  call void @llvm.lifetime.end.p0(i64 32, ptr %109) #9
  br label %1485

1448:                                             ; preds = %1430
  %1449 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %110) #9
  %1450 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef @.str.119, ptr noundef %1450)
          to label %1451 unwind label %1462

1451:                                             ; preds = %1448
  %1452 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1449, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1453 unwind label %1466

1453:                                             ; preds = %1451
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #9
  %1454 = load ptr, ptr %9, align 8, !tbaa !5
  %1455 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %111) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1456 unwind label %1471

1456:                                             ; preds = %1453
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1454, ptr noundef nonnull align 8 dereferenceable(89) %1455, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1457 unwind label %1475

1457:                                             ; preds = %1456
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %112) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1458 unwind label %1480

1458:                                             ; preds = %1457
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #9
  %1459 = getelementptr inbounds i8, ptr %51, i64 16
  %1460 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %1459, ptr noundef @.str.182)
          to label %1461 unwind label %1426

1461:                                             ; preds = %1458
  br label %1484

1462:                                             ; preds = %1448
  %1463 = landingpad { ptr, i32 }
          cleanup
  %1464 = extractvalue { ptr, i32 } %1463, 0
  store ptr %1464, ptr %36, align 8
  %1465 = extractvalue { ptr, i32 } %1463, 1
  store i32 %1465, ptr %37, align 4
  br label %1470

1466:                                             ; preds = %1451
  %1467 = landingpad { ptr, i32 }
          cleanup
  %1468 = extractvalue { ptr, i32 } %1467, 0
  store ptr %1468, ptr %36, align 8
  %1469 = extractvalue { ptr, i32 } %1467, 1
  store i32 %1469, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  br label %1470

1470:                                             ; preds = %1466, %1462
  call void @llvm.lifetime.end.p0(i64 32, ptr %110) #9
  br label %1485

1471:                                             ; preds = %1453
  %1472 = landingpad { ptr, i32 }
          cleanup
  %1473 = extractvalue { ptr, i32 } %1472, 0
  store ptr %1473, ptr %36, align 8
  %1474 = extractvalue { ptr, i32 } %1472, 1
  store i32 %1474, ptr %37, align 4
  br label %1479

1475:                                             ; preds = %1456
  %1476 = landingpad { ptr, i32 }
          cleanup
  %1477 = extractvalue { ptr, i32 } %1476, 0
  store ptr %1477, ptr %36, align 8
  %1478 = extractvalue { ptr, i32 } %1476, 1
  store i32 %1478, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  br label %1479

1479:                                             ; preds = %1475, %1471
  call void @llvm.lifetime.end.p0(i64 32, ptr %111) #9
  br label %1485

1480:                                             ; preds = %1457
  %1481 = landingpad { ptr, i32 }
          cleanup
  %1482 = extractvalue { ptr, i32 } %1481, 0
  store ptr %1482, ptr %36, align 8
  %1483 = extractvalue { ptr, i32 } %1481, 1
  store i32 %1483, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %112) #9
  br label %1485

1484:                                             ; preds = %1461, %1438
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #9
  br label %1487

1485:                                             ; preds = %1480, %1479, %1470, %1447, %1426
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  br label %1486

1486:                                             ; preds = %1485, %1422
  call void @llvm.lifetime.end.p0(i64 32, ptr %107) #9
  br label %1887

1487:                                             ; preds = %1484, %1395
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #9
  %1488 = load ptr, ptr %24, align 8, !tbaa !5
  %1489 = getelementptr inbounds %class.HighsLp, ptr %1488, i32 0, i32 5
  %1490 = load i32, ptr %98, align 4, !tbaa !34
  %1491 = sext i32 %1490 to i64
  %1492 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1489, i64 noundef %1491) #9
  %1493 = load double, ptr %1492, align 8, !tbaa !32
  store double %1493, ptr %113, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #9
  %1494 = load ptr, ptr %24, align 8, !tbaa !5
  %1495 = getelementptr inbounds %class.HighsLp, ptr %1494, i32 0, i32 6
  %1496 = load i32, ptr %98, align 4, !tbaa !34
  %1497 = sext i32 %1496 to i64
  %1498 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1495, i64 noundef %1497) #9
  %1499 = load double, ptr %1498, align 8, !tbaa !32
  store double %1499, ptr %114, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #9
  %1500 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %1501 = trunc i8 %1500 to i1
  br i1 %1501, label %1502, label %1509

1502:                                             ; preds = %1487
  %1503 = load ptr, ptr %13, align 8, !tbaa !5
  %1504 = getelementptr inbounds %struct.HighsSolution, ptr %1503, i32 0, i32 4
  %1505 = load i32, ptr %98, align 4, !tbaa !34
  %1506 = sext i32 %1505 to i64
  %1507 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1504, i64 noundef %1506) #9
  %1508 = load double, ptr %1507, align 8, !tbaa !32
  br label %1510

1509:                                             ; preds = %1487
  br label %1510

1510:                                             ; preds = %1509, %1502
  %1511 = phi double [ %1508, %1502 ], [ 0.000000e+00, %1509 ]
  store double %1511, ptr %115, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #9
  %1512 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %1513 = trunc i8 %1512 to i1
  br i1 %1513, label %1514, label %1521

1514:                                             ; preds = %1510
  %1515 = load ptr, ptr %13, align 8, !tbaa !5
  %1516 = getelementptr inbounds %struct.HighsSolution, ptr %1515, i32 0, i32 5
  %1517 = load i32, ptr %98, align 4, !tbaa !34
  %1518 = sext i32 %1517 to i64
  %1519 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1516, i64 noundef %1518) #9
  %1520 = load double, ptr %1519, align 8, !tbaa !32
  br label %1522

1521:                                             ; preds = %1510
  br label %1522

1522:                                             ; preds = %1521, %1514
  %1523 = phi double [ %1520, %1514 ], [ 0.000000e+00, %1521 ]
  store double %1523, ptr %116, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %117) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %118)
          to label %1524 unwind label %1535

1524:                                             ; preds = %1522
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %119) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %120) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %120)
          to label %1525 unwind label %1539

1525:                                             ; preds = %1524
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %120) #9
  %1526 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1527 = trunc i8 %1526 to i1
  br i1 %1527, label %1528, label %1605

1528:                                             ; preds = %1525
  %1529 = load ptr, ptr %12, align 8, !tbaa !5
  %1530 = getelementptr inbounds %struct.HighsBasis, ptr %1529, i32 0, i32 8
  %1531 = load i32, ptr %98, align 4, !tbaa !34
  %1532 = sext i32 %1531 to i64
  %1533 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1530, i64 noundef %1532) #9
  %1534 = load i8, ptr %1533, align 1, !tbaa !82
  switch i8 %1534, label %1599 [
    i8 1, label %1543
    i8 0, label %1552
    i8 2, label %1573
    i8 3, label %1594
  ]

1535:                                             ; preds = %1522
  %1536 = landingpad { ptr, i32 }
          cleanup
  %1537 = extractvalue { ptr, i32 } %1536, 0
  store ptr %1537, ptr %36, align 8
  %1538 = extractvalue { ptr, i32 } %1536, 1
  store i32 %1538, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %118) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #9
  br label %1886

1539:                                             ; preds = %1524
  %1540 = landingpad { ptr, i32 }
          cleanup
  %1541 = extractvalue { ptr, i32 } %1540, 0
  store ptr %1541, ptr %36, align 8
  %1542 = extractvalue { ptr, i32 } %1540, 1
  store i32 %1542, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %120) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %120) #9
  br label %1885

1543:                                             ; preds = %1528
  %1544 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.183)
          to label %1545 unwind label %1548

1545:                                             ; preds = %1543
  %1546 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef @.str.184)
          to label %1547 unwind label %1548

1547:                                             ; preds = %1545
  br label %1604

1548:                                             ; preds = %1601, %1599, %1596, %1594, %1589, %1579, %1568, %1558, %1545, %1543
  %1549 = landingpad { ptr, i32 }
          cleanup
  %1550 = extractvalue { ptr, i32 } %1549, 0
  store ptr %1550, ptr %36, align 8
  %1551 = extractvalue { ptr, i32 } %1549, 1
  store i32 %1551, ptr %37, align 4
  br label %1884

1552:                                             ; preds = %1528
  %1553 = load double, ptr %113, align 8, !tbaa !32
  %1554 = load double, ptr %114, align 8, !tbaa !32
  %1555 = fcmp oeq double %1553, %1554
  br i1 %1555, label %1556, label %1557

1556:                                             ; preds = %1552
  br label %1558

1557:                                             ; preds = %1552
  br label %1558

1558:                                             ; preds = %1557, %1556
  %1559 = phi ptr [ @.str.185, %1556 ], [ @.str.186, %1557 ]
  %1560 = getelementptr inbounds [3 x i8], ptr %1559, i64 0, i64 0
  %1561 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef %1560)
          to label %1562 unwind label %1548

1562:                                             ; preds = %1558
  %1563 = load double, ptr %113, align 8, !tbaa !32
  %1564 = load double, ptr %114, align 8, !tbaa !32
  %1565 = fcmp oeq double %1563, %1564
  br i1 %1565, label %1566, label %1567

1566:                                             ; preds = %1562
  br label %1568

1567:                                             ; preds = %1562
  br label %1568

1568:                                             ; preds = %1567, %1566
  %1569 = phi ptr [ @.str.187, %1566 ], [ @.str.188, %1567 ]
  %1570 = getelementptr inbounds [2 x i8], ptr %1569, i64 0, i64 0
  %1571 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef %1570)
          to label %1572 unwind label %1548

1572:                                             ; preds = %1568
  br label %1604

1573:                                             ; preds = %1528
  %1574 = load double, ptr %113, align 8, !tbaa !32
  %1575 = load double, ptr %114, align 8, !tbaa !32
  %1576 = fcmp oeq double %1574, %1575
  br i1 %1576, label %1577, label %1578

1577:                                             ; preds = %1573
  br label %1579

1578:                                             ; preds = %1573
  br label %1579

1579:                                             ; preds = %1578, %1577
  %1580 = phi ptr [ @.str.185, %1577 ], [ @.str.189, %1578 ]
  %1581 = getelementptr inbounds [3 x i8], ptr %1580, i64 0, i64 0
  %1582 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef %1581)
          to label %1583 unwind label %1548

1583:                                             ; preds = %1579
  %1584 = load double, ptr %113, align 8, !tbaa !32
  %1585 = load double, ptr %114, align 8, !tbaa !32
  %1586 = fcmp oeq double %1584, %1585
  br i1 %1586, label %1587, label %1588

1587:                                             ; preds = %1583
  br label %1589

1588:                                             ; preds = %1583
  br label %1589

1589:                                             ; preds = %1588, %1587
  %1590 = phi ptr [ @.str.187, %1587 ], [ @.str.153, %1588 ]
  %1591 = getelementptr inbounds [2 x i8], ptr %1590, i64 0, i64 0
  %1592 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef %1591)
          to label %1593 unwind label %1548

1593:                                             ; preds = %1589
  br label %1604

1594:                                             ; preds = %1528
  %1595 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.190)
          to label %1596 unwind label %1548

1596:                                             ; preds = %1594
  %1597 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef @.str.155)
          to label %1598 unwind label %1548

1598:                                             ; preds = %1596
  br label %1604

1599:                                             ; preds = %1528
  %1600 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %117, ptr noundef @.str.191)
          to label %1601 unwind label %1548

1601:                                             ; preds = %1599
  %1602 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %119, ptr noundef @.str.145)
          to label %1603 unwind label %1548

1603:                                             ; preds = %1601
  br label %1604

1604:                                             ; preds = %1603, %1598, %1593, %1572, %1547
  br label %1605

1605:                                             ; preds = %1604, %1525
  %1606 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1607 = trunc i8 %1606 to i1
  br i1 %1607, label %1608, label %1656

1608:                                             ; preds = %1605
  %1609 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %121) #9
  %1610 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef @.str.192, ptr noundef %1610)
          to label %1611 unwind label %1633

1611:                                             ; preds = %1608
  %1612 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1609, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %1613 unwind label %1637

1613:                                             ; preds = %1611
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %122) #9
  %1614 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %1615 = trunc i8 %1614 to i1
  br i1 %1615, label %1616, label %1623

1616:                                             ; preds = %1613
  %1617 = load ptr, ptr %13, align 8, !tbaa !5
  %1618 = getelementptr inbounds %struct.HighsSolution, ptr %1617, i32 0, i32 4
  %1619 = load i32, ptr %98, align 4, !tbaa !34
  %1620 = sext i32 %1619 to i64
  %1621 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1618, i64 noundef %1620) #9
  %1622 = load double, ptr %1621, align 8, !tbaa !32
  br label %1624

1623:                                             ; preds = %1613
  br label %1624

1624:                                             ; preds = %1623, %1616
  %1625 = phi double [ %1622, %1616 ], [ 0.000000e+00, %1623 ]
  store double %1625, ptr %122, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %123) #9
  %1626 = load double, ptr %122, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %123, double noundef %1626, double noundef 1.000000e-13)
          to label %1627 unwind label %1642

1627:                                             ; preds = %1624
  %1628 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %124) #9
  %1629 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %123) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef @.str.192, ptr noundef %1629)
          to label %1630 unwind label %1646

1630:                                             ; preds = %1627
  %1631 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1628, ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %1632 unwind label %1650

1632:                                             ; preds = %1630
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #9
  br label %1765

1633:                                             ; preds = %1608
  %1634 = landingpad { ptr, i32 }
          cleanup
  %1635 = extractvalue { ptr, i32 } %1634, 0
  store ptr %1635, ptr %36, align 8
  %1636 = extractvalue { ptr, i32 } %1634, 1
  store i32 %1636, ptr %37, align 4
  br label %1641

1637:                                             ; preds = %1611
  %1638 = landingpad { ptr, i32 }
          cleanup
  %1639 = extractvalue { ptr, i32 } %1638, 0
  store ptr %1639, ptr %36, align 8
  %1640 = extractvalue { ptr, i32 } %1638, 1
  store i32 %1640, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #9
  br label %1641

1641:                                             ; preds = %1637, %1633
  call void @llvm.lifetime.end.p0(i64 32, ptr %121) #9
  br label %1884

1642:                                             ; preds = %1624
  %1643 = landingpad { ptr, i32 }
          cleanup
  %1644 = extractvalue { ptr, i32 } %1643, 0
  store ptr %1644, ptr %36, align 8
  %1645 = extractvalue { ptr, i32 } %1643, 1
  store i32 %1645, ptr %37, align 4
  br label %1655

1646:                                             ; preds = %1627
  %1647 = landingpad { ptr, i32 }
          cleanup
  %1648 = extractvalue { ptr, i32 } %1647, 0
  store ptr %1648, ptr %36, align 8
  %1649 = extractvalue { ptr, i32 } %1647, 1
  store i32 %1649, ptr %37, align 4
  br label %1654

1650:                                             ; preds = %1630
  %1651 = landingpad { ptr, i32 }
          cleanup
  %1652 = extractvalue { ptr, i32 } %1651, 0
  store ptr %1652, ptr %36, align 8
  %1653 = extractvalue { ptr, i32 } %1651, 1
  store i32 %1653, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #9
  br label %1654

1654:                                             ; preds = %1650, %1646
  call void @llvm.lifetime.end.p0(i64 32, ptr %124) #9
  br label %1655

1655:                                             ; preds = %1654, %1642
  call void @llvm.lifetime.end.p0(i64 32, ptr %123) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %122) #9
  br label %1884

1656:                                             ; preds = %1605
  %1657 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %125) #9
  %1658 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef @.str.192, ptr noundef %1658)
          to label %1659 unwind label %1682

1659:                                             ; preds = %1656
  %1660 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1657, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1661 unwind label %1686

1661:                                             ; preds = %1659
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #9
  %1662 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %126) #9
  %1663 = load double, ptr %115, align 8, !tbaa !32
  %1664 = call double @llvm.fabs.f64(double %1663)
  %1665 = fcmp ole double %1664, 1.000000e-09
  br i1 %1665, label %1666, label %1667

1666:                                             ; preds = %1661
  br label %1669

1667:                                             ; preds = %1661
  %1668 = load double, ptr %115, align 8, !tbaa !32
  br label %1669

1669:                                             ; preds = %1667, %1666
  %1670 = phi double [ 0.000000e+00, %1666 ], [ %1668, %1667 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %126, ptr noundef @.str.193, double noundef %1670)
          to label %1671 unwind label %1691

1671:                                             ; preds = %1669
  %1672 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1662, ptr noundef nonnull align 8 dereferenceable(32) %126)
          to label %1673 unwind label %1695

1673:                                             ; preds = %1671
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #9
  %1674 = load double, ptr %113, align 8, !tbaa !32
  %1675 = fcmp ogt double %1674, 0xFFF0000000000000
  br i1 %1675, label %1676, label %1709

1676:                                             ; preds = %1673
  %1677 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %127) #9
  %1678 = load double, ptr %113, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef @.str.193, double noundef %1678)
          to label %1679 unwind label %1700

1679:                                             ; preds = %1676
  %1680 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1677, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %1681 unwind label %1704

1681:                                             ; preds = %1679
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #9
  br label %1723

1682:                                             ; preds = %1656
  %1683 = landingpad { ptr, i32 }
          cleanup
  %1684 = extractvalue { ptr, i32 } %1683, 0
  store ptr %1684, ptr %36, align 8
  %1685 = extractvalue { ptr, i32 } %1683, 1
  store i32 %1685, ptr %37, align 4
  br label %1690

1686:                                             ; preds = %1659
  %1687 = landingpad { ptr, i32 }
          cleanup
  %1688 = extractvalue { ptr, i32 } %1687, 0
  store ptr %1688, ptr %36, align 8
  %1689 = extractvalue { ptr, i32 } %1687, 1
  store i32 %1689, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  br label %1690

1690:                                             ; preds = %1686, %1682
  call void @llvm.lifetime.end.p0(i64 32, ptr %125) #9
  br label %1884

1691:                                             ; preds = %1669
  %1692 = landingpad { ptr, i32 }
          cleanup
  %1693 = extractvalue { ptr, i32 } %1692, 0
  store ptr %1693, ptr %36, align 8
  %1694 = extractvalue { ptr, i32 } %1692, 1
  store i32 %1694, ptr %37, align 4
  br label %1699

1695:                                             ; preds = %1671
  %1696 = landingpad { ptr, i32 }
          cleanup
  %1697 = extractvalue { ptr, i32 } %1696, 0
  store ptr %1697, ptr %36, align 8
  %1698 = extractvalue { ptr, i32 } %1696, 1
  store i32 %1698, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %126) #9
  br label %1699

1699:                                             ; preds = %1695, %1691
  call void @llvm.lifetime.end.p0(i64 32, ptr %126) #9
  br label %1884

1700:                                             ; preds = %1676
  %1701 = landingpad { ptr, i32 }
          cleanup
  %1702 = extractvalue { ptr, i32 } %1701, 0
  store ptr %1702, ptr %36, align 8
  %1703 = extractvalue { ptr, i32 } %1701, 1
  store i32 %1703, ptr %37, align 4
  br label %1708

1704:                                             ; preds = %1679
  %1705 = landingpad { ptr, i32 }
          cleanup
  %1706 = extractvalue { ptr, i32 } %1705, 0
  store ptr %1706, ptr %36, align 8
  %1707 = extractvalue { ptr, i32 } %1705, 1
  store i32 %1707, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  br label %1708

1708:                                             ; preds = %1704, %1700
  call void @llvm.lifetime.end.p0(i64 32, ptr %127) #9
  br label %1884

1709:                                             ; preds = %1673
  %1710 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %128) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef @.str.194, ptr noundef @.str.9)
          to label %1711 unwind label %1714

1711:                                             ; preds = %1709
  %1712 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1710, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %1713 unwind label %1718

1713:                                             ; preds = %1711
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #9
  br label %1723

1714:                                             ; preds = %1709
  %1715 = landingpad { ptr, i32 }
          cleanup
  %1716 = extractvalue { ptr, i32 } %1715, 0
  store ptr %1716, ptr %36, align 8
  %1717 = extractvalue { ptr, i32 } %1715, 1
  store i32 %1717, ptr %37, align 4
  br label %1722

1718:                                             ; preds = %1711
  %1719 = landingpad { ptr, i32 }
          cleanup
  %1720 = extractvalue { ptr, i32 } %1719, 0
  store ptr %1720, ptr %36, align 8
  %1721 = extractvalue { ptr, i32 } %1719, 1
  store i32 %1721, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #9
  br label %1722

1722:                                             ; preds = %1718, %1714
  call void @llvm.lifetime.end.p0(i64 32, ptr %128) #9
  br label %1884

1723:                                             ; preds = %1713, %1681
  %1724 = load double, ptr %113, align 8, !tbaa !32
  %1725 = load double, ptr %114, align 8, !tbaa !32
  %1726 = fcmp une double %1724, %1725
  br i1 %1726, label %1727, label %1745

1727:                                             ; preds = %1723
  %1728 = load double, ptr %114, align 8, !tbaa !32
  %1729 = fcmp olt double %1728, 0x7FF0000000000000
  br i1 %1729, label %1730, label %1745

1730:                                             ; preds = %1727
  %1731 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %129) #9
  %1732 = load double, ptr %114, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef @.str.193, double noundef %1732)
          to label %1733 unwind label %1736

1733:                                             ; preds = %1730
  %1734 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1731, ptr noundef nonnull align 8 dereferenceable(32) %129)
          to label %1735 unwind label %1740

1735:                                             ; preds = %1733
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #9
  br label %1764

1736:                                             ; preds = %1730
  %1737 = landingpad { ptr, i32 }
          cleanup
  %1738 = extractvalue { ptr, i32 } %1737, 0
  store ptr %1738, ptr %36, align 8
  %1739 = extractvalue { ptr, i32 } %1737, 1
  store i32 %1739, ptr %37, align 4
  br label %1744

1740:                                             ; preds = %1733
  %1741 = landingpad { ptr, i32 }
          cleanup
  %1742 = extractvalue { ptr, i32 } %1741, 0
  store ptr %1742, ptr %36, align 8
  %1743 = extractvalue { ptr, i32 } %1741, 1
  store i32 %1743, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #9
  br label %1744

1744:                                             ; preds = %1740, %1736
  call void @llvm.lifetime.end.p0(i64 32, ptr %129) #9
  br label %1884

1745:                                             ; preds = %1727, %1723
  %1746 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %130) #9
  %1747 = load double, ptr %113, align 8, !tbaa !32
  %1748 = load double, ptr %114, align 8, !tbaa !32
  %1749 = fcmp oeq double %1747, %1748
  %1750 = zext i1 %1749 to i64
  %1751 = select i1 %1749, ptr @.str.195, ptr @.str.9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef @.str.194, ptr noundef %1751)
          to label %1752 unwind label %1755

1752:                                             ; preds = %1745
  %1753 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1746, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %1754 unwind label %1759

1754:                                             ; preds = %1752
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #9
  br label %1764

1755:                                             ; preds = %1745
  %1756 = landingpad { ptr, i32 }
          cleanup
  %1757 = extractvalue { ptr, i32 } %1756, 0
  store ptr %1757, ptr %36, align 8
  %1758 = extractvalue { ptr, i32 } %1756, 1
  store i32 %1758, ptr %37, align 4
  br label %1763

1759:                                             ; preds = %1752
  %1760 = landingpad { ptr, i32 }
          cleanup
  %1761 = extractvalue { ptr, i32 } %1760, 0
  store ptr %1761, ptr %36, align 8
  %1762 = extractvalue { ptr, i32 } %1760, 1
  store i32 %1762, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #9
  br label %1763

1763:                                             ; preds = %1759, %1755
  call void @llvm.lifetime.end.p0(i64 32, ptr %130) #9
  br label %1884

1764:                                             ; preds = %1754, %1735
  br label %1765

1765:                                             ; preds = %1764, %1632
  %1766 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %1767 = trunc i8 %1766 to i1
  br i1 %1767, label %1768, label %1854

1768:                                             ; preds = %1765
  %1769 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1770 = trunc i8 %1769 to i1
  br i1 %1770, label %1771, label %1799

1771:                                             ; preds = %1768
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #9
  %1772 = load ptr, ptr %13, align 8, !tbaa !5
  %1773 = getelementptr inbounds %struct.HighsSolution, ptr %1772, i32 0, i32 5
  %1774 = load i32, ptr %98, align 4, !tbaa !34
  %1775 = sext i32 %1774 to i64
  %1776 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1773, i64 noundef %1775) #9
  %1777 = load double, ptr %1776, align 8, !tbaa !32
  store double %1777, ptr %131, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %132) #9
  %1778 = load double, ptr %131, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %132, double noundef %1778, double noundef 1.000000e-13)
          to label %1779 unwind label %1785

1779:                                             ; preds = %1771
  %1780 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %133) #9
  %1781 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %132) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %133, ptr noundef @.str.171, ptr noundef %1781)
          to label %1782 unwind label %1789

1782:                                             ; preds = %1779
  %1783 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1780, ptr noundef nonnull align 8 dereferenceable(32) %133)
          to label %1784 unwind label %1793

1784:                                             ; preds = %1782
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  br label %1853

1785:                                             ; preds = %1771
  %1786 = landingpad { ptr, i32 }
          cleanup
  %1787 = extractvalue { ptr, i32 } %1786, 0
  store ptr %1787, ptr %36, align 8
  %1788 = extractvalue { ptr, i32 } %1786, 1
  store i32 %1788, ptr %37, align 4
  br label %1798

1789:                                             ; preds = %1779
  %1790 = landingpad { ptr, i32 }
          cleanup
  %1791 = extractvalue { ptr, i32 } %1790, 0
  store ptr %1791, ptr %36, align 8
  %1792 = extractvalue { ptr, i32 } %1790, 1
  store i32 %1792, ptr %37, align 4
  br label %1797

1793:                                             ; preds = %1782
  %1794 = landingpad { ptr, i32 }
          cleanup
  %1795 = extractvalue { ptr, i32 } %1794, 0
  store ptr %1795, ptr %36, align 8
  %1796 = extractvalue { ptr, i32 } %1794, 1
  store i32 %1796, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %133) #9
  br label %1797

1797:                                             ; preds = %1793, %1789
  call void @llvm.lifetime.end.p0(i64 32, ptr %133) #9
  br label %1798

1798:                                             ; preds = %1797, %1785
  call void @llvm.lifetime.end.p0(i64 32, ptr %132) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #9
  br label %1884

1799:                                             ; preds = %1768
  call void @llvm.lifetime.start.p0(i64 1, ptr %134) #9
  %1800 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1801 = trunc i8 %1800 to i1
  %1802 = zext i1 %1801 to i8
  store i8 %1802, ptr %134, align 1, !tbaa !11
  %1803 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1804 = trunc i8 %1803 to i1
  br i1 %1804, label %1805, label %1814

1805:                                             ; preds = %1799
  %1806 = load ptr, ptr %12, align 8, !tbaa !5
  %1807 = getelementptr inbounds %struct.HighsBasis, ptr %1806, i32 0, i32 8
  %1808 = load i32, ptr %98, align 4, !tbaa !34
  %1809 = sext i32 %1808 to i64
  %1810 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1807, i64 noundef %1809) #9
  %1811 = load i8, ptr %1810, align 1, !tbaa !82
  %1812 = icmp ne i8 %1811, 1
  %1813 = zext i1 %1812 to i8
  store i8 %1813, ptr %134, align 1, !tbaa !11
  br label %1814

1814:                                             ; preds = %1805, %1799
  %1815 = load i8, ptr %134, align 1, !tbaa !11, !range !19, !noundef !20
  %1816 = trunc i8 %1815 to i1
  br i1 %1816, label %1817, label %1851

1817:                                             ; preds = %1814
  %1818 = load double, ptr %116, align 8, !tbaa !32
  %1819 = call double @llvm.fabs.f64(double %1818)
  %1820 = fcmp ole double %1819, 1.000000e-09
  br i1 %1820, label %1821, label %1835

1821:                                             ; preds = %1817
  %1822 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %135) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %135, ptr noundef @.str.196, ptr noundef @.str.197)
          to label %1823 unwind label %1826

1823:                                             ; preds = %1821
  %1824 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1822, ptr noundef nonnull align 8 dereferenceable(32) %135)
          to label %1825 unwind label %1830

1825:                                             ; preds = %1823
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #9
  br label %1850

1826:                                             ; preds = %1821
  %1827 = landingpad { ptr, i32 }
          cleanup
  %1828 = extractvalue { ptr, i32 } %1827, 0
  store ptr %1828, ptr %36, align 8
  %1829 = extractvalue { ptr, i32 } %1827, 1
  store i32 %1829, ptr %37, align 4
  br label %1834

1830:                                             ; preds = %1823
  %1831 = landingpad { ptr, i32 }
          cleanup
  %1832 = extractvalue { ptr, i32 } %1831, 0
  store ptr %1832, ptr %36, align 8
  %1833 = extractvalue { ptr, i32 } %1831, 1
  store i32 %1833, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %135) #9
  br label %1834

1834:                                             ; preds = %1830, %1826
  call void @llvm.lifetime.end.p0(i64 32, ptr %135) #9
  br label %1852

1835:                                             ; preds = %1817
  %1836 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %136) #9
  %1837 = load double, ptr %116, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %136, ptr noundef @.str.193, double noundef %1837)
          to label %1838 unwind label %1841

1838:                                             ; preds = %1835
  %1839 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1836, ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %1840 unwind label %1845

1840:                                             ; preds = %1838
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #9
  br label %1850

1841:                                             ; preds = %1835
  %1842 = landingpad { ptr, i32 }
          cleanup
  %1843 = extractvalue { ptr, i32 } %1842, 0
  store ptr %1843, ptr %36, align 8
  %1844 = extractvalue { ptr, i32 } %1842, 1
  store i32 %1844, ptr %37, align 4
  br label %1849

1845:                                             ; preds = %1838
  %1846 = landingpad { ptr, i32 }
          cleanup
  %1847 = extractvalue { ptr, i32 } %1846, 0
  store ptr %1847, ptr %36, align 8
  %1848 = extractvalue { ptr, i32 } %1846, 1
  store i32 %1848, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #9
  br label %1849

1849:                                             ; preds = %1845, %1841
  call void @llvm.lifetime.end.p0(i64 32, ptr %136) #9
  br label %1852

1850:                                             ; preds = %1840, %1825
  br label %1851

1851:                                             ; preds = %1850, %1814
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #9
  br label %1853

1852:                                             ; preds = %1849, %1834
  call void @llvm.lifetime.end.p0(i64 1, ptr %134) #9
  br label %1884

1853:                                             ; preds = %1851, %1784
  br label %1854

1854:                                             ; preds = %1853, %1765
  %1855 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %137) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %137, ptr noundef @.str.82)
          to label %1856 unwind label %1866

1856:                                             ; preds = %1854
  %1857 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1855, ptr noundef nonnull align 8 dereferenceable(32) %137)
          to label %1858 unwind label %1870

1858:                                             ; preds = %1856
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #9
  %1859 = load ptr, ptr %9, align 8, !tbaa !5
  %1860 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %138) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %138, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1861 unwind label %1875

1861:                                             ; preds = %1858
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1859, ptr noundef nonnull align 8 dereferenceable(89) %1860, ptr noundef nonnull align 8 dereferenceable(32) %138)
          to label %1862 unwind label %1879

1862:                                             ; preds = %1861
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #9
  br label %1863

1863:                                             ; preds = %1862, %1358
  %1864 = load i32, ptr %98, align 4, !tbaa !34
  %1865 = add nsw i32 %1864, 1
  store i32 %1865, ptr %98, align 4, !tbaa !34
  br label %1286, !llvm.loop !84

1866:                                             ; preds = %1854
  %1867 = landingpad { ptr, i32 }
          cleanup
  %1868 = extractvalue { ptr, i32 } %1867, 0
  store ptr %1868, ptr %36, align 8
  %1869 = extractvalue { ptr, i32 } %1867, 1
  store i32 %1869, ptr %37, align 4
  br label %1874

1870:                                             ; preds = %1856
  %1871 = landingpad { ptr, i32 }
          cleanup
  %1872 = extractvalue { ptr, i32 } %1871, 0
  store ptr %1872, ptr %36, align 8
  %1873 = extractvalue { ptr, i32 } %1871, 1
  store i32 %1873, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %137) #9
  br label %1874

1874:                                             ; preds = %1870, %1866
  call void @llvm.lifetime.end.p0(i64 32, ptr %137) #9
  br label %1884

1875:                                             ; preds = %1858
  %1876 = landingpad { ptr, i32 }
          cleanup
  %1877 = extractvalue { ptr, i32 } %1876, 0
  store ptr %1877, ptr %36, align 8
  %1878 = extractvalue { ptr, i32 } %1876, 1
  store i32 %1878, ptr %37, align 4
  br label %1883

1879:                                             ; preds = %1861
  %1880 = landingpad { ptr, i32 }
          cleanup
  %1881 = extractvalue { ptr, i32 } %1880, 0
  store ptr %1881, ptr %36, align 8
  %1882 = extractvalue { ptr, i32 } %1880, 1
  store i32 %1882, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #9
  br label %1883

1883:                                             ; preds = %1879, %1875
  call void @llvm.lifetime.end.p0(i64 32, ptr %138) #9
  br label %1884

1884:                                             ; preds = %1883, %1874, %1852, %1798, %1763, %1744, %1722, %1708, %1699, %1690, %1655, %1641, %1548
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  br label %1885

1885:                                             ; preds = %1884, %1539
  call void @llvm.lifetime.end.p0(i64 32, ptr %119) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  br label %1886

1886:                                             ; preds = %1885, %1535
  call void @llvm.lifetime.end.p0(i64 32, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #9
  br label %1887

1887:                                             ; preds = %1886, %1486, %1421, %1394, %1371, %1359, %1319, %1315
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %3450

1888:                                             ; preds = %1292
  %1889 = load i32, ptr %33, align 4, !tbaa !34
  %1890 = load ptr, ptr %24, align 8, !tbaa !5
  %1891 = getelementptr inbounds %class.HighsLp, ptr %1890, i32 0, i32 1
  %1892 = load i32, ptr %1891, align 4, !tbaa !71
  %1893 = add nsw i32 %1892, 1
  %1894 = icmp eq i32 %1889, %1893
  br i1 %1894, label %1895, label %1919

1895:                                             ; preds = %1888
  %1896 = load i32, ptr %97, align 4, !tbaa !34
  %1897 = add nsw i32 %1896, 1
  store i32 %1897, ptr %97, align 4, !tbaa !34
  %1898 = load ptr, ptr %9, align 8, !tbaa !5
  %1899 = load ptr, ptr %25, align 8, !tbaa !5
  %1900 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1901 = trunc i8 %1900 to i1
  %1902 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %1903 = trunc i8 %1902 to i1
  %1904 = load i32, ptr %97, align 4, !tbaa !34
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull align 8 dereferenceable(32) %64)
          to label %1905 unwind label %1911

1905:                                             ; preds = %1895
  %1906 = load ptr, ptr %15, align 8, !tbaa !5
  %1907 = getelementptr inbounds i8, ptr %1906, i64 8
  %1908 = getelementptr inbounds %struct.HighsInfoStruct, ptr %1907, i32 0, i32 10
  %1909 = load double, ptr %1908, align 8, !tbaa !79
  invoke void @_Z18writeGlpsolCostRowP8_IO_FILERK15HighsLogOptionsbbiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(ptr noundef %1898, ptr noundef nonnull align 8 dereferenceable(89) %1899, i1 noundef zeroext %1901, i1 noundef zeroext %1903, i32 noundef %1904, ptr noundef %139, double noundef %1909)
          to label %1910 unwind label %1915

1910:                                             ; preds = %1905
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #9
  br label %1919

1911:                                             ; preds = %2079, %1895
  %1912 = landingpad { ptr, i32 }
          cleanup
  %1913 = extractvalue { ptr, i32 } %1912, 0
  store ptr %1913, ptr %36, align 8
  %1914 = extractvalue { ptr, i32 } %1912, 1
  store i32 %1914, ptr %37, align 4
  br label %3450

1915:                                             ; preds = %1905
  %1916 = landingpad { ptr, i32 }
          cleanup
  %1917 = extractvalue { ptr, i32 } %1916, 0
  store ptr %1917, ptr %36, align 8
  %1918 = extractvalue { ptr, i32 } %1916, 1
  store i32 %1918, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %139) #9
  br label %3450

1919:                                             ; preds = %1910, %1888
  %1920 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1921 = trunc i8 %1920 to i1
  br i1 %1921, label %1936, label %1922

1922:                                             ; preds = %1919
  %1923 = load ptr, ptr %9, align 8, !tbaa !5
  %1924 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %140) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %141) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %1925 unwind label %1927

1925:                                             ; preds = %1922
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1923, ptr noundef nonnull align 8 dereferenceable(89) %1924, ptr noundef nonnull align 8 dereferenceable(32) %140)
          to label %1926 unwind label %1931

1926:                                             ; preds = %1925
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #9
  br label %1936

1927:                                             ; preds = %1922
  %1928 = landingpad { ptr, i32 }
          cleanup
  %1929 = extractvalue { ptr, i32 } %1928, 0
  store ptr %1929, ptr %36, align 8
  %1930 = extractvalue { ptr, i32 } %1928, 1
  store i32 %1930, ptr %37, align 4
  br label %1935

1931:                                             ; preds = %1925
  %1932 = landingpad { ptr, i32 }
          cleanup
  %1933 = extractvalue { ptr, i32 } %1932, 0
  store ptr %1933, ptr %36, align 8
  %1934 = extractvalue { ptr, i32 } %1932, 1
  store i32 %1934, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  br label %1935

1935:                                             ; preds = %1931, %1927
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %140) #9
  br label %3450

1936:                                             ; preds = %1926, %1919
  %1937 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %1938 = trunc i8 %1937 to i1
  br i1 %1938, label %2076, label %1939

1939:                                             ; preds = %1936
  call void @llvm.lifetime.start.p0(i64 32, ptr %142) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1940 unwind label %1959

1940:                                             ; preds = %1939
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #9
  %1941 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %143) #9
  %1942 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1943 = trunc i8 %1942 to i1
  br i1 %1943, label %1944, label %1945

1944:                                             ; preds = %1940
  br label %1946

1945:                                             ; preds = %1940
  br label %1946

1946:                                             ; preds = %1945, %1944
  %1947 = phi ptr [ @.str.175, %1944 ], [ @.str.176, %1945 ]
  %1948 = getelementptr inbounds [3 x i8], ptr %1947, i64 0, i64 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %143, ptr noundef @.str.198, ptr noundef %1948)
          to label %1949 unwind label %1963

1949:                                             ; preds = %1946
  %1950 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1941, ptr noundef nonnull align 8 dereferenceable(32) %143)
          to label %1951 unwind label %1967

1951:                                             ; preds = %1949
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #9
  %1952 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %1953 = trunc i8 %1952 to i1
  br i1 %1953, label %1954, label %1981

1954:                                             ; preds = %1951
  %1955 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %144) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %144, ptr noundef @.str.177)
          to label %1956 unwind label %1972

1956:                                             ; preds = %1954
  %1957 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1955, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %1958 unwind label %1976

1958:                                             ; preds = %1956
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #9
  br label %1981

1959:                                             ; preds = %1939
  %1960 = landingpad { ptr, i32 }
          cleanup
  %1961 = extractvalue { ptr, i32 } %1960, 0
  store ptr %1961, ptr %36, align 8
  %1962 = extractvalue { ptr, i32 } %1960, 1
  store i32 %1962, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %142) #9
  br label %3450

1963:                                             ; preds = %1946
  %1964 = landingpad { ptr, i32 }
          cleanup
  %1965 = extractvalue { ptr, i32 } %1964, 0
  store ptr %1965, ptr %36, align 8
  %1966 = extractvalue { ptr, i32 } %1964, 1
  store i32 %1966, ptr %37, align 4
  br label %1971

1967:                                             ; preds = %1949
  %1968 = landingpad { ptr, i32 }
          cleanup
  %1969 = extractvalue { ptr, i32 } %1968, 0
  store ptr %1969, ptr %36, align 8
  %1970 = extractvalue { ptr, i32 } %1968, 1
  store i32 %1970, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %143) #9
  br label %1971

1971:                                             ; preds = %1967, %1963
  call void @llvm.lifetime.end.p0(i64 32, ptr %143) #9
  br label %3450

1972:                                             ; preds = %1954
  %1973 = landingpad { ptr, i32 }
          cleanup
  %1974 = extractvalue { ptr, i32 } %1973, 0
  store ptr %1974, ptr %36, align 8
  %1975 = extractvalue { ptr, i32 } %1973, 1
  store i32 %1975, ptr %37, align 4
  br label %1980

1976:                                             ; preds = %1956
  %1977 = landingpad { ptr, i32 }
          cleanup
  %1978 = extractvalue { ptr, i32 } %1977, 0
  store ptr %1978, ptr %36, align 8
  %1979 = extractvalue { ptr, i32 } %1977, 1
  store i32 %1979, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  br label %1980

1980:                                             ; preds = %1976, %1972
  call void @llvm.lifetime.end.p0(i64 32, ptr %144) #9
  br label %3450

1981:                                             ; preds = %1958, %1951
  %1982 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %145) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef @.str.82)
          to label %1983 unwind label %2009

1983:                                             ; preds = %1981
  %1984 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1982, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %1985 unwind label %2013

1985:                                             ; preds = %1983
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #9
  %1986 = load ptr, ptr %9, align 8, !tbaa !5
  %1987 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %146) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %1988 unwind label %2018

1988:                                             ; preds = %1985
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %1986, ptr noundef nonnull align 8 dereferenceable(89) %1987, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1989 unwind label %2022

1989:                                             ; preds = %1988
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %147) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1990 unwind label %2027

1990:                                             ; preds = %1989
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #9
  %1991 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %148) #9
  %1992 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %1993 = trunc i8 %1992 to i1
  br i1 %1993, label %1994, label %1995

1994:                                             ; preds = %1990
  br label %1996

1995:                                             ; preds = %1990
  br label %1996

1996:                                             ; preds = %1995, %1994
  %1997 = phi ptr [ @.str.179, %1994 ], [ @.str.176, %1995 ]
  %1998 = getelementptr inbounds [3 x i8], ptr %1997, i64 0, i64 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef @.str.178, ptr noundef %1998)
          to label %1999 unwind label %2031

1999:                                             ; preds = %1996
  %2000 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %1991, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %2001 unwind label %2035

2001:                                             ; preds = %1999
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #9
  %2002 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %2003 = trunc i8 %2002 to i1
  br i1 %2003, label %2004, label %2049

2004:                                             ; preds = %2001
  %2005 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %149) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %149, ptr noundef @.str.180)
          to label %2006 unwind label %2040

2006:                                             ; preds = %2004
  %2007 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2005, ptr noundef nonnull align 8 dereferenceable(32) %149)
          to label %2008 unwind label %2044

2008:                                             ; preds = %2006
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #9
  br label %2049

2009:                                             ; preds = %1981
  %2010 = landingpad { ptr, i32 }
          cleanup
  %2011 = extractvalue { ptr, i32 } %2010, 0
  store ptr %2011, ptr %36, align 8
  %2012 = extractvalue { ptr, i32 } %2010, 1
  store i32 %2012, ptr %37, align 4
  br label %2017

2013:                                             ; preds = %1983
  %2014 = landingpad { ptr, i32 }
          cleanup
  %2015 = extractvalue { ptr, i32 } %2014, 0
  store ptr %2015, ptr %36, align 8
  %2016 = extractvalue { ptr, i32 } %2014, 1
  store i32 %2016, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  br label %2017

2017:                                             ; preds = %2013, %2009
  call void @llvm.lifetime.end.p0(i64 32, ptr %145) #9
  br label %3450

2018:                                             ; preds = %1985
  %2019 = landingpad { ptr, i32 }
          cleanup
  %2020 = extractvalue { ptr, i32 } %2019, 0
  store ptr %2020, ptr %36, align 8
  %2021 = extractvalue { ptr, i32 } %2019, 1
  store i32 %2021, ptr %37, align 4
  br label %2026

2022:                                             ; preds = %1988
  %2023 = landingpad { ptr, i32 }
          cleanup
  %2024 = extractvalue { ptr, i32 } %2023, 0
  store ptr %2024, ptr %36, align 8
  %2025 = extractvalue { ptr, i32 } %2023, 1
  store i32 %2025, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #9
  br label %2026

2026:                                             ; preds = %2022, %2018
  call void @llvm.lifetime.end.p0(i64 32, ptr %146) #9
  br label %3450

2027:                                             ; preds = %1989
  %2028 = landingpad { ptr, i32 }
          cleanup
  %2029 = extractvalue { ptr, i32 } %2028, 0
  store ptr %2029, ptr %36, align 8
  %2030 = extractvalue { ptr, i32 } %2028, 1
  store i32 %2030, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %147) #9
  br label %3450

2031:                                             ; preds = %1996
  %2032 = landingpad { ptr, i32 }
          cleanup
  %2033 = extractvalue { ptr, i32 } %2032, 0
  store ptr %2033, ptr %36, align 8
  %2034 = extractvalue { ptr, i32 } %2032, 1
  store i32 %2034, ptr %37, align 4
  br label %2039

2035:                                             ; preds = %1999
  %2036 = landingpad { ptr, i32 }
          cleanup
  %2037 = extractvalue { ptr, i32 } %2036, 0
  store ptr %2037, ptr %36, align 8
  %2038 = extractvalue { ptr, i32 } %2036, 1
  store i32 %2038, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #9
  br label %2039

2039:                                             ; preds = %2035, %2031
  call void @llvm.lifetime.end.p0(i64 32, ptr %148) #9
  br label %3450

2040:                                             ; preds = %2004
  %2041 = landingpad { ptr, i32 }
          cleanup
  %2042 = extractvalue { ptr, i32 } %2041, 0
  store ptr %2042, ptr %36, align 8
  %2043 = extractvalue { ptr, i32 } %2041, 1
  store i32 %2043, ptr %37, align 4
  br label %2048

2044:                                             ; preds = %2006
  %2045 = landingpad { ptr, i32 }
          cleanup
  %2046 = extractvalue { ptr, i32 } %2045, 0
  store ptr %2046, ptr %36, align 8
  %2047 = extractvalue { ptr, i32 } %2045, 1
  store i32 %2047, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  br label %2048

2048:                                             ; preds = %2044, %2040
  call void @llvm.lifetime.end.p0(i64 32, ptr %149) #9
  br label %3450

2049:                                             ; preds = %2008, %2001
  %2050 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %150) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %150, ptr noundef @.str.82)
          to label %2051 unwind label %2058

2051:                                             ; preds = %2049
  %2052 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2050, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %2053 unwind label %2062

2053:                                             ; preds = %2051
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #9
  %2054 = load ptr, ptr %9, align 8, !tbaa !5
  %2055 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %151) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2056 unwind label %2067

2056:                                             ; preds = %2053
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2054, ptr noundef nonnull align 8 dereferenceable(89) %2055, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %2057 unwind label %2071

2057:                                             ; preds = %2056
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #9
  br label %2076

2058:                                             ; preds = %2049
  %2059 = landingpad { ptr, i32 }
          cleanup
  %2060 = extractvalue { ptr, i32 } %2059, 0
  store ptr %2060, ptr %36, align 8
  %2061 = extractvalue { ptr, i32 } %2059, 1
  store i32 %2061, ptr %37, align 4
  br label %2066

2062:                                             ; preds = %2051
  %2063 = landingpad { ptr, i32 }
          cleanup
  %2064 = extractvalue { ptr, i32 } %2063, 0
  store ptr %2064, ptr %36, align 8
  %2065 = extractvalue { ptr, i32 } %2063, 1
  store i32 %2065, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #9
  br label %2066

2066:                                             ; preds = %2062, %2058
  call void @llvm.lifetime.end.p0(i64 32, ptr %150) #9
  br label %3450

2067:                                             ; preds = %2053
  %2068 = landingpad { ptr, i32 }
          cleanup
  %2069 = extractvalue { ptr, i32 } %2068, 0
  store ptr %2069, ptr %36, align 8
  %2070 = extractvalue { ptr, i32 } %2068, 1
  store i32 %2070, ptr %37, align 4
  br label %2075

2071:                                             ; preds = %2056
  %2072 = landingpad { ptr, i32 }
          cleanup
  %2073 = extractvalue { ptr, i32 } %2072, 0
  store ptr %2073, ptr %36, align 8
  %2074 = extractvalue { ptr, i32 } %2072, 1
  store i32 %2074, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #9
  br label %2075

2075:                                             ; preds = %2071, %2067
  call void @llvm.lifetime.end.p0(i64 32, ptr %151) #9
  br label %3450

2076:                                             ; preds = %2057, %1936
  %2077 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %2078 = trunc i8 %2077 to i1
  br i1 %2078, label %2079, label %2082

2079:                                             ; preds = %2076
  %2080 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.199)
          to label %2081 unwind label %1911

2081:                                             ; preds = %2079
  br label %2082

2082:                                             ; preds = %2081, %2076
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  store i32 0, ptr %152, align 4, !tbaa !34
  br label %2083

2083:                                             ; preds = %2658, %2082
  %2084 = load i32, ptr %152, align 4, !tbaa !34
  %2085 = load ptr, ptr %24, align 8, !tbaa !5
  %2086 = getelementptr inbounds %class.HighsLp, ptr %2085, i32 0, i32 0
  %2087 = load i32, ptr %2086, align 8, !tbaa !35
  %2088 = icmp slt i32 %2084, %2087
  br i1 %2088, label %2090, label %2089

2089:                                             ; preds = %2083
  store i32 13, ptr %63, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %2683

2090:                                             ; preds = %2083
  call void @llvm.lifetime.start.p0(i64 32, ptr %153) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %2091 unwind label %2128

2091:                                             ; preds = %2090
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #9
  %2092 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %2093 = trunc i8 %2092 to i1
  br i1 %2093, label %2094, label %2165

2094:                                             ; preds = %2091
  %2095 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %154) #9
  %2096 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  %2097 = load i32, ptr %152, align 4, !tbaa !34
  %2098 = add nsw i32 %2097, 1
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %154, ptr noundef @.str.200, ptr noundef %2096, i32 noundef %2098)
          to label %2099 unwind label %2132

2099:                                             ; preds = %2094
  %2100 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2095, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %2101 unwind label %2136

2101:                                             ; preds = %2099
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #9
  %2102 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %2103 = trunc i8 %2102 to i1
  br i1 %2103, label %2104, label %2164

2104:                                             ; preds = %2101
  call void @llvm.lifetime.start.p0(i64 8, ptr %155) #9
  %2105 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %2106 = trunc i8 %2105 to i1
  br i1 %2106, label %2107, label %2114

2107:                                             ; preds = %2104
  %2108 = load ptr, ptr %13, align 8, !tbaa !5
  %2109 = getelementptr inbounds %struct.HighsSolution, ptr %2108, i32 0, i32 2
  %2110 = load i32, ptr %152, align 4, !tbaa !34
  %2111 = sext i32 %2110 to i64
  %2112 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2109, i64 noundef %2111) #9
  %2113 = load double, ptr %2112, align 8, !tbaa !32
  br label %2115

2114:                                             ; preds = %2104
  br label %2115

2115:                                             ; preds = %2114, %2107
  %2116 = phi double [ %2113, %2107 ], [ 0.000000e+00, %2114 ]
  store double %2116, ptr %155, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %156) #9
  %2117 = load double, ptr %155, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %156, double noundef %2117, double noundef 1.000000e-13)
          to label %2118 unwind label %2141

2118:                                             ; preds = %2115
  %2119 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %157) #9
  %2120 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %156) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef @.str.119, ptr noundef %2120)
          to label %2121 unwind label %2145

2121:                                             ; preds = %2118
  %2122 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2119, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %2123 unwind label %2149

2123:                                             ; preds = %2121
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #9
  %2124 = load ptr, ptr %9, align 8, !tbaa !5
  %2125 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %158) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2126 unwind label %2154

2126:                                             ; preds = %2123
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2124, ptr noundef nonnull align 8 dereferenceable(89) %2125, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %2127 unwind label %2158

2127:                                             ; preds = %2126
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #9
  store i32 15, ptr %63, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #9
  br label %2658

2128:                                             ; preds = %2090
  %2129 = landingpad { ptr, i32 }
          cleanup
  %2130 = extractvalue { ptr, i32 } %2129, 0
  store ptr %2130, ptr %36, align 8
  %2131 = extractvalue { ptr, i32 } %2129, 1
  store i32 %2131, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %153) #9
  br label %2682

2132:                                             ; preds = %2094
  %2133 = landingpad { ptr, i32 }
          cleanup
  %2134 = extractvalue { ptr, i32 } %2133, 0
  store ptr %2134, ptr %36, align 8
  %2135 = extractvalue { ptr, i32 } %2133, 1
  store i32 %2135, ptr %37, align 4
  br label %2140

2136:                                             ; preds = %2099
  %2137 = landingpad { ptr, i32 }
          cleanup
  %2138 = extractvalue { ptr, i32 } %2137, 0
  store ptr %2138, ptr %36, align 8
  %2139 = extractvalue { ptr, i32 } %2137, 1
  store i32 %2139, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  br label %2140

2140:                                             ; preds = %2136, %2132
  call void @llvm.lifetime.end.p0(i64 32, ptr %154) #9
  br label %2682

2141:                                             ; preds = %2115
  %2142 = landingpad { ptr, i32 }
          cleanup
  %2143 = extractvalue { ptr, i32 } %2142, 0
  store ptr %2143, ptr %36, align 8
  %2144 = extractvalue { ptr, i32 } %2142, 1
  store i32 %2144, ptr %37, align 4
  br label %2163

2145:                                             ; preds = %2118
  %2146 = landingpad { ptr, i32 }
          cleanup
  %2147 = extractvalue { ptr, i32 } %2146, 0
  store ptr %2147, ptr %36, align 8
  %2148 = extractvalue { ptr, i32 } %2146, 1
  store i32 %2148, ptr %37, align 4
  br label %2153

2149:                                             ; preds = %2121
  %2150 = landingpad { ptr, i32 }
          cleanup
  %2151 = extractvalue { ptr, i32 } %2150, 0
  store ptr %2151, ptr %36, align 8
  %2152 = extractvalue { ptr, i32 } %2150, 1
  store i32 %2152, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #9
  br label %2153

2153:                                             ; preds = %2149, %2145
  call void @llvm.lifetime.end.p0(i64 32, ptr %157) #9
  br label %2163

2154:                                             ; preds = %2123
  %2155 = landingpad { ptr, i32 }
          cleanup
  %2156 = extractvalue { ptr, i32 } %2155, 0
  store ptr %2156, ptr %36, align 8
  %2157 = extractvalue { ptr, i32 } %2155, 1
  store i32 %2157, ptr %37, align 4
  br label %2162

2158:                                             ; preds = %2126
  %2159 = landingpad { ptr, i32 }
          cleanup
  %2160 = extractvalue { ptr, i32 } %2159, 0
  store ptr %2160, ptr %36, align 8
  %2161 = extractvalue { ptr, i32 } %2159, 1
  store i32 %2161, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #9
  br label %2162

2162:                                             ; preds = %2158, %2154
  call void @llvm.lifetime.end.p0(i64 32, ptr %158) #9
  br label %2163

2163:                                             ; preds = %2162, %2153, %2141
  call void @llvm.lifetime.end.p0(i64 32, ptr %156) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %155) #9
  br label %2682

2164:                                             ; preds = %2101
  br label %2266

2165:                                             ; preds = %2091
  %2166 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %159) #9
  %2167 = load i32, ptr %152, align 4, !tbaa !34
  %2168 = add nsw i32 %2167, 1
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %159, ptr noundef @.str.123, i32 noundef %2168)
          to label %2169 unwind label %2183

2169:                                             ; preds = %2165
  %2170 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2166, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %2171 unwind label %2187

2171:                                             ; preds = %2169
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %160) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %161) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %161)
          to label %2172 unwind label %2192

2172:                                             ; preds = %2171
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #9
  %2173 = load i8, ptr %26, align 1, !tbaa !11, !range !19, !noundef !20
  %2174 = trunc i8 %2173 to i1
  br i1 %2174, label %2175, label %2200

2175:                                             ; preds = %2172
  %2176 = load ptr, ptr %24, align 8, !tbaa !5
  %2177 = getelementptr inbounds %class.HighsLp, ptr %2176, i32 0, i32 14
  %2178 = load i32, ptr %152, align 4, !tbaa !34
  %2179 = sext i32 %2178 to i64
  %2180 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2177, i64 noundef %2179) #9
  %2181 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %160, ptr noundef nonnull align 8 dereferenceable(32) %2180)
          to label %2182 unwind label %2196

2182:                                             ; preds = %2175
  br label %2200

2183:                                             ; preds = %2165
  %2184 = landingpad { ptr, i32 }
          cleanup
  %2185 = extractvalue { ptr, i32 } %2184, 0
  store ptr %2185, ptr %36, align 8
  %2186 = extractvalue { ptr, i32 } %2184, 1
  store i32 %2186, ptr %37, align 4
  br label %2191

2187:                                             ; preds = %2169
  %2188 = landingpad { ptr, i32 }
          cleanup
  %2189 = extractvalue { ptr, i32 } %2188, 0
  store ptr %2189, ptr %36, align 8
  %2190 = extractvalue { ptr, i32 } %2188, 1
  store i32 %2190, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  br label %2191

2191:                                             ; preds = %2187, %2183
  call void @llvm.lifetime.end.p0(i64 32, ptr %159) #9
  br label %2682

2192:                                             ; preds = %2171
  %2193 = landingpad { ptr, i32 }
          cleanup
  %2194 = extractvalue { ptr, i32 } %2193, 0
  store ptr %2194, ptr %36, align 8
  %2195 = extractvalue { ptr, i32 } %2193, 1
  store i32 %2195, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %161) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %161) #9
  br label %2265

2196:                                             ; preds = %2237, %2175
  %2197 = landingpad { ptr, i32 }
          cleanup
  %2198 = extractvalue { ptr, i32 } %2197, 0
  store ptr %2198, ptr %36, align 8
  %2199 = extractvalue { ptr, i32 } %2197, 1
  store i32 %2199, ptr %37, align 4
  br label %2264

2200:                                             ; preds = %2182, %2172
  %2201 = load i8, ptr %26, align 1, !tbaa !11, !range !19, !noundef !20
  %2202 = trunc i8 %2201 to i1
  br i1 %2202, label %2203, label %2206

2203:                                             ; preds = %2200
  %2204 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  %2205 = icmp ule i64 %2204, 12
  br i1 %2205, label %2206, label %2227

2206:                                             ; preds = %2203, %2200
  %2207 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %162) #9
  %2208 = load i8, ptr %26, align 1, !tbaa !11, !range !19, !noundef !20
  %2209 = trunc i8 %2208 to i1
  br i1 %2209, label %2211, label %2210

2210:                                             ; preds = %2206
  br label %2213

2211:                                             ; preds = %2206
  %2212 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  br label %2213

2213:                                             ; preds = %2211, %2210
  %2214 = phi ptr [ @.str.9, %2210 ], [ %2212, %2211 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %162, ptr noundef @.str.124, ptr noundef %2214)
          to label %2215 unwind label %2218

2215:                                             ; preds = %2213
  %2216 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2207, ptr noundef nonnull align 8 dereferenceable(32) %162)
          to label %2217 unwind label %2222

2217:                                             ; preds = %2215
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #9
  br label %2263

2218:                                             ; preds = %2213
  %2219 = landingpad { ptr, i32 }
          cleanup
  %2220 = extractvalue { ptr, i32 } %2219, 0
  store ptr %2220, ptr %36, align 8
  %2221 = extractvalue { ptr, i32 } %2219, 1
  store i32 %2221, ptr %37, align 4
  br label %2226

2222:                                             ; preds = %2215
  %2223 = landingpad { ptr, i32 }
          cleanup
  %2224 = extractvalue { ptr, i32 } %2223, 0
  store ptr %2224, ptr %36, align 8
  %2225 = extractvalue { ptr, i32 } %2223, 1
  store i32 %2225, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #9
  br label %2226

2226:                                             ; preds = %2222, %2218
  call void @llvm.lifetime.end.p0(i64 32, ptr %162) #9
  br label %2264

2227:                                             ; preds = %2203
  %2228 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %163) #9
  %2229 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %163, ptr noundef @.str.119, ptr noundef %2229)
          to label %2230 unwind label %2241

2230:                                             ; preds = %2227
  %2231 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2228, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %2232 unwind label %2245

2232:                                             ; preds = %2230
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #9
  %2233 = load ptr, ptr %9, align 8, !tbaa !5
  %2234 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %164) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %164, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2235 unwind label %2250

2235:                                             ; preds = %2232
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2233, ptr noundef nonnull align 8 dereferenceable(89) %2234, ptr noundef nonnull align 8 dereferenceable(32) %164)
          to label %2236 unwind label %2254

2236:                                             ; preds = %2235
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %165) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %2237 unwind label %2259

2237:                                             ; preds = %2236
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #9
  %2238 = getelementptr inbounds i8, ptr %51, i64 16
  %2239 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2238, ptr noundef @.str.182)
          to label %2240 unwind label %2196

2240:                                             ; preds = %2237
  br label %2263

2241:                                             ; preds = %2227
  %2242 = landingpad { ptr, i32 }
          cleanup
  %2243 = extractvalue { ptr, i32 } %2242, 0
  store ptr %2243, ptr %36, align 8
  %2244 = extractvalue { ptr, i32 } %2242, 1
  store i32 %2244, ptr %37, align 4
  br label %2249

2245:                                             ; preds = %2230
  %2246 = landingpad { ptr, i32 }
          cleanup
  %2247 = extractvalue { ptr, i32 } %2246, 0
  store ptr %2247, ptr %36, align 8
  %2248 = extractvalue { ptr, i32 } %2246, 1
  store i32 %2248, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #9
  br label %2249

2249:                                             ; preds = %2245, %2241
  call void @llvm.lifetime.end.p0(i64 32, ptr %163) #9
  br label %2264

2250:                                             ; preds = %2232
  %2251 = landingpad { ptr, i32 }
          cleanup
  %2252 = extractvalue { ptr, i32 } %2251, 0
  store ptr %2252, ptr %36, align 8
  %2253 = extractvalue { ptr, i32 } %2251, 1
  store i32 %2253, ptr %37, align 4
  br label %2258

2254:                                             ; preds = %2235
  %2255 = landingpad { ptr, i32 }
          cleanup
  %2256 = extractvalue { ptr, i32 } %2255, 0
  store ptr %2256, ptr %36, align 8
  %2257 = extractvalue { ptr, i32 } %2255, 1
  store i32 %2257, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  br label %2258

2258:                                             ; preds = %2254, %2250
  call void @llvm.lifetime.end.p0(i64 32, ptr %164) #9
  br label %2264

2259:                                             ; preds = %2236
  %2260 = landingpad { ptr, i32 }
          cleanup
  %2261 = extractvalue { ptr, i32 } %2260, 0
  store ptr %2261, ptr %36, align 8
  %2262 = extractvalue { ptr, i32 } %2260, 1
  store i32 %2262, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %165) #9
  br label %2264

2263:                                             ; preds = %2240, %2217
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #9
  br label %2266

2264:                                             ; preds = %2259, %2258, %2249, %2226, %2196
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  br label %2265

2265:                                             ; preds = %2264, %2192
  call void @llvm.lifetime.end.p0(i64 32, ptr %160) #9
  br label %2682

2266:                                             ; preds = %2263, %2164
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #9
  %2267 = load ptr, ptr %24, align 8, !tbaa !5
  %2268 = getelementptr inbounds %class.HighsLp, ptr %2267, i32 0, i32 3
  %2269 = load i32, ptr %152, align 4, !tbaa !34
  %2270 = sext i32 %2269 to i64
  %2271 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2268, i64 noundef %2270) #9
  %2272 = load double, ptr %2271, align 8, !tbaa !32
  store double %2272, ptr %166, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #9
  %2273 = load ptr, ptr %24, align 8, !tbaa !5
  %2274 = getelementptr inbounds %class.HighsLp, ptr %2273, i32 0, i32 4
  %2275 = load i32, ptr %152, align 4, !tbaa !34
  %2276 = sext i32 %2275 to i64
  %2277 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2274, i64 noundef %2276) #9
  %2278 = load double, ptr %2277, align 8, !tbaa !32
  store double %2278, ptr %167, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #9
  %2279 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %2280 = trunc i8 %2279 to i1
  br i1 %2280, label %2281, label %2288

2281:                                             ; preds = %2266
  %2282 = load ptr, ptr %13, align 8, !tbaa !5
  %2283 = getelementptr inbounds %struct.HighsSolution, ptr %2282, i32 0, i32 2
  %2284 = load i32, ptr %152, align 4, !tbaa !34
  %2285 = sext i32 %2284 to i64
  %2286 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2283, i64 noundef %2285) #9
  %2287 = load double, ptr %2286, align 8, !tbaa !32
  br label %2289

2288:                                             ; preds = %2266
  br label %2289

2289:                                             ; preds = %2288, %2281
  %2290 = phi double [ %2287, %2281 ], [ 0.000000e+00, %2288 ]
  store double %2290, ptr %168, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 8, ptr %169) #9
  %2291 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %2292 = trunc i8 %2291 to i1
  br i1 %2292, label %2293, label %2300

2293:                                             ; preds = %2289
  %2294 = load ptr, ptr %13, align 8, !tbaa !5
  %2295 = getelementptr inbounds %struct.HighsSolution, ptr %2294, i32 0, i32 3
  %2296 = load i32, ptr %152, align 4, !tbaa !34
  %2297 = sext i32 %2296 to i64
  %2298 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2295, i64 noundef %2297) #9
  %2299 = load double, ptr %2298, align 8, !tbaa !32
  br label %2301

2300:                                             ; preds = %2289
  br label %2301

2301:                                             ; preds = %2300, %2293
  %2302 = phi double [ %2299, %2293 ], [ 0.000000e+00, %2300 ]
  store double %2302, ptr %169, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %170) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %171) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %171)
          to label %2303 unwind label %2314

2303:                                             ; preds = %2301
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %172) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %173) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %173)
          to label %2304 unwind label %2318

2304:                                             ; preds = %2303
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %173) #9
  %2305 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %2306 = trunc i8 %2305 to i1
  br i1 %2306, label %2307, label %2384

2307:                                             ; preds = %2304
  %2308 = load ptr, ptr %12, align 8, !tbaa !5
  %2309 = getelementptr inbounds %struct.HighsBasis, ptr %2308, i32 0, i32 7
  %2310 = load i32, ptr %152, align 4, !tbaa !34
  %2311 = sext i32 %2310 to i64
  %2312 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2309, i64 noundef %2311) #9
  %2313 = load i8, ptr %2312, align 1, !tbaa !82
  switch i8 %2313, label %2378 [
    i8 1, label %2322
    i8 0, label %2331
    i8 2, label %2352
    i8 3, label %2373
  ]

2314:                                             ; preds = %2301
  %2315 = landingpad { ptr, i32 }
          cleanup
  %2316 = extractvalue { ptr, i32 } %2315, 0
  store ptr %2316, ptr %36, align 8
  %2317 = extractvalue { ptr, i32 } %2315, 1
  store i32 %2317, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %171) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %171) #9
  br label %2681

2318:                                             ; preds = %2303
  %2319 = landingpad { ptr, i32 }
          cleanup
  %2320 = extractvalue { ptr, i32 } %2319, 0
  store ptr %2320, ptr %36, align 8
  %2321 = extractvalue { ptr, i32 } %2319, 1
  store i32 %2321, ptr %37, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %173) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %173) #9
  br label %2680

2322:                                             ; preds = %2307
  %2323 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.183)
          to label %2324 unwind label %2327

2324:                                             ; preds = %2322
  %2325 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.184)
          to label %2326 unwind label %2327

2326:                                             ; preds = %2324
  br label %2383

2327:                                             ; preds = %2395, %2380, %2378, %2375, %2373, %2368, %2358, %2347, %2337, %2324, %2322
  %2328 = landingpad { ptr, i32 }
          cleanup
  %2329 = extractvalue { ptr, i32 } %2328, 0
  store ptr %2329, ptr %36, align 8
  %2330 = extractvalue { ptr, i32 } %2328, 1
  store i32 %2330, ptr %37, align 4
  br label %2679

2331:                                             ; preds = %2307
  %2332 = load double, ptr %166, align 8, !tbaa !32
  %2333 = load double, ptr %167, align 8, !tbaa !32
  %2334 = fcmp oeq double %2332, %2333
  br i1 %2334, label %2335, label %2336

2335:                                             ; preds = %2331
  br label %2337

2336:                                             ; preds = %2331
  br label %2337

2337:                                             ; preds = %2336, %2335
  %2338 = phi ptr [ @.str.185, %2335 ], [ @.str.186, %2336 ]
  %2339 = getelementptr inbounds [3 x i8], ptr %2338, i64 0, i64 0
  %2340 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef %2339)
          to label %2341 unwind label %2327

2341:                                             ; preds = %2337
  %2342 = load double, ptr %166, align 8, !tbaa !32
  %2343 = load double, ptr %167, align 8, !tbaa !32
  %2344 = fcmp oeq double %2342, %2343
  br i1 %2344, label %2345, label %2346

2345:                                             ; preds = %2341
  br label %2347

2346:                                             ; preds = %2341
  br label %2347

2347:                                             ; preds = %2346, %2345
  %2348 = phi ptr [ @.str.187, %2345 ], [ @.str.188, %2346 ]
  %2349 = getelementptr inbounds [2 x i8], ptr %2348, i64 0, i64 0
  %2350 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef %2349)
          to label %2351 unwind label %2327

2351:                                             ; preds = %2347
  br label %2383

2352:                                             ; preds = %2307
  %2353 = load double, ptr %166, align 8, !tbaa !32
  %2354 = load double, ptr %167, align 8, !tbaa !32
  %2355 = fcmp oeq double %2353, %2354
  br i1 %2355, label %2356, label %2357

2356:                                             ; preds = %2352
  br label %2358

2357:                                             ; preds = %2352
  br label %2358

2358:                                             ; preds = %2357, %2356
  %2359 = phi ptr [ @.str.185, %2356 ], [ @.str.189, %2357 ]
  %2360 = getelementptr inbounds [3 x i8], ptr %2359, i64 0, i64 0
  %2361 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef %2360)
          to label %2362 unwind label %2327

2362:                                             ; preds = %2358
  %2363 = load double, ptr %166, align 8, !tbaa !32
  %2364 = load double, ptr %167, align 8, !tbaa !32
  %2365 = fcmp oeq double %2363, %2364
  br i1 %2365, label %2366, label %2367

2366:                                             ; preds = %2362
  br label %2368

2367:                                             ; preds = %2362
  br label %2368

2368:                                             ; preds = %2367, %2366
  %2369 = phi ptr [ @.str.187, %2366 ], [ @.str.153, %2367 ]
  %2370 = getelementptr inbounds [2 x i8], ptr %2369, i64 0, i64 0
  %2371 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef %2370)
          to label %2372 unwind label %2327

2372:                                             ; preds = %2368
  br label %2383

2373:                                             ; preds = %2307
  %2374 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.190)
          to label %2375 unwind label %2327

2375:                                             ; preds = %2373
  %2376 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.155)
          to label %2377 unwind label %2327

2377:                                             ; preds = %2375
  br label %2383

2378:                                             ; preds = %2307
  %2379 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.191)
          to label %2380 unwind label %2327

2380:                                             ; preds = %2378
  %2381 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %172, ptr noundef @.str.145)
          to label %2382 unwind label %2327

2382:                                             ; preds = %2380
  br label %2383

2383:                                             ; preds = %2382, %2377, %2372, %2351, %2326
  br label %2400

2384:                                             ; preds = %2304
  %2385 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %2386 = trunc i8 %2385 to i1
  br i1 %2386, label %2387, label %2399

2387:                                             ; preds = %2384
  %2388 = load ptr, ptr %24, align 8, !tbaa !5
  %2389 = getelementptr inbounds %class.HighsLp, ptr %2388, i32 0, i32 16
  %2390 = load i32, ptr %152, align 4, !tbaa !34
  %2391 = sext i32 %2390 to i64
  %2392 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2389, i64 noundef %2391) #9
  %2393 = load i8, ptr %2392, align 1, !tbaa !73
  %2394 = icmp ne i8 %2393, 0
  br i1 %2394, label %2395, label %2398

2395:                                             ; preds = %2387
  %2396 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %170, ptr noundef @.str.201)
          to label %2397 unwind label %2327

2397:                                             ; preds = %2395
  br label %2398

2398:                                             ; preds = %2397, %2387
  br label %2399

2399:                                             ; preds = %2398, %2384
  br label %2400

2400:                                             ; preds = %2399, %2383
  %2401 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %2402 = trunc i8 %2401 to i1
  br i1 %2402, label %2403, label %2451

2403:                                             ; preds = %2400
  %2404 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %174) #9
  %2405 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %172) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %174, ptr noundef @.str.192, ptr noundef %2405)
          to label %2406 unwind label %2428

2406:                                             ; preds = %2403
  %2407 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2404, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %2408 unwind label %2432

2408:                                             ; preds = %2406
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #9
  %2409 = load i8, ptr %17, align 1, !tbaa !11, !range !19, !noundef !20
  %2410 = trunc i8 %2409 to i1
  br i1 %2410, label %2411, label %2418

2411:                                             ; preds = %2408
  %2412 = load ptr, ptr %13, align 8, !tbaa !5
  %2413 = getelementptr inbounds %struct.HighsSolution, ptr %2412, i32 0, i32 2
  %2414 = load i32, ptr %152, align 4, !tbaa !34
  %2415 = sext i32 %2414 to i64
  %2416 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2413, i64 noundef %2415) #9
  %2417 = load double, ptr %2416, align 8, !tbaa !32
  br label %2419

2418:                                             ; preds = %2408
  br label %2419

2419:                                             ; preds = %2418, %2411
  %2420 = phi double [ %2417, %2411 ], [ 0.000000e+00, %2418 ]
  store double %2420, ptr %175, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %176) #9
  %2421 = load double, ptr %175, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %176, double noundef %2421, double noundef 1.000000e-13)
          to label %2422 unwind label %2437

2422:                                             ; preds = %2419
  %2423 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %177) #9
  %2424 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %176) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %177, ptr noundef @.str.192, ptr noundef %2424)
          to label %2425 unwind label %2441

2425:                                             ; preds = %2422
  %2426 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2423, ptr noundef nonnull align 8 dereferenceable(32) %177)
          to label %2427 unwind label %2445

2427:                                             ; preds = %2425
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #9
  br label %2560

2428:                                             ; preds = %2403
  %2429 = landingpad { ptr, i32 }
          cleanup
  %2430 = extractvalue { ptr, i32 } %2429, 0
  store ptr %2430, ptr %36, align 8
  %2431 = extractvalue { ptr, i32 } %2429, 1
  store i32 %2431, ptr %37, align 4
  br label %2436

2432:                                             ; preds = %2406
  %2433 = landingpad { ptr, i32 }
          cleanup
  %2434 = extractvalue { ptr, i32 } %2433, 0
  store ptr %2434, ptr %36, align 8
  %2435 = extractvalue { ptr, i32 } %2433, 1
  store i32 %2435, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  br label %2436

2436:                                             ; preds = %2432, %2428
  call void @llvm.lifetime.end.p0(i64 32, ptr %174) #9
  br label %2679

2437:                                             ; preds = %2419
  %2438 = landingpad { ptr, i32 }
          cleanup
  %2439 = extractvalue { ptr, i32 } %2438, 0
  store ptr %2439, ptr %36, align 8
  %2440 = extractvalue { ptr, i32 } %2438, 1
  store i32 %2440, ptr %37, align 4
  br label %2450

2441:                                             ; preds = %2422
  %2442 = landingpad { ptr, i32 }
          cleanup
  %2443 = extractvalue { ptr, i32 } %2442, 0
  store ptr %2443, ptr %36, align 8
  %2444 = extractvalue { ptr, i32 } %2442, 1
  store i32 %2444, ptr %37, align 4
  br label %2449

2445:                                             ; preds = %2425
  %2446 = landingpad { ptr, i32 }
          cleanup
  %2447 = extractvalue { ptr, i32 } %2446, 0
  store ptr %2447, ptr %36, align 8
  %2448 = extractvalue { ptr, i32 } %2446, 1
  store i32 %2448, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %177) #9
  br label %2449

2449:                                             ; preds = %2445, %2441
  call void @llvm.lifetime.end.p0(i64 32, ptr %177) #9
  br label %2450

2450:                                             ; preds = %2449, %2437
  call void @llvm.lifetime.end.p0(i64 32, ptr %176) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #9
  br label %2679

2451:                                             ; preds = %2400
  %2452 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %178) #9
  %2453 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %178, ptr noundef @.str.192, ptr noundef %2453)
          to label %2454 unwind label %2477

2454:                                             ; preds = %2451
  %2455 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2452, ptr noundef nonnull align 8 dereferenceable(32) %178)
          to label %2456 unwind label %2481

2456:                                             ; preds = %2454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #9
  %2457 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %179) #9
  %2458 = load double, ptr %168, align 8, !tbaa !32
  %2459 = call double @llvm.fabs.f64(double %2458)
  %2460 = fcmp ole double %2459, 1.000000e-09
  br i1 %2460, label %2461, label %2462

2461:                                             ; preds = %2456
  br label %2464

2462:                                             ; preds = %2456
  %2463 = load double, ptr %168, align 8, !tbaa !32
  br label %2464

2464:                                             ; preds = %2462, %2461
  %2465 = phi double [ 0.000000e+00, %2461 ], [ %2463, %2462 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %179, ptr noundef @.str.193, double noundef %2465)
          to label %2466 unwind label %2486

2466:                                             ; preds = %2464
  %2467 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2457, ptr noundef nonnull align 8 dereferenceable(32) %179)
          to label %2468 unwind label %2490

2468:                                             ; preds = %2466
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #9
  %2469 = load double, ptr %166, align 8, !tbaa !32
  %2470 = fcmp ogt double %2469, 0xFFF0000000000000
  br i1 %2470, label %2471, label %2504

2471:                                             ; preds = %2468
  %2472 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %180) #9
  %2473 = load double, ptr %166, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %180, ptr noundef @.str.193, double noundef %2473)
          to label %2474 unwind label %2495

2474:                                             ; preds = %2471
  %2475 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2472, ptr noundef nonnull align 8 dereferenceable(32) %180)
          to label %2476 unwind label %2499

2476:                                             ; preds = %2474
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #9
  br label %2518

2477:                                             ; preds = %2451
  %2478 = landingpad { ptr, i32 }
          cleanup
  %2479 = extractvalue { ptr, i32 } %2478, 0
  store ptr %2479, ptr %36, align 8
  %2480 = extractvalue { ptr, i32 } %2478, 1
  store i32 %2480, ptr %37, align 4
  br label %2485

2481:                                             ; preds = %2454
  %2482 = landingpad { ptr, i32 }
          cleanup
  %2483 = extractvalue { ptr, i32 } %2482, 0
  store ptr %2483, ptr %36, align 8
  %2484 = extractvalue { ptr, i32 } %2482, 1
  store i32 %2484, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %178) #9
  br label %2485

2485:                                             ; preds = %2481, %2477
  call void @llvm.lifetime.end.p0(i64 32, ptr %178) #9
  br label %2679

2486:                                             ; preds = %2464
  %2487 = landingpad { ptr, i32 }
          cleanup
  %2488 = extractvalue { ptr, i32 } %2487, 0
  store ptr %2488, ptr %36, align 8
  %2489 = extractvalue { ptr, i32 } %2487, 1
  store i32 %2489, ptr %37, align 4
  br label %2494

2490:                                             ; preds = %2466
  %2491 = landingpad { ptr, i32 }
          cleanup
  %2492 = extractvalue { ptr, i32 } %2491, 0
  store ptr %2492, ptr %36, align 8
  %2493 = extractvalue { ptr, i32 } %2491, 1
  store i32 %2493, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %179) #9
  br label %2494

2494:                                             ; preds = %2490, %2486
  call void @llvm.lifetime.end.p0(i64 32, ptr %179) #9
  br label %2679

2495:                                             ; preds = %2471
  %2496 = landingpad { ptr, i32 }
          cleanup
  %2497 = extractvalue { ptr, i32 } %2496, 0
  store ptr %2497, ptr %36, align 8
  %2498 = extractvalue { ptr, i32 } %2496, 1
  store i32 %2498, ptr %37, align 4
  br label %2503

2499:                                             ; preds = %2474
  %2500 = landingpad { ptr, i32 }
          cleanup
  %2501 = extractvalue { ptr, i32 } %2500, 0
  store ptr %2501, ptr %36, align 8
  %2502 = extractvalue { ptr, i32 } %2500, 1
  store i32 %2502, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %180) #9
  br label %2503

2503:                                             ; preds = %2499, %2495
  call void @llvm.lifetime.end.p0(i64 32, ptr %180) #9
  br label %2679

2504:                                             ; preds = %2468
  %2505 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %181) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %181, ptr noundef @.str.194, ptr noundef @.str.9)
          to label %2506 unwind label %2509

2506:                                             ; preds = %2504
  %2507 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2505, ptr noundef nonnull align 8 dereferenceable(32) %181)
          to label %2508 unwind label %2513

2508:                                             ; preds = %2506
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #9
  br label %2518

2509:                                             ; preds = %2504
  %2510 = landingpad { ptr, i32 }
          cleanup
  %2511 = extractvalue { ptr, i32 } %2510, 0
  store ptr %2511, ptr %36, align 8
  %2512 = extractvalue { ptr, i32 } %2510, 1
  store i32 %2512, ptr %37, align 4
  br label %2517

2513:                                             ; preds = %2506
  %2514 = landingpad { ptr, i32 }
          cleanup
  %2515 = extractvalue { ptr, i32 } %2514, 0
  store ptr %2515, ptr %36, align 8
  %2516 = extractvalue { ptr, i32 } %2514, 1
  store i32 %2516, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %181) #9
  br label %2517

2517:                                             ; preds = %2513, %2509
  call void @llvm.lifetime.end.p0(i64 32, ptr %181) #9
  br label %2679

2518:                                             ; preds = %2508, %2476
  %2519 = load double, ptr %166, align 8, !tbaa !32
  %2520 = load double, ptr %167, align 8, !tbaa !32
  %2521 = fcmp une double %2519, %2520
  br i1 %2521, label %2522, label %2540

2522:                                             ; preds = %2518
  %2523 = load double, ptr %167, align 8, !tbaa !32
  %2524 = fcmp olt double %2523, 0x7FF0000000000000
  br i1 %2524, label %2525, label %2540

2525:                                             ; preds = %2522
  %2526 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %182) #9
  %2527 = load double, ptr %167, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %182, ptr noundef @.str.193, double noundef %2527)
          to label %2528 unwind label %2531

2528:                                             ; preds = %2525
  %2529 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2526, ptr noundef nonnull align 8 dereferenceable(32) %182)
          to label %2530 unwind label %2535

2530:                                             ; preds = %2528
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #9
  br label %2559

2531:                                             ; preds = %2525
  %2532 = landingpad { ptr, i32 }
          cleanup
  %2533 = extractvalue { ptr, i32 } %2532, 0
  store ptr %2533, ptr %36, align 8
  %2534 = extractvalue { ptr, i32 } %2532, 1
  store i32 %2534, ptr %37, align 4
  br label %2539

2535:                                             ; preds = %2528
  %2536 = landingpad { ptr, i32 }
          cleanup
  %2537 = extractvalue { ptr, i32 } %2536, 0
  store ptr %2537, ptr %36, align 8
  %2538 = extractvalue { ptr, i32 } %2536, 1
  store i32 %2538, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %182) #9
  br label %2539

2539:                                             ; preds = %2535, %2531
  call void @llvm.lifetime.end.p0(i64 32, ptr %182) #9
  br label %2679

2540:                                             ; preds = %2522, %2518
  %2541 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %183) #9
  %2542 = load double, ptr %166, align 8, !tbaa !32
  %2543 = load double, ptr %167, align 8, !tbaa !32
  %2544 = fcmp oeq double %2542, %2543
  %2545 = zext i1 %2544 to i64
  %2546 = select i1 %2544, ptr @.str.195, ptr @.str.9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %183, ptr noundef @.str.194, ptr noundef %2546)
          to label %2547 unwind label %2550

2547:                                             ; preds = %2540
  %2548 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2541, ptr noundef nonnull align 8 dereferenceable(32) %183)
          to label %2549 unwind label %2554

2549:                                             ; preds = %2547
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #9
  br label %2559

2550:                                             ; preds = %2540
  %2551 = landingpad { ptr, i32 }
          cleanup
  %2552 = extractvalue { ptr, i32 } %2551, 0
  store ptr %2552, ptr %36, align 8
  %2553 = extractvalue { ptr, i32 } %2551, 1
  store i32 %2553, ptr %37, align 4
  br label %2558

2554:                                             ; preds = %2547
  %2555 = landingpad { ptr, i32 }
          cleanup
  %2556 = extractvalue { ptr, i32 } %2555, 0
  store ptr %2556, ptr %36, align 8
  %2557 = extractvalue { ptr, i32 } %2555, 1
  store i32 %2557, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %183) #9
  br label %2558

2558:                                             ; preds = %2554, %2550
  call void @llvm.lifetime.end.p0(i64 32, ptr %183) #9
  br label %2679

2559:                                             ; preds = %2549, %2530
  br label %2560

2560:                                             ; preds = %2559, %2427
  %2561 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %2562 = trunc i8 %2561 to i1
  br i1 %2562, label %2563, label %2649

2563:                                             ; preds = %2560
  %2564 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %2565 = trunc i8 %2564 to i1
  br i1 %2565, label %2566, label %2594

2566:                                             ; preds = %2563
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #9
  %2567 = load ptr, ptr %13, align 8, !tbaa !5
  %2568 = getelementptr inbounds %struct.HighsSolution, ptr %2567, i32 0, i32 3
  %2569 = load i32, ptr %152, align 4, !tbaa !34
  %2570 = sext i32 %2569 to i64
  %2571 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2568, i64 noundef %2570) #9
  %2572 = load double, ptr %2571, align 8, !tbaa !32
  store double %2572, ptr %184, align 8, !tbaa !32
  call void @llvm.lifetime.start.p0(i64 32, ptr %185) #9
  %2573 = load double, ptr %184, align 8, !tbaa !32
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1 %185, double noundef %2573, double noundef 1.000000e-13)
          to label %2574 unwind label %2580

2574:                                             ; preds = %2566
  %2575 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %186) #9
  %2576 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %185) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %186, ptr noundef @.str.171, ptr noundef %2576)
          to label %2577 unwind label %2584

2577:                                             ; preds = %2574
  %2578 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2575, ptr noundef nonnull align 8 dereferenceable(32) %186)
          to label %2579 unwind label %2588

2579:                                             ; preds = %2577
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #9
  br label %2648

2580:                                             ; preds = %2566
  %2581 = landingpad { ptr, i32 }
          cleanup
  %2582 = extractvalue { ptr, i32 } %2581, 0
  store ptr %2582, ptr %36, align 8
  %2583 = extractvalue { ptr, i32 } %2581, 1
  store i32 %2583, ptr %37, align 4
  br label %2593

2584:                                             ; preds = %2574
  %2585 = landingpad { ptr, i32 }
          cleanup
  %2586 = extractvalue { ptr, i32 } %2585, 0
  store ptr %2586, ptr %36, align 8
  %2587 = extractvalue { ptr, i32 } %2585, 1
  store i32 %2587, ptr %37, align 4
  br label %2592

2588:                                             ; preds = %2577
  %2589 = landingpad { ptr, i32 }
          cleanup
  %2590 = extractvalue { ptr, i32 } %2589, 0
  store ptr %2590, ptr %36, align 8
  %2591 = extractvalue { ptr, i32 } %2589, 1
  store i32 %2591, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %186) #9
  br label %2592

2592:                                             ; preds = %2588, %2584
  call void @llvm.lifetime.end.p0(i64 32, ptr %186) #9
  br label %2593

2593:                                             ; preds = %2592, %2580
  call void @llvm.lifetime.end.p0(i64 32, ptr %185) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #9
  br label %2679

2594:                                             ; preds = %2563
  call void @llvm.lifetime.start.p0(i64 1, ptr %187) #9
  %2595 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %2596 = trunc i8 %2595 to i1
  %2597 = zext i1 %2596 to i8
  store i8 %2597, ptr %187, align 1, !tbaa !11
  %2598 = load i8, ptr %19, align 1, !tbaa !11, !range !19, !noundef !20
  %2599 = trunc i8 %2598 to i1
  br i1 %2599, label %2600, label %2609

2600:                                             ; preds = %2594
  %2601 = load ptr, ptr %12, align 8, !tbaa !5
  %2602 = getelementptr inbounds %struct.HighsBasis, ptr %2601, i32 0, i32 7
  %2603 = load i32, ptr %152, align 4, !tbaa !34
  %2604 = sext i32 %2603 to i64
  %2605 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %2602, i64 noundef %2604) #9
  %2606 = load i8, ptr %2605, align 1, !tbaa !82
  %2607 = icmp ne i8 %2606, 1
  %2608 = zext i1 %2607 to i8
  store i8 %2608, ptr %187, align 1, !tbaa !11
  br label %2609

2609:                                             ; preds = %2600, %2594
  %2610 = load i8, ptr %187, align 1, !tbaa !11, !range !19, !noundef !20
  %2611 = trunc i8 %2610 to i1
  br i1 %2611, label %2612, label %2646

2612:                                             ; preds = %2609
  %2613 = load double, ptr %169, align 8, !tbaa !32
  %2614 = call double @llvm.fabs.f64(double %2613)
  %2615 = fcmp ole double %2614, 1.000000e-09
  br i1 %2615, label %2616, label %2630

2616:                                             ; preds = %2612
  %2617 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %188) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %188, ptr noundef @.str.196, ptr noundef @.str.197)
          to label %2618 unwind label %2621

2618:                                             ; preds = %2616
  %2619 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2617, ptr noundef nonnull align 8 dereferenceable(32) %188)
          to label %2620 unwind label %2625

2620:                                             ; preds = %2618
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #9
  br label %2645

2621:                                             ; preds = %2616
  %2622 = landingpad { ptr, i32 }
          cleanup
  %2623 = extractvalue { ptr, i32 } %2622, 0
  store ptr %2623, ptr %36, align 8
  %2624 = extractvalue { ptr, i32 } %2622, 1
  store i32 %2624, ptr %37, align 4
  br label %2629

2625:                                             ; preds = %2618
  %2626 = landingpad { ptr, i32 }
          cleanup
  %2627 = extractvalue { ptr, i32 } %2626, 0
  store ptr %2627, ptr %36, align 8
  %2628 = extractvalue { ptr, i32 } %2626, 1
  store i32 %2628, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %188) #9
  br label %2629

2629:                                             ; preds = %2625, %2621
  call void @llvm.lifetime.end.p0(i64 32, ptr %188) #9
  br label %2647

2630:                                             ; preds = %2612
  %2631 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %189) #9
  %2632 = load double, ptr %169, align 8, !tbaa !32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %189, ptr noundef @.str.193, double noundef %2632)
          to label %2633 unwind label %2636

2633:                                             ; preds = %2630
  %2634 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2631, ptr noundef nonnull align 8 dereferenceable(32) %189)
          to label %2635 unwind label %2640

2635:                                             ; preds = %2633
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #9
  br label %2645

2636:                                             ; preds = %2630
  %2637 = landingpad { ptr, i32 }
          cleanup
  %2638 = extractvalue { ptr, i32 } %2637, 0
  store ptr %2638, ptr %36, align 8
  %2639 = extractvalue { ptr, i32 } %2637, 1
  store i32 %2639, ptr %37, align 4
  br label %2644

2640:                                             ; preds = %2633
  %2641 = landingpad { ptr, i32 }
          cleanup
  %2642 = extractvalue { ptr, i32 } %2641, 0
  store ptr %2642, ptr %36, align 8
  %2643 = extractvalue { ptr, i32 } %2641, 1
  store i32 %2643, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %189) #9
  br label %2644

2644:                                             ; preds = %2640, %2636
  call void @llvm.lifetime.end.p0(i64 32, ptr %189) #9
  br label %2647

2645:                                             ; preds = %2635, %2620
  br label %2646

2646:                                             ; preds = %2645, %2609
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #9
  br label %2648

2647:                                             ; preds = %2644, %2629
  call void @llvm.lifetime.end.p0(i64 1, ptr %187) #9
  br label %2679

2648:                                             ; preds = %2646, %2579
  br label %2649

2649:                                             ; preds = %2648, %2560
  %2650 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %190) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %190, ptr noundef @.str.82)
          to label %2651 unwind label %2661

2651:                                             ; preds = %2649
  %2652 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2650, ptr noundef nonnull align 8 dereferenceable(32) %190)
          to label %2653 unwind label %2665

2653:                                             ; preds = %2651
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #9
  %2654 = load ptr, ptr %9, align 8, !tbaa !5
  %2655 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %191) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %191, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2656 unwind label %2670

2656:                                             ; preds = %2653
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2654, ptr noundef nonnull align 8 dereferenceable(89) %2655, ptr noundef nonnull align 8 dereferenceable(32) %191)
          to label %2657 unwind label %2674

2657:                                             ; preds = %2656
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #9
  br label %2658

2658:                                             ; preds = %2657, %2127
  %2659 = load i32, ptr %152, align 4, !tbaa !34
  %2660 = add nsw i32 %2659, 1
  store i32 %2660, ptr %152, align 4, !tbaa !34
  br label %2083, !llvm.loop !85

2661:                                             ; preds = %2649
  %2662 = landingpad { ptr, i32 }
          cleanup
  %2663 = extractvalue { ptr, i32 } %2662, 0
  store ptr %2663, ptr %36, align 8
  %2664 = extractvalue { ptr, i32 } %2662, 1
  store i32 %2664, ptr %37, align 4
  br label %2669

2665:                                             ; preds = %2651
  %2666 = landingpad { ptr, i32 }
          cleanup
  %2667 = extractvalue { ptr, i32 } %2666, 0
  store ptr %2667, ptr %36, align 8
  %2668 = extractvalue { ptr, i32 } %2666, 1
  store i32 %2668, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %190) #9
  br label %2669

2669:                                             ; preds = %2665, %2661
  call void @llvm.lifetime.end.p0(i64 32, ptr %190) #9
  br label %2679

2670:                                             ; preds = %2653
  %2671 = landingpad { ptr, i32 }
          cleanup
  %2672 = extractvalue { ptr, i32 } %2671, 0
  store ptr %2672, ptr %36, align 8
  %2673 = extractvalue { ptr, i32 } %2671, 1
  store i32 %2673, ptr %37, align 4
  br label %2678

2674:                                             ; preds = %2656
  %2675 = landingpad { ptr, i32 }
          cleanup
  %2676 = extractvalue { ptr, i32 } %2675, 0
  store ptr %2676, ptr %36, align 8
  %2677 = extractvalue { ptr, i32 } %2675, 1
  store i32 %2677, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %191) #9
  br label %2678

2678:                                             ; preds = %2674, %2670
  call void @llvm.lifetime.end.p0(i64 32, ptr %191) #9
  br label %2679

2679:                                             ; preds = %2678, %2669, %2647, %2593, %2558, %2539, %2517, %2503, %2494, %2485, %2450, %2436, %2327
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #9
  br label %2680

2680:                                             ; preds = %2679, %2318
  call void @llvm.lifetime.end.p0(i64 32, ptr %172) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  br label %2681

2681:                                             ; preds = %2680, %2314
  call void @llvm.lifetime.end.p0(i64 32, ptr %170) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %169) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #9
  br label %2682

2682:                                             ; preds = %2681, %2265, %2191, %2163, %2140, %2128
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %3450

2683:                                             ; preds = %2089
  %2684 = load i8, ptr %16, align 1, !tbaa !11, !range !19, !noundef !20
  %2685 = trunc i8 %2684 to i1
  br i1 %2685, label %2686, label %2700

2686:                                             ; preds = %2683
  %2687 = load ptr, ptr %9, align 8, !tbaa !5
  %2688 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %192) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %192, ptr noundef @.str.202, ptr noundef nonnull align 1 dereferenceable(1) %193)
          to label %2689 unwind label %2691

2689:                                             ; preds = %2686
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2687, ptr noundef nonnull align 8 dereferenceable(89) %2688, ptr noundef nonnull align 8 dereferenceable(32) %192)
          to label %2690 unwind label %2695

2690:                                             ; preds = %2689
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #9
  store i32 1, ptr %63, align 4
  br label %3433

2691:                                             ; preds = %2686
  %2692 = landingpad { ptr, i32 }
          cleanup
  %2693 = extractvalue { ptr, i32 } %2692, 0
  store ptr %2693, ptr %36, align 8
  %2694 = extractvalue { ptr, i32 } %2692, 1
  store i32 %2694, ptr %37, align 4
  br label %2699

2695:                                             ; preds = %2689
  %2696 = landingpad { ptr, i32 }
          cleanup
  %2697 = extractvalue { ptr, i32 } %2696, 0
  store ptr %2697, ptr %36, align 8
  %2698 = extractvalue { ptr, i32 } %2696, 1
  store i32 %2698, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %192) #9
  br label %2699

2699:                                             ; preds = %2695, %2691
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %193) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %192) #9
  br label %3450

2700:                                             ; preds = %2683
  call void @llvm.lifetime.start.p0(i64 208, ptr %194) #9
  call void @llvm.lifetime.start.p0(i64 184, ptr %195) #9
  invoke void @_ZN9HighsInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %195)
          to label %2701 unwind label %2718

2701:                                             ; preds = %2700
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #9
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #9
  %2702 = load ptr, ptr %10, align 8, !tbaa !5
  %2703 = load ptr, ptr %11, align 8, !tbaa !5
  %2704 = load ptr, ptr %13, align 8, !tbaa !5
  %2705 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_Z14getKktFailuresRK12HighsOptionsRK10HighsModelRK13HighsSolutionRK10HighsBasisR9HighsInfoR21HighsPrimalDualErrorsb(ptr noundef nonnull align 8 dereferenceable(1020) %2702, ptr noundef nonnull align 8 dereferenceable(1000) %2703, ptr noundef nonnull align 8 dereferenceable(104) %2704, ptr noundef nonnull align 8 dereferenceable(96) %2705, ptr noundef nonnull align 8 dereferenceable(184) %195, ptr noundef nonnull align 8 dereferenceable(208) %194, i1 noundef zeroext true)
          to label %2706 unwind label %2722

2706:                                             ; preds = %2701
  %2707 = load ptr, ptr %9, align 8, !tbaa !5
  %2708 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %200) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %201) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %200, ptr noundef @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %201)
          to label %2709 unwind label %2726

2709:                                             ; preds = %2706
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2707, ptr noundef nonnull align 8 dereferenceable(89) %2708, ptr noundef nonnull align 8 dereferenceable(32) %200)
          to label %2710 unwind label %2730

2710:                                             ; preds = %2709
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #9
  %2711 = load i8, ptr %45, align 1, !tbaa !11, !range !19, !noundef !20
  %2712 = trunc i8 %2711 to i1
  br i1 %2712, label %2713, label %2744

2713:                                             ; preds = %2710
  %2714 = load ptr, ptr %9, align 8, !tbaa !5
  %2715 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %202) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %203) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %202, ptr noundef @.str.203, ptr noundef nonnull align 1 dereferenceable(1) %203)
          to label %2716 unwind label %2735

2716:                                             ; preds = %2713
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2714, ptr noundef nonnull align 8 dereferenceable(89) %2715, ptr noundef nonnull align 8 dereferenceable(32) %202)
          to label %2717 unwind label %2739

2717:                                             ; preds = %2716
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #9
  br label %2758

2718:                                             ; preds = %2700
  %2719 = landingpad { ptr, i32 }
          cleanup
  %2720 = extractvalue { ptr, i32 } %2719, 0
  store ptr %2720, ptr %36, align 8
  %2721 = extractvalue { ptr, i32 } %2719, 1
  store i32 %2721, ptr %37, align 4
  br label %3449

2722:                                             ; preds = %2848, %2701
  %2723 = landingpad { ptr, i32 }
          cleanup
  %2724 = extractvalue { ptr, i32 } %2723, 0
  store ptr %2724, ptr %36, align 8
  %2725 = extractvalue { ptr, i32 } %2723, 1
  store i32 %2725, ptr %37, align 4
  br label %3448

2726:                                             ; preds = %2706
  %2727 = landingpad { ptr, i32 }
          cleanup
  %2728 = extractvalue { ptr, i32 } %2727, 0
  store ptr %2728, ptr %36, align 8
  %2729 = extractvalue { ptr, i32 } %2727, 1
  store i32 %2729, ptr %37, align 4
  br label %2734

2730:                                             ; preds = %2709
  %2731 = landingpad { ptr, i32 }
          cleanup
  %2732 = extractvalue { ptr, i32 } %2731, 0
  store ptr %2732, ptr %36, align 8
  %2733 = extractvalue { ptr, i32 } %2731, 1
  store i32 %2733, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %200) #9
  br label %2734

2734:                                             ; preds = %2730, %2726
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %201) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %201) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %200) #9
  br label %3448

2735:                                             ; preds = %2713
  %2736 = landingpad { ptr, i32 }
          cleanup
  %2737 = extractvalue { ptr, i32 } %2736, 0
  store ptr %2737, ptr %36, align 8
  %2738 = extractvalue { ptr, i32 } %2736, 1
  store i32 %2738, ptr %37, align 4
  br label %2743

2739:                                             ; preds = %2716
  %2740 = landingpad { ptr, i32 }
          cleanup
  %2741 = extractvalue { ptr, i32 } %2740, 0
  store ptr %2741, ptr %36, align 8
  %2742 = extractvalue { ptr, i32 } %2740, 1
  store i32 %2742, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %202) #9
  br label %2743

2743:                                             ; preds = %2739, %2735
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %203) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %203) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %202) #9
  br label %3448

2744:                                             ; preds = %2710
  %2745 = load ptr, ptr %9, align 8, !tbaa !5
  %2746 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %204) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %205) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %205) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %204, ptr noundef @.str.204, ptr noundef nonnull align 1 dereferenceable(1) %205)
          to label %2747 unwind label %2749

2747:                                             ; preds = %2744
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2745, ptr noundef nonnull align 8 dereferenceable(89) %2746, ptr noundef nonnull align 8 dereferenceable(32) %204)
          to label %2748 unwind label %2753

2748:                                             ; preds = %2747
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %205) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %205) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #9
  br label %2758

2749:                                             ; preds = %2744
  %2750 = landingpad { ptr, i32 }
          cleanup
  %2751 = extractvalue { ptr, i32 } %2750, 0
  store ptr %2751, ptr %36, align 8
  %2752 = extractvalue { ptr, i32 } %2750, 1
  store i32 %2752, ptr %37, align 4
  br label %2757

2753:                                             ; preds = %2747
  %2754 = landingpad { ptr, i32 }
          cleanup
  %2755 = extractvalue { ptr, i32 } %2754, 0
  store ptr %2755, ptr %36, align 8
  %2756 = extractvalue { ptr, i32 } %2754, 1
  store i32 %2756, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %204) #9
  br label %2757

2757:                                             ; preds = %2753, %2749
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %205) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %205) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %204) #9
  br label %3448

2758:                                             ; preds = %2748, %2717
  %2759 = load ptr, ptr %9, align 8, !tbaa !5
  %2760 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %206) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %207) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %206, ptr noundef @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %207)
          to label %2761 unwind label %2780

2761:                                             ; preds = %2758
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2759, ptr noundef nonnull align 8 dereferenceable(89) %2760, ptr noundef nonnull align 8 dereferenceable(32) %206)
          to label %2762 unwind label %2784

2762:                                             ; preds = %2761
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #9
  %2763 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 11
  %2764 = getelementptr inbounds %struct.HighsError, ptr %2763, i32 0, i32 0
  %2765 = load double, ptr %2764, align 8, !tbaa !86
  store double %2765, ptr %197, align 8, !tbaa !32
  %2766 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 11
  %2767 = getelementptr inbounds %struct.HighsError, ptr %2766, i32 0, i32 1
  %2768 = load i32, ptr %2767, align 8, !tbaa !89
  %2769 = add nsw i32 %2768, 1
  store i32 %2769, ptr %196, align 4, !tbaa !34
  %2770 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 11
  %2771 = getelementptr inbounds %struct.HighsError, ptr %2770, i32 0, i32 2
  %2772 = load double, ptr %2771, align 8, !tbaa !90
  store double %2772, ptr %199, align 8, !tbaa !32
  %2773 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 11
  %2774 = getelementptr inbounds %struct.HighsError, ptr %2773, i32 0, i32 3
  %2775 = load i32, ptr %2774, align 8, !tbaa !91
  %2776 = add nsw i32 %2775, 1
  store i32 %2776, ptr %198, align 4, !tbaa !34
  %2777 = load double, ptr %197, align 8, !tbaa !32
  %2778 = fcmp une double %2777, 0.000000e+00
  br i1 %2778, label %2789, label %2779

2779:                                             ; preds = %2762
  store i32 0, ptr %196, align 4, !tbaa !34
  br label %2789

2780:                                             ; preds = %2758
  %2781 = landingpad { ptr, i32 }
          cleanup
  %2782 = extractvalue { ptr, i32 } %2781, 0
  store ptr %2782, ptr %36, align 8
  %2783 = extractvalue { ptr, i32 } %2781, 1
  store i32 %2783, ptr %37, align 4
  br label %2788

2784:                                             ; preds = %2761
  %2785 = landingpad { ptr, i32 }
          cleanup
  %2786 = extractvalue { ptr, i32 } %2785, 0
  store ptr %2786, ptr %36, align 8
  %2787 = extractvalue { ptr, i32 } %2785, 1
  store i32 %2787, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %206) #9
  br label %2788

2788:                                             ; preds = %2784, %2780
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %207) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %207) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %206) #9
  br label %3448

2789:                                             ; preds = %2779, %2762
  %2790 = load double, ptr %199, align 8, !tbaa !32
  %2791 = fcmp une double %2790, 0.000000e+00
  br i1 %2791, label %2793, label %2792

2792:                                             ; preds = %2789
  store i32 0, ptr %198, align 4, !tbaa !34
  br label %2793

2793:                                             ; preds = %2792, %2789
  call void @llvm.lifetime.start.p0(i64 32, ptr %208) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %208)
          to label %2794 unwind label %2873

2794:                                             ; preds = %2793
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #9
  %2795 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %209) #9
  %2796 = load double, ptr %197, align 8, !tbaa !32
  %2797 = load i32, ptr %196, align 4, !tbaa !34
  %2798 = icmp eq i32 %2797, 0
  br i1 %2798, label %2799, label %2800

2799:                                             ; preds = %2794
  br label %2802

2800:                                             ; preds = %2794
  %2801 = load i32, ptr %196, align 4, !tbaa !34
  br label %2802

2802:                                             ; preds = %2800, %2799
  %2803 = phi i32 [ 0, %2799 ], [ %2801, %2800 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %209, ptr noundef @.str.205, double noundef %2796, i32 noundef %2803)
          to label %2804 unwind label %2877

2804:                                             ; preds = %2802
  %2805 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2795, ptr noundef nonnull align 8 dereferenceable(32) %209)
          to label %2806 unwind label %2881

2806:                                             ; preds = %2804
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #9
  %2807 = load ptr, ptr %9, align 8, !tbaa !5
  %2808 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %210) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %210, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2809 unwind label %2886

2809:                                             ; preds = %2806
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2807, ptr noundef nonnull align 8 dereferenceable(89) %2808, ptr noundef nonnull align 8 dereferenceable(32) %210)
          to label %2810 unwind label %2890

2810:                                             ; preds = %2809
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %210) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %211) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %211)
          to label %2811 unwind label %2895

2811:                                             ; preds = %2810
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #9
  %2812 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %212) #9
  %2813 = load double, ptr %199, align 8, !tbaa !32
  %2814 = load i32, ptr %196, align 4, !tbaa !34
  %2815 = icmp eq i32 %2814, 0
  br i1 %2815, label %2816, label %2817

2816:                                             ; preds = %2811
  br label %2819

2817:                                             ; preds = %2811
  %2818 = load i32, ptr %198, align 4, !tbaa !34
  br label %2819

2819:                                             ; preds = %2817, %2816
  %2820 = phi i32 [ 0, %2816 ], [ %2818, %2817 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %212, ptr noundef @.str.206, double noundef %2813, i32 noundef %2820)
          to label %2821 unwind label %2899

2821:                                             ; preds = %2819
  %2822 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2812, ptr noundef nonnull align 8 dereferenceable(32) %212)
          to label %2823 unwind label %2903

2823:                                             ; preds = %2821
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #9
  %2824 = load ptr, ptr %9, align 8, !tbaa !5
  %2825 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %213) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %213, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2826 unwind label %2908

2826:                                             ; preds = %2823
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2824, ptr noundef nonnull align 8 dereferenceable(89) %2825, ptr noundef nonnull align 8 dereferenceable(32) %213)
          to label %2827 unwind label %2912

2827:                                             ; preds = %2826
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %214) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %214)
          to label %2828 unwind label %2917

2828:                                             ; preds = %2827
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #9
  %2829 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %215) #9
  %2830 = load double, ptr %199, align 8, !tbaa !32
  %2831 = fcmp ole double %2830, 1.000000e-09
  br i1 %2831, label %2832, label %2833

2832:                                             ; preds = %2828
  br label %2844

2833:                                             ; preds = %2828
  %2834 = load double, ptr %199, align 8, !tbaa !32
  %2835 = fcmp ole double %2834, 0x3EB0C6F7A0B5ED8D
  br i1 %2835, label %2836, label %2837

2836:                                             ; preds = %2833
  br label %2842

2837:                                             ; preds = %2833
  %2838 = load double, ptr %199, align 8, !tbaa !32
  %2839 = fcmp ole double %2838, 1.000000e-03
  %2840 = zext i1 %2839 to i64
  %2841 = select i1 %2839, ptr @.str.210, ptr @.str.211
  br label %2842

2842:                                             ; preds = %2837, %2836
  %2843 = phi ptr [ @.str.209, %2836 ], [ %2841, %2837 ]
  br label %2844

2844:                                             ; preds = %2842, %2832
  %2845 = phi ptr [ @.str.208, %2832 ], [ %2843, %2842 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %215, ptr noundef @.str.207, ptr noundef @.str.9, ptr noundef %2845)
          to label %2846 unwind label %2921

2846:                                             ; preds = %2844
  %2847 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2829, ptr noundef nonnull align 8 dereferenceable(32) %215)
          to label %2848 unwind label %2925

2848:                                             ; preds = %2846
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #9
  %2849 = getelementptr inbounds i8, ptr %51, i64 16
  %2850 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %2849, ptr noundef @.str.82)
          to label %2851 unwind label %2722

2851:                                             ; preds = %2848
  %2852 = load ptr, ptr %9, align 8, !tbaa !5
  %2853 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %216) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %216, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2854 unwind label %2930

2854:                                             ; preds = %2851
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2852, ptr noundef nonnull align 8 dereferenceable(89) %2853, ptr noundef nonnull align 8 dereferenceable(32) %216)
          to label %2855 unwind label %2934

2855:                                             ; preds = %2854
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #9
  %2856 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 12
  %2857 = getelementptr inbounds %struct.HighsError, ptr %2856, i32 0, i32 0
  %2858 = load double, ptr %2857, align 8, !tbaa !92
  store double %2858, ptr %197, align 8, !tbaa !32
  %2859 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 12
  %2860 = getelementptr inbounds %struct.HighsError, ptr %2859, i32 0, i32 1
  %2861 = load i32, ptr %2860, align 8, !tbaa !93
  %2862 = add nsw i32 %2861, 1
  store i32 %2862, ptr %196, align 4, !tbaa !34
  %2863 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 12
  %2864 = getelementptr inbounds %struct.HighsError, ptr %2863, i32 0, i32 2
  %2865 = load double, ptr %2864, align 8, !tbaa !94
  store double %2865, ptr %199, align 8, !tbaa !32
  %2866 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 12
  %2867 = getelementptr inbounds %struct.HighsError, ptr %2866, i32 0, i32 3
  %2868 = load i32, ptr %2867, align 8, !tbaa !95
  %2869 = add nsw i32 %2868, 1
  store i32 %2869, ptr %198, align 4, !tbaa !34
  %2870 = load double, ptr %197, align 8, !tbaa !32
  %2871 = fcmp une double %2870, 0.000000e+00
  br i1 %2871, label %2939, label %2872

2872:                                             ; preds = %2855
  store i32 0, ptr %196, align 4, !tbaa !34
  br label %2939

2873:                                             ; preds = %2793
  %2874 = landingpad { ptr, i32 }
          cleanup
  %2875 = extractvalue { ptr, i32 } %2874, 0
  store ptr %2875, ptr %36, align 8
  %2876 = extractvalue { ptr, i32 } %2874, 1
  store i32 %2876, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %208) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %208) #9
  br label %3448

2877:                                             ; preds = %2802
  %2878 = landingpad { ptr, i32 }
          cleanup
  %2879 = extractvalue { ptr, i32 } %2878, 0
  store ptr %2879, ptr %36, align 8
  %2880 = extractvalue { ptr, i32 } %2878, 1
  store i32 %2880, ptr %37, align 4
  br label %2885

2881:                                             ; preds = %2804
  %2882 = landingpad { ptr, i32 }
          cleanup
  %2883 = extractvalue { ptr, i32 } %2882, 0
  store ptr %2883, ptr %36, align 8
  %2884 = extractvalue { ptr, i32 } %2882, 1
  store i32 %2884, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %209) #9
  br label %2885

2885:                                             ; preds = %2881, %2877
  call void @llvm.lifetime.end.p0(i64 32, ptr %209) #9
  br label %3448

2886:                                             ; preds = %2806
  %2887 = landingpad { ptr, i32 }
          cleanup
  %2888 = extractvalue { ptr, i32 } %2887, 0
  store ptr %2888, ptr %36, align 8
  %2889 = extractvalue { ptr, i32 } %2887, 1
  store i32 %2889, ptr %37, align 4
  br label %2894

2890:                                             ; preds = %2809
  %2891 = landingpad { ptr, i32 }
          cleanup
  %2892 = extractvalue { ptr, i32 } %2891, 0
  store ptr %2892, ptr %36, align 8
  %2893 = extractvalue { ptr, i32 } %2891, 1
  store i32 %2893, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %210) #9
  br label %2894

2894:                                             ; preds = %2890, %2886
  call void @llvm.lifetime.end.p0(i64 32, ptr %210) #9
  br label %3448

2895:                                             ; preds = %2810
  %2896 = landingpad { ptr, i32 }
          cleanup
  %2897 = extractvalue { ptr, i32 } %2896, 0
  store ptr %2897, ptr %36, align 8
  %2898 = extractvalue { ptr, i32 } %2896, 1
  store i32 %2898, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %211) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %211) #9
  br label %3448

2899:                                             ; preds = %2819
  %2900 = landingpad { ptr, i32 }
          cleanup
  %2901 = extractvalue { ptr, i32 } %2900, 0
  store ptr %2901, ptr %36, align 8
  %2902 = extractvalue { ptr, i32 } %2900, 1
  store i32 %2902, ptr %37, align 4
  br label %2907

2903:                                             ; preds = %2821
  %2904 = landingpad { ptr, i32 }
          cleanup
  %2905 = extractvalue { ptr, i32 } %2904, 0
  store ptr %2905, ptr %36, align 8
  %2906 = extractvalue { ptr, i32 } %2904, 1
  store i32 %2906, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %212) #9
  br label %2907

2907:                                             ; preds = %2903, %2899
  call void @llvm.lifetime.end.p0(i64 32, ptr %212) #9
  br label %3448

2908:                                             ; preds = %2823
  %2909 = landingpad { ptr, i32 }
          cleanup
  %2910 = extractvalue { ptr, i32 } %2909, 0
  store ptr %2910, ptr %36, align 8
  %2911 = extractvalue { ptr, i32 } %2909, 1
  store i32 %2911, ptr %37, align 4
  br label %2916

2912:                                             ; preds = %2826
  %2913 = landingpad { ptr, i32 }
          cleanup
  %2914 = extractvalue { ptr, i32 } %2913, 0
  store ptr %2914, ptr %36, align 8
  %2915 = extractvalue { ptr, i32 } %2913, 1
  store i32 %2915, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %213) #9
  br label %2916

2916:                                             ; preds = %2912, %2908
  call void @llvm.lifetime.end.p0(i64 32, ptr %213) #9
  br label %3448

2917:                                             ; preds = %2827
  %2918 = landingpad { ptr, i32 }
          cleanup
  %2919 = extractvalue { ptr, i32 } %2918, 0
  store ptr %2919, ptr %36, align 8
  %2920 = extractvalue { ptr, i32 } %2918, 1
  store i32 %2920, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %214) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %214) #9
  br label %3448

2921:                                             ; preds = %2844
  %2922 = landingpad { ptr, i32 }
          cleanup
  %2923 = extractvalue { ptr, i32 } %2922, 0
  store ptr %2923, ptr %36, align 8
  %2924 = extractvalue { ptr, i32 } %2922, 1
  store i32 %2924, ptr %37, align 4
  br label %2929

2925:                                             ; preds = %2846
  %2926 = landingpad { ptr, i32 }
          cleanup
  %2927 = extractvalue { ptr, i32 } %2926, 0
  store ptr %2927, ptr %36, align 8
  %2928 = extractvalue { ptr, i32 } %2926, 1
  store i32 %2928, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %215) #9
  br label %2929

2929:                                             ; preds = %2925, %2921
  call void @llvm.lifetime.end.p0(i64 32, ptr %215) #9
  br label %3448

2930:                                             ; preds = %2851
  %2931 = landingpad { ptr, i32 }
          cleanup
  %2932 = extractvalue { ptr, i32 } %2931, 0
  store ptr %2932, ptr %36, align 8
  %2933 = extractvalue { ptr, i32 } %2931, 1
  store i32 %2933, ptr %37, align 4
  br label %2938

2934:                                             ; preds = %2854
  %2935 = landingpad { ptr, i32 }
          cleanup
  %2936 = extractvalue { ptr, i32 } %2935, 0
  store ptr %2936, ptr %36, align 8
  %2937 = extractvalue { ptr, i32 } %2935, 1
  store i32 %2937, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %216) #9
  br label %2938

2938:                                             ; preds = %2934, %2930
  call void @llvm.lifetime.end.p0(i64 32, ptr %216) #9
  br label %3448

2939:                                             ; preds = %2872, %2855
  %2940 = load double, ptr %199, align 8, !tbaa !32
  %2941 = fcmp une double %2940, 0.000000e+00
  br i1 %2941, label %2943, label %2942

2942:                                             ; preds = %2939
  store i32 0, ptr %198, align 4, !tbaa !34
  br label %2943

2943:                                             ; preds = %2942, %2939
  call void @llvm.lifetime.start.p0(i64 1, ptr %217) #9
  %2944 = load i32, ptr %196, align 4, !tbaa !34
  %2945 = icmp sgt i32 %2944, 0
  br i1 %2945, label %2946, label %2952

2946:                                             ; preds = %2943
  %2947 = load i32, ptr %196, align 4, !tbaa !34
  %2948 = load ptr, ptr %24, align 8, !tbaa !5
  %2949 = getelementptr inbounds %class.HighsLp, ptr %2948, i32 0, i32 0
  %2950 = load i32, ptr %2949, align 8, !tbaa !35
  %2951 = icmp sle i32 %2947, %2950
  br label %2952

2952:                                             ; preds = %2946, %2943
  %2953 = phi i1 [ false, %2943 ], [ %2951, %2946 ]
  %2954 = zext i1 %2953 to i8
  store i8 %2954, ptr %217, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %218) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %218)
          to label %2955 unwind label %3072

2955:                                             ; preds = %2952
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %218) #9
  %2956 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %219) #9
  %2957 = load double, ptr %197, align 8, !tbaa !32
  %2958 = load i8, ptr %217, align 1, !tbaa !11, !range !19, !noundef !20
  %2959 = trunc i8 %2958 to i1
  %2960 = zext i1 %2959 to i64
  %2961 = select i1 %2959, ptr @.str.213, ptr @.str.214
  %2962 = load i32, ptr %196, align 4, !tbaa !34
  %2963 = load ptr, ptr %24, align 8, !tbaa !5
  %2964 = getelementptr inbounds %class.HighsLp, ptr %2963, i32 0, i32 0
  %2965 = load i32, ptr %2964, align 8, !tbaa !35
  %2966 = icmp sle i32 %2962, %2965
  br i1 %2966, label %2967, label %2969

2967:                                             ; preds = %2955
  %2968 = load i32, ptr %196, align 4, !tbaa !34
  br label %2975

2969:                                             ; preds = %2955
  %2970 = load i32, ptr %196, align 4, !tbaa !34
  %2971 = load ptr, ptr %24, align 8, !tbaa !5
  %2972 = getelementptr inbounds %class.HighsLp, ptr %2971, i32 0, i32 0
  %2973 = load i32, ptr %2972, align 8, !tbaa !35
  %2974 = sub nsw i32 %2970, %2973
  br label %2975

2975:                                             ; preds = %2969, %2967
  %2976 = phi i32 [ %2968, %2967 ], [ %2974, %2969 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %219, ptr noundef @.str.212, double noundef %2957, ptr noundef %2961, i32 noundef %2976)
          to label %2977 unwind label %3076

2977:                                             ; preds = %2975
  %2978 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2956, ptr noundef nonnull align 8 dereferenceable(32) %219)
          to label %2979 unwind label %3080

2979:                                             ; preds = %2977
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %219) #9
  %2980 = load ptr, ptr %9, align 8, !tbaa !5
  %2981 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %220) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %220, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %2982 unwind label %3085

2982:                                             ; preds = %2979
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %2980, ptr noundef nonnull align 8 dereferenceable(89) %2981, ptr noundef nonnull align 8 dereferenceable(32) %220)
          to label %2983 unwind label %3089

2983:                                             ; preds = %2982
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #9
  %2984 = load i32, ptr %198, align 4, !tbaa !34
  %2985 = icmp sgt i32 %2984, 0
  br i1 %2985, label %2986, label %2992

2986:                                             ; preds = %2983
  %2987 = load i32, ptr %198, align 4, !tbaa !34
  %2988 = load ptr, ptr %24, align 8, !tbaa !5
  %2989 = getelementptr inbounds %class.HighsLp, ptr %2988, i32 0, i32 0
  %2990 = load i32, ptr %2989, align 8, !tbaa !35
  %2991 = icmp sle i32 %2987, %2990
  br label %2992

2992:                                             ; preds = %2986, %2983
  %2993 = phi i1 [ false, %2983 ], [ %2991, %2986 ]
  %2994 = zext i1 %2993 to i8
  store i8 %2994, ptr %217, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %221) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %221)
          to label %2995 unwind label %3094

2995:                                             ; preds = %2992
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %221) #9
  %2996 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %222) #9
  %2997 = load double, ptr %199, align 8, !tbaa !32
  %2998 = load i8, ptr %217, align 1, !tbaa !11, !range !19, !noundef !20
  %2999 = trunc i8 %2998 to i1
  %3000 = zext i1 %2999 to i64
  %3001 = select i1 %2999, ptr @.str.213, ptr @.str.214
  %3002 = load i32, ptr %198, align 4, !tbaa !34
  %3003 = load ptr, ptr %24, align 8, !tbaa !5
  %3004 = getelementptr inbounds %class.HighsLp, ptr %3003, i32 0, i32 0
  %3005 = load i32, ptr %3004, align 8, !tbaa !35
  %3006 = icmp sle i32 %3002, %3005
  br i1 %3006, label %3007, label %3009

3007:                                             ; preds = %2995
  %3008 = load i32, ptr %198, align 4, !tbaa !34
  br label %3015

3009:                                             ; preds = %2995
  %3010 = load i32, ptr %198, align 4, !tbaa !34
  %3011 = load ptr, ptr %24, align 8, !tbaa !5
  %3012 = getelementptr inbounds %class.HighsLp, ptr %3011, i32 0, i32 0
  %3013 = load i32, ptr %3012, align 8, !tbaa !35
  %3014 = sub nsw i32 %3010, %3013
  br label %3015

3015:                                             ; preds = %3009, %3007
  %3016 = phi i32 [ %3008, %3007 ], [ %3014, %3009 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %222, ptr noundef @.str.215, double noundef %2997, ptr noundef %3001, i32 noundef %3016)
          to label %3017 unwind label %3098

3017:                                             ; preds = %3015
  %3018 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %2996, ptr noundef nonnull align 8 dereferenceable(32) %222)
          to label %3019 unwind label %3102

3019:                                             ; preds = %3017
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #9
  %3020 = load ptr, ptr %9, align 8, !tbaa !5
  %3021 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %223) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %223, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3022 unwind label %3107

3022:                                             ; preds = %3019
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3020, ptr noundef nonnull align 8 dereferenceable(89) %3021, ptr noundef nonnull align 8 dereferenceable(32) %223)
          to label %3023 unwind label %3111

3023:                                             ; preds = %3022
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %224) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %224) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %224)
          to label %3024 unwind label %3116

3024:                                             ; preds = %3023
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %224) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %224) #9
  %3025 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %225) #9
  %3026 = load double, ptr %199, align 8, !tbaa !32
  %3027 = fcmp ole double %3026, 1.000000e-09
  br i1 %3027, label %3028, label %3029

3028:                                             ; preds = %3024
  br label %3040

3029:                                             ; preds = %3024
  %3030 = load double, ptr %199, align 8, !tbaa !32
  %3031 = fcmp ole double %3030, 0x3EB0C6F7A0B5ED8D
  br i1 %3031, label %3032, label %3033

3032:                                             ; preds = %3029
  br label %3038

3033:                                             ; preds = %3029
  %3034 = load double, ptr %199, align 8, !tbaa !32
  %3035 = fcmp ole double %3034, 1.000000e-03
  %3036 = zext i1 %3035 to i64
  %3037 = select i1 %3035, ptr @.str.210, ptr @.str.216
  br label %3038

3038:                                             ; preds = %3033, %3032
  %3039 = phi ptr [ @.str.209, %3032 ], [ %3037, %3033 ]
  br label %3040

3040:                                             ; preds = %3038, %3028
  %3041 = phi ptr [ @.str.208, %3028 ], [ %3039, %3038 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %225, ptr noundef @.str.207, ptr noundef @.str.9, ptr noundef %3041)
          to label %3042 unwind label %3120

3042:                                             ; preds = %3040
  %3043 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3025, ptr noundef nonnull align 8 dereferenceable(32) %225)
          to label %3044 unwind label %3124

3044:                                             ; preds = %3042
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #9
  %3045 = getelementptr inbounds i8, ptr %51, i64 16
  %3046 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3045, ptr noundef @.str.82)
          to label %3047 unwind label %3129

3047:                                             ; preds = %3044
  %3048 = load ptr, ptr %9, align 8, !tbaa !5
  %3049 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %226) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %226, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3050 unwind label %3133

3050:                                             ; preds = %3047
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3048, ptr noundef nonnull align 8 dereferenceable(89) %3049, ptr noundef nonnull align 8 dereferenceable(32) %226)
          to label %3051 unwind label %3137

3051:                                             ; preds = %3050
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #9
  %3052 = load i8, ptr %18, align 1, !tbaa !11, !range !19, !noundef !20
  %3053 = trunc i8 %3052 to i1
  br i1 %3053, label %3054, label %3428

3054:                                             ; preds = %3051
  %3055 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 13
  %3056 = getelementptr inbounds %struct.HighsError, ptr %3055, i32 0, i32 0
  %3057 = load double, ptr %3056, align 8, !tbaa !96
  store double %3057, ptr %197, align 8, !tbaa !32
  %3058 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 13
  %3059 = getelementptr inbounds %struct.HighsError, ptr %3058, i32 0, i32 1
  %3060 = load i32, ptr %3059, align 8, !tbaa !97
  %3061 = add nsw i32 %3060, 1
  store i32 %3061, ptr %196, align 4, !tbaa !34
  %3062 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 13
  %3063 = getelementptr inbounds %struct.HighsError, ptr %3062, i32 0, i32 2
  %3064 = load double, ptr %3063, align 8, !tbaa !98
  store double %3064, ptr %199, align 8, !tbaa !32
  %3065 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 13
  %3066 = getelementptr inbounds %struct.HighsError, ptr %3065, i32 0, i32 3
  %3067 = load i32, ptr %3066, align 8, !tbaa !99
  %3068 = add nsw i32 %3067, 1
  store i32 %3068, ptr %198, align 4, !tbaa !34
  %3069 = load double, ptr %197, align 8, !tbaa !32
  %3070 = fcmp une double %3069, 0.000000e+00
  br i1 %3070, label %3142, label %3071

3071:                                             ; preds = %3054
  store i32 0, ptr %196, align 4, !tbaa !34
  br label %3142

3072:                                             ; preds = %2952
  %3073 = landingpad { ptr, i32 }
          cleanup
  %3074 = extractvalue { ptr, i32 } %3073, 0
  store ptr %3074, ptr %36, align 8
  %3075 = extractvalue { ptr, i32 } %3073, 1
  store i32 %3075, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %218) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %218) #9
  br label %3447

3076:                                             ; preds = %2975
  %3077 = landingpad { ptr, i32 }
          cleanup
  %3078 = extractvalue { ptr, i32 } %3077, 0
  store ptr %3078, ptr %36, align 8
  %3079 = extractvalue { ptr, i32 } %3077, 1
  store i32 %3079, ptr %37, align 4
  br label %3084

3080:                                             ; preds = %2977
  %3081 = landingpad { ptr, i32 }
          cleanup
  %3082 = extractvalue { ptr, i32 } %3081, 0
  store ptr %3082, ptr %36, align 8
  %3083 = extractvalue { ptr, i32 } %3081, 1
  store i32 %3083, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %219) #9
  br label %3084

3084:                                             ; preds = %3080, %3076
  call void @llvm.lifetime.end.p0(i64 32, ptr %219) #9
  br label %3447

3085:                                             ; preds = %2979
  %3086 = landingpad { ptr, i32 }
          cleanup
  %3087 = extractvalue { ptr, i32 } %3086, 0
  store ptr %3087, ptr %36, align 8
  %3088 = extractvalue { ptr, i32 } %3086, 1
  store i32 %3088, ptr %37, align 4
  br label %3093

3089:                                             ; preds = %2982
  %3090 = landingpad { ptr, i32 }
          cleanup
  %3091 = extractvalue { ptr, i32 } %3090, 0
  store ptr %3091, ptr %36, align 8
  %3092 = extractvalue { ptr, i32 } %3090, 1
  store i32 %3092, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %220) #9
  br label %3093

3093:                                             ; preds = %3089, %3085
  call void @llvm.lifetime.end.p0(i64 32, ptr %220) #9
  br label %3447

3094:                                             ; preds = %2992
  %3095 = landingpad { ptr, i32 }
          cleanup
  %3096 = extractvalue { ptr, i32 } %3095, 0
  store ptr %3096, ptr %36, align 8
  %3097 = extractvalue { ptr, i32 } %3095, 1
  store i32 %3097, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %221) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %221) #9
  br label %3447

3098:                                             ; preds = %3015
  %3099 = landingpad { ptr, i32 }
          cleanup
  %3100 = extractvalue { ptr, i32 } %3099, 0
  store ptr %3100, ptr %36, align 8
  %3101 = extractvalue { ptr, i32 } %3099, 1
  store i32 %3101, ptr %37, align 4
  br label %3106

3102:                                             ; preds = %3017
  %3103 = landingpad { ptr, i32 }
          cleanup
  %3104 = extractvalue { ptr, i32 } %3103, 0
  store ptr %3104, ptr %36, align 8
  %3105 = extractvalue { ptr, i32 } %3103, 1
  store i32 %3105, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %222) #9
  br label %3106

3106:                                             ; preds = %3102, %3098
  call void @llvm.lifetime.end.p0(i64 32, ptr %222) #9
  br label %3447

3107:                                             ; preds = %3019
  %3108 = landingpad { ptr, i32 }
          cleanup
  %3109 = extractvalue { ptr, i32 } %3108, 0
  store ptr %3109, ptr %36, align 8
  %3110 = extractvalue { ptr, i32 } %3108, 1
  store i32 %3110, ptr %37, align 4
  br label %3115

3111:                                             ; preds = %3022
  %3112 = landingpad { ptr, i32 }
          cleanup
  %3113 = extractvalue { ptr, i32 } %3112, 0
  store ptr %3113, ptr %36, align 8
  %3114 = extractvalue { ptr, i32 } %3112, 1
  store i32 %3114, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %223) #9
  br label %3115

3115:                                             ; preds = %3111, %3107
  call void @llvm.lifetime.end.p0(i64 32, ptr %223) #9
  br label %3447

3116:                                             ; preds = %3023
  %3117 = landingpad { ptr, i32 }
          cleanup
  %3118 = extractvalue { ptr, i32 } %3117, 0
  store ptr %3118, ptr %36, align 8
  %3119 = extractvalue { ptr, i32 } %3117, 1
  store i32 %3119, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %224) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %224) #9
  br label %3447

3120:                                             ; preds = %3040
  %3121 = landingpad { ptr, i32 }
          cleanup
  %3122 = extractvalue { ptr, i32 } %3121, 0
  store ptr %3122, ptr %36, align 8
  %3123 = extractvalue { ptr, i32 } %3121, 1
  store i32 %3123, ptr %37, align 4
  br label %3128

3124:                                             ; preds = %3042
  %3125 = landingpad { ptr, i32 }
          cleanup
  %3126 = extractvalue { ptr, i32 } %3125, 0
  store ptr %3126, ptr %36, align 8
  %3127 = extractvalue { ptr, i32 } %3125, 1
  store i32 %3127, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %225) #9
  br label %3128

3128:                                             ; preds = %3124, %3120
  call void @llvm.lifetime.end.p0(i64 32, ptr %225) #9
  br label %3447

3129:                                             ; preds = %3179, %3044
  %3130 = landingpad { ptr, i32 }
          cleanup
  %3131 = extractvalue { ptr, i32 } %3130, 0
  store ptr %3131, ptr %36, align 8
  %3132 = extractvalue { ptr, i32 } %3130, 1
  store i32 %3132, ptr %37, align 4
  br label %3447

3133:                                             ; preds = %3047
  %3134 = landingpad { ptr, i32 }
          cleanup
  %3135 = extractvalue { ptr, i32 } %3134, 0
  store ptr %3135, ptr %36, align 8
  %3136 = extractvalue { ptr, i32 } %3134, 1
  store i32 %3136, ptr %37, align 4
  br label %3141

3137:                                             ; preds = %3050
  %3138 = landingpad { ptr, i32 }
          cleanup
  %3139 = extractvalue { ptr, i32 } %3138, 0
  store ptr %3139, ptr %36, align 8
  %3140 = extractvalue { ptr, i32 } %3138, 1
  store i32 %3140, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %226) #9
  br label %3141

3141:                                             ; preds = %3137, %3133
  call void @llvm.lifetime.end.p0(i64 32, ptr %226) #9
  br label %3447

3142:                                             ; preds = %3071, %3054
  %3143 = load double, ptr %199, align 8, !tbaa !32
  %3144 = fcmp une double %3143, 0.000000e+00
  br i1 %3144, label %3146, label %3145

3145:                                             ; preds = %3142
  store i32 0, ptr %198, align 4, !tbaa !34
  br label %3146

3146:                                             ; preds = %3145, %3142
  call void @llvm.lifetime.start.p0(i64 32, ptr %227) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %227)
          to label %3147 unwind label %3204

3147:                                             ; preds = %3146
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #9
  %3148 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %228) #9
  %3149 = load double, ptr %197, align 8, !tbaa !32
  %3150 = load i32, ptr %196, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %228, ptr noundef @.str.217, double noundef %3149, i32 noundef %3150)
          to label %3151 unwind label %3208

3151:                                             ; preds = %3147
  %3152 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3148, ptr noundef nonnull align 8 dereferenceable(32) %228)
          to label %3153 unwind label %3212

3153:                                             ; preds = %3151
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %228) #9
  %3154 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %229) #9
  %3155 = load double, ptr %199, align 8, !tbaa !32
  %3156 = load i32, ptr %198, align 4, !tbaa !34
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %229, ptr noundef @.str.218, double noundef %3155, i32 noundef %3156)
          to label %3157 unwind label %3217

3157:                                             ; preds = %3153
  %3158 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3154, ptr noundef nonnull align 8 dereferenceable(32) %229)
          to label %3159 unwind label %3221

3159:                                             ; preds = %3157
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %229) #9
  %3160 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %230) #9
  %3161 = load double, ptr %199, align 8, !tbaa !32
  %3162 = fcmp ole double %3161, 1.000000e-09
  br i1 %3162, label %3163, label %3164

3163:                                             ; preds = %3159
  br label %3175

3164:                                             ; preds = %3159
  %3165 = load double, ptr %199, align 8, !tbaa !32
  %3166 = fcmp ole double %3165, 0x3EB0C6F7A0B5ED8D
  br i1 %3166, label %3167, label %3168

3167:                                             ; preds = %3164
  br label %3173

3168:                                             ; preds = %3164
  %3169 = load double, ptr %199, align 8, !tbaa !32
  %3170 = fcmp ole double %3169, 1.000000e-03
  %3171 = zext i1 %3170 to i64
  %3172 = select i1 %3170, ptr @.str.210, ptr @.str.219
  br label %3173

3173:                                             ; preds = %3168, %3167
  %3174 = phi ptr [ @.str.209, %3167 ], [ %3172, %3168 ]
  br label %3175

3175:                                             ; preds = %3173, %3163
  %3176 = phi ptr [ @.str.208, %3163 ], [ %3174, %3173 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %230, ptr noundef @.str.207, ptr noundef @.str.9, ptr noundef %3176)
          to label %3177 unwind label %3226

3177:                                             ; preds = %3175
  %3178 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3160, ptr noundef nonnull align 8 dereferenceable(32) %230)
          to label %3179 unwind label %3230

3179:                                             ; preds = %3177
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #9
  %3180 = getelementptr inbounds i8, ptr %51, i64 16
  %3181 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3180, ptr noundef @.str.82)
          to label %3182 unwind label %3129

3182:                                             ; preds = %3179
  %3183 = load ptr, ptr %9, align 8, !tbaa !5
  %3184 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %231) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %231, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3185 unwind label %3235

3185:                                             ; preds = %3182
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3183, ptr noundef nonnull align 8 dereferenceable(89) %3184, ptr noundef nonnull align 8 dereferenceable(32) %231)
          to label %3186 unwind label %3239

3186:                                             ; preds = %3185
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %231) #9
  %3187 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 14
  %3188 = getelementptr inbounds %struct.HighsError, ptr %3187, i32 0, i32 0
  %3189 = load double, ptr %3188, align 8, !tbaa !100
  store double %3189, ptr %197, align 8, !tbaa !32
  %3190 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 14
  %3191 = getelementptr inbounds %struct.HighsError, ptr %3190, i32 0, i32 1
  %3192 = load i32, ptr %3191, align 8, !tbaa !101
  %3193 = add nsw i32 %3192, 1
  store i32 %3193, ptr %196, align 4, !tbaa !34
  %3194 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 14
  %3195 = getelementptr inbounds %struct.HighsError, ptr %3194, i32 0, i32 2
  %3196 = load double, ptr %3195, align 8, !tbaa !102
  store double %3196, ptr %199, align 8, !tbaa !32
  %3197 = getelementptr inbounds %struct.HighsPrimalDualErrors, ptr %194, i32 0, i32 14
  %3198 = getelementptr inbounds %struct.HighsError, ptr %3197, i32 0, i32 3
  %3199 = load i32, ptr %3198, align 8, !tbaa !103
  %3200 = add nsw i32 %3199, 1
  store i32 %3200, ptr %198, align 4, !tbaa !34
  %3201 = load double, ptr %197, align 8, !tbaa !32
  %3202 = fcmp une double %3201, 0.000000e+00
  br i1 %3202, label %3244, label %3203

3203:                                             ; preds = %3186
  store i32 0, ptr %196, align 4, !tbaa !34
  br label %3244

3204:                                             ; preds = %3146
  %3205 = landingpad { ptr, i32 }
          cleanup
  %3206 = extractvalue { ptr, i32 } %3205, 0
  store ptr %3206, ptr %36, align 8
  %3207 = extractvalue { ptr, i32 } %3205, 1
  store i32 %3207, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %227) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %227) #9
  br label %3447

3208:                                             ; preds = %3147
  %3209 = landingpad { ptr, i32 }
          cleanup
  %3210 = extractvalue { ptr, i32 } %3209, 0
  store ptr %3210, ptr %36, align 8
  %3211 = extractvalue { ptr, i32 } %3209, 1
  store i32 %3211, ptr %37, align 4
  br label %3216

3212:                                             ; preds = %3151
  %3213 = landingpad { ptr, i32 }
          cleanup
  %3214 = extractvalue { ptr, i32 } %3213, 0
  store ptr %3214, ptr %36, align 8
  %3215 = extractvalue { ptr, i32 } %3213, 1
  store i32 %3215, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %228) #9
  br label %3216

3216:                                             ; preds = %3212, %3208
  call void @llvm.lifetime.end.p0(i64 32, ptr %228) #9
  br label %3447

3217:                                             ; preds = %3153
  %3218 = landingpad { ptr, i32 }
          cleanup
  %3219 = extractvalue { ptr, i32 } %3218, 0
  store ptr %3219, ptr %36, align 8
  %3220 = extractvalue { ptr, i32 } %3218, 1
  store i32 %3220, ptr %37, align 4
  br label %3225

3221:                                             ; preds = %3157
  %3222 = landingpad { ptr, i32 }
          cleanup
  %3223 = extractvalue { ptr, i32 } %3222, 0
  store ptr %3223, ptr %36, align 8
  %3224 = extractvalue { ptr, i32 } %3222, 1
  store i32 %3224, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %229) #9
  br label %3225

3225:                                             ; preds = %3221, %3217
  call void @llvm.lifetime.end.p0(i64 32, ptr %229) #9
  br label %3447

3226:                                             ; preds = %3175
  %3227 = landingpad { ptr, i32 }
          cleanup
  %3228 = extractvalue { ptr, i32 } %3227, 0
  store ptr %3228, ptr %36, align 8
  %3229 = extractvalue { ptr, i32 } %3227, 1
  store i32 %3229, ptr %37, align 4
  br label %3234

3230:                                             ; preds = %3177
  %3231 = landingpad { ptr, i32 }
          cleanup
  %3232 = extractvalue { ptr, i32 } %3231, 0
  store ptr %3232, ptr %36, align 8
  %3233 = extractvalue { ptr, i32 } %3231, 1
  store i32 %3233, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %230) #9
  br label %3234

3234:                                             ; preds = %3230, %3226
  call void @llvm.lifetime.end.p0(i64 32, ptr %230) #9
  br label %3447

3235:                                             ; preds = %3182
  %3236 = landingpad { ptr, i32 }
          cleanup
  %3237 = extractvalue { ptr, i32 } %3236, 0
  store ptr %3237, ptr %36, align 8
  %3238 = extractvalue { ptr, i32 } %3236, 1
  store i32 %3238, ptr %37, align 4
  br label %3243

3239:                                             ; preds = %3185
  %3240 = landingpad { ptr, i32 }
          cleanup
  %3241 = extractvalue { ptr, i32 } %3240, 0
  store ptr %3241, ptr %36, align 8
  %3242 = extractvalue { ptr, i32 } %3240, 1
  store i32 %3242, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %231) #9
  br label %3243

3243:                                             ; preds = %3239, %3235
  call void @llvm.lifetime.end.p0(i64 32, ptr %231) #9
  br label %3447

3244:                                             ; preds = %3203, %3186
  %3245 = load double, ptr %199, align 8, !tbaa !32
  %3246 = fcmp une double %3245, 0.000000e+00
  br i1 %3246, label %3248, label %3247

3247:                                             ; preds = %3244
  store i32 0, ptr %198, align 4, !tbaa !34
  br label %3248

3248:                                             ; preds = %3247, %3244
  call void @llvm.lifetime.start.p0(i64 1, ptr %232) #9
  %3249 = load i32, ptr %196, align 4, !tbaa !34
  %3250 = icmp sgt i32 %3249, 0
  br i1 %3250, label %3251, label %3257

3251:                                             ; preds = %3248
  %3252 = load i32, ptr %196, align 4, !tbaa !34
  %3253 = load ptr, ptr %24, align 8, !tbaa !5
  %3254 = getelementptr inbounds %class.HighsLp, ptr %3253, i32 0, i32 0
  %3255 = load i32, ptr %3254, align 8, !tbaa !35
  %3256 = icmp sle i32 %3252, %3255
  br label %3257

3257:                                             ; preds = %3251, %3248
  %3258 = phi i1 [ false, %3248 ], [ %3256, %3251 ]
  %3259 = zext i1 %3258 to i8
  store i8 %3259, ptr %232, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %233) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %233)
          to label %3260 unwind label %3357

3260:                                             ; preds = %3257
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %233) #9
  %3261 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %234) #9
  %3262 = load double, ptr %197, align 8, !tbaa !32
  %3263 = load i8, ptr %232, align 1, !tbaa !11, !range !19, !noundef !20
  %3264 = trunc i8 %3263 to i1
  %3265 = zext i1 %3264 to i64
  %3266 = select i1 %3264, ptr @.str.213, ptr @.str.214
  %3267 = load i32, ptr %196, align 4, !tbaa !34
  %3268 = load ptr, ptr %24, align 8, !tbaa !5
  %3269 = getelementptr inbounds %class.HighsLp, ptr %3268, i32 0, i32 0
  %3270 = load i32, ptr %3269, align 8, !tbaa !35
  %3271 = icmp sle i32 %3267, %3270
  br i1 %3271, label %3272, label %3274

3272:                                             ; preds = %3260
  %3273 = load i32, ptr %196, align 4, !tbaa !34
  br label %3280

3274:                                             ; preds = %3260
  %3275 = load i32, ptr %196, align 4, !tbaa !34
  %3276 = load ptr, ptr %24, align 8, !tbaa !5
  %3277 = getelementptr inbounds %class.HighsLp, ptr %3276, i32 0, i32 0
  %3278 = load i32, ptr %3277, align 8, !tbaa !35
  %3279 = sub nsw i32 %3275, %3278
  br label %3280

3280:                                             ; preds = %3274, %3272
  %3281 = phi i32 [ %3273, %3272 ], [ %3279, %3274 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %234, ptr noundef @.str.220, double noundef %3262, ptr noundef %3266, i32 noundef %3281)
          to label %3282 unwind label %3361

3282:                                             ; preds = %3280
  %3283 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3261, ptr noundef nonnull align 8 dereferenceable(32) %234)
          to label %3284 unwind label %3365

3284:                                             ; preds = %3282
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #9
  %3285 = load ptr, ptr %9, align 8, !tbaa !5
  %3286 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %235) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %235, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3287 unwind label %3370

3287:                                             ; preds = %3284
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3285, ptr noundef nonnull align 8 dereferenceable(89) %3286, ptr noundef nonnull align 8 dereferenceable(32) %235)
          to label %3288 unwind label %3374

3288:                                             ; preds = %3287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #9
  %3289 = load i32, ptr %198, align 4, !tbaa !34
  %3290 = icmp sgt i32 %3289, 0
  br i1 %3290, label %3291, label %3297

3291:                                             ; preds = %3288
  %3292 = load i32, ptr %198, align 4, !tbaa !34
  %3293 = load ptr, ptr %24, align 8, !tbaa !5
  %3294 = getelementptr inbounds %class.HighsLp, ptr %3293, i32 0, i32 0
  %3295 = load i32, ptr %3294, align 8, !tbaa !35
  %3296 = icmp sle i32 %3292, %3295
  br label %3297

3297:                                             ; preds = %3291, %3288
  %3298 = phi i1 [ false, %3288 ], [ %3296, %3291 ]
  %3299 = zext i1 %3298 to i8
  store i8 %3299, ptr %232, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %236) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %236)
          to label %3300 unwind label %3379

3300:                                             ; preds = %3297
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #9
  %3301 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %237) #9
  %3302 = load double, ptr %199, align 8, !tbaa !32
  %3303 = load i8, ptr %232, align 1, !tbaa !11, !range !19, !noundef !20
  %3304 = trunc i8 %3303 to i1
  %3305 = zext i1 %3304 to i64
  %3306 = select i1 %3304, ptr @.str.213, ptr @.str.214
  %3307 = load i32, ptr %198, align 4, !tbaa !34
  %3308 = load ptr, ptr %24, align 8, !tbaa !5
  %3309 = getelementptr inbounds %class.HighsLp, ptr %3308, i32 0, i32 0
  %3310 = load i32, ptr %3309, align 8, !tbaa !35
  %3311 = icmp sle i32 %3307, %3310
  br i1 %3311, label %3312, label %3314

3312:                                             ; preds = %3300
  %3313 = load i32, ptr %198, align 4, !tbaa !34
  br label %3320

3314:                                             ; preds = %3300
  %3315 = load i32, ptr %198, align 4, !tbaa !34
  %3316 = load ptr, ptr %24, align 8, !tbaa !5
  %3317 = getelementptr inbounds %class.HighsLp, ptr %3316, i32 0, i32 0
  %3318 = load i32, ptr %3317, align 8, !tbaa !35
  %3319 = sub nsw i32 %3315, %3318
  br label %3320

3320:                                             ; preds = %3314, %3312
  %3321 = phi i32 [ %3313, %3312 ], [ %3319, %3314 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %237, ptr noundef @.str.215, double noundef %3302, ptr noundef %3306, i32 noundef %3321)
          to label %3322 unwind label %3383

3322:                                             ; preds = %3320
  %3323 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3301, ptr noundef nonnull align 8 dereferenceable(32) %237)
          to label %3324 unwind label %3387

3324:                                             ; preds = %3322
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #9
  %3325 = load ptr, ptr %9, align 8, !tbaa !5
  %3326 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %238) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %238, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3327 unwind label %3392

3327:                                             ; preds = %3324
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3325, ptr noundef nonnull align 8 dereferenceable(89) %3326, ptr noundef nonnull align 8 dereferenceable(32) %238)
          to label %3328 unwind label %3396

3328:                                             ; preds = %3327
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr %239) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %239) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %51, ptr noundef nonnull align 8 dereferenceable(32) %239)
          to label %3329 unwind label %3401

3329:                                             ; preds = %3328
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %239) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %239) #9
  %3330 = getelementptr inbounds i8, ptr %51, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr %240) #9
  %3331 = load double, ptr %199, align 8, !tbaa !32
  %3332 = fcmp ole double %3331, 1.000000e-09
  br i1 %3332, label %3333, label %3334

3333:                                             ; preds = %3329
  br label %3345

3334:                                             ; preds = %3329
  %3335 = load double, ptr %199, align 8, !tbaa !32
  %3336 = fcmp ole double %3335, 0x3EB0C6F7A0B5ED8D
  br i1 %3336, label %3337, label %3338

3337:                                             ; preds = %3334
  br label %3343

3338:                                             ; preds = %3334
  %3339 = load double, ptr %199, align 8, !tbaa !32
  %3340 = fcmp ole double %3339, 1.000000e-03
  %3341 = zext i1 %3340 to i64
  %3342 = select i1 %3340, ptr @.str.210, ptr @.str.221
  br label %3343

3343:                                             ; preds = %3338, %3337
  %3344 = phi ptr [ @.str.209, %3337 ], [ %3342, %3338 ]
  br label %3345

3345:                                             ; preds = %3343, %3333
  %3346 = phi ptr [ @.str.208, %3333 ], [ %3344, %3343 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %240, ptr noundef @.str.207, ptr noundef @.str.9, ptr noundef %3346)
          to label %3347 unwind label %3405

3347:                                             ; preds = %3345
  %3348 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %3330, ptr noundef nonnull align 8 dereferenceable(32) %240)
          to label %3349 unwind label %3409

3349:                                             ; preds = %3347
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %240) #9
  %3350 = getelementptr inbounds i8, ptr %51, i64 16
  %3351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %3350, ptr noundef @.str.82)
          to label %3352 unwind label %3414

3352:                                             ; preds = %3349
  %3353 = load ptr, ptr %9, align 8, !tbaa !5
  %3354 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %241) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %241, ptr noundef nonnull align 8 dereferenceable(128) %51)
          to label %3355 unwind label %3418

3355:                                             ; preds = %3352
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3353, ptr noundef nonnull align 8 dereferenceable(89) %3354, ptr noundef nonnull align 8 dereferenceable(32) %241)
          to label %3356 unwind label %3422

3356:                                             ; preds = %3355
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %232) #9
  br label %3428

3357:                                             ; preds = %3257
  %3358 = landingpad { ptr, i32 }
          cleanup
  %3359 = extractvalue { ptr, i32 } %3358, 0
  store ptr %3359, ptr %36, align 8
  %3360 = extractvalue { ptr, i32 } %3358, 1
  store i32 %3360, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %233) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %233) #9
  br label %3427

3361:                                             ; preds = %3280
  %3362 = landingpad { ptr, i32 }
          cleanup
  %3363 = extractvalue { ptr, i32 } %3362, 0
  store ptr %3363, ptr %36, align 8
  %3364 = extractvalue { ptr, i32 } %3362, 1
  store i32 %3364, ptr %37, align 4
  br label %3369

3365:                                             ; preds = %3282
  %3366 = landingpad { ptr, i32 }
          cleanup
  %3367 = extractvalue { ptr, i32 } %3366, 0
  store ptr %3367, ptr %36, align 8
  %3368 = extractvalue { ptr, i32 } %3366, 1
  store i32 %3368, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %234) #9
  br label %3369

3369:                                             ; preds = %3365, %3361
  call void @llvm.lifetime.end.p0(i64 32, ptr %234) #9
  br label %3427

3370:                                             ; preds = %3284
  %3371 = landingpad { ptr, i32 }
          cleanup
  %3372 = extractvalue { ptr, i32 } %3371, 0
  store ptr %3372, ptr %36, align 8
  %3373 = extractvalue { ptr, i32 } %3371, 1
  store i32 %3373, ptr %37, align 4
  br label %3378

3374:                                             ; preds = %3287
  %3375 = landingpad { ptr, i32 }
          cleanup
  %3376 = extractvalue { ptr, i32 } %3375, 0
  store ptr %3376, ptr %36, align 8
  %3377 = extractvalue { ptr, i32 } %3375, 1
  store i32 %3377, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %235) #9
  br label %3378

3378:                                             ; preds = %3374, %3370
  call void @llvm.lifetime.end.p0(i64 32, ptr %235) #9
  br label %3427

3379:                                             ; preds = %3297
  %3380 = landingpad { ptr, i32 }
          cleanup
  %3381 = extractvalue { ptr, i32 } %3380, 0
  store ptr %3381, ptr %36, align 8
  %3382 = extractvalue { ptr, i32 } %3380, 1
  store i32 %3382, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %236) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %236) #9
  br label %3427

3383:                                             ; preds = %3320
  %3384 = landingpad { ptr, i32 }
          cleanup
  %3385 = extractvalue { ptr, i32 } %3384, 0
  store ptr %3385, ptr %36, align 8
  %3386 = extractvalue { ptr, i32 } %3384, 1
  store i32 %3386, ptr %37, align 4
  br label %3391

3387:                                             ; preds = %3322
  %3388 = landingpad { ptr, i32 }
          cleanup
  %3389 = extractvalue { ptr, i32 } %3388, 0
  store ptr %3389, ptr %36, align 8
  %3390 = extractvalue { ptr, i32 } %3388, 1
  store i32 %3390, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %237) #9
  br label %3391

3391:                                             ; preds = %3387, %3383
  call void @llvm.lifetime.end.p0(i64 32, ptr %237) #9
  br label %3427

3392:                                             ; preds = %3324
  %3393 = landingpad { ptr, i32 }
          cleanup
  %3394 = extractvalue { ptr, i32 } %3393, 0
  store ptr %3394, ptr %36, align 8
  %3395 = extractvalue { ptr, i32 } %3393, 1
  store i32 %3395, ptr %37, align 4
  br label %3400

3396:                                             ; preds = %3327
  %3397 = landingpad { ptr, i32 }
          cleanup
  %3398 = extractvalue { ptr, i32 } %3397, 0
  store ptr %3398, ptr %36, align 8
  %3399 = extractvalue { ptr, i32 } %3397, 1
  store i32 %3399, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %238) #9
  br label %3400

3400:                                             ; preds = %3396, %3392
  call void @llvm.lifetime.end.p0(i64 32, ptr %238) #9
  br label %3427

3401:                                             ; preds = %3328
  %3402 = landingpad { ptr, i32 }
          cleanup
  %3403 = extractvalue { ptr, i32 } %3402, 0
  store ptr %3403, ptr %36, align 8
  %3404 = extractvalue { ptr, i32 } %3402, 1
  store i32 %3404, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %239) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %239) #9
  br label %3427

3405:                                             ; preds = %3345
  %3406 = landingpad { ptr, i32 }
          cleanup
  %3407 = extractvalue { ptr, i32 } %3406, 0
  store ptr %3407, ptr %36, align 8
  %3408 = extractvalue { ptr, i32 } %3406, 1
  store i32 %3408, ptr %37, align 4
  br label %3413

3409:                                             ; preds = %3347
  %3410 = landingpad { ptr, i32 }
          cleanup
  %3411 = extractvalue { ptr, i32 } %3410, 0
  store ptr %3411, ptr %36, align 8
  %3412 = extractvalue { ptr, i32 } %3410, 1
  store i32 %3412, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %240) #9
  br label %3413

3413:                                             ; preds = %3409, %3405
  call void @llvm.lifetime.end.p0(i64 32, ptr %240) #9
  br label %3427

3414:                                             ; preds = %3349
  %3415 = landingpad { ptr, i32 }
          cleanup
  %3416 = extractvalue { ptr, i32 } %3415, 0
  store ptr %3416, ptr %36, align 8
  %3417 = extractvalue { ptr, i32 } %3415, 1
  store i32 %3417, ptr %37, align 4
  br label %3427

3418:                                             ; preds = %3352
  %3419 = landingpad { ptr, i32 }
          cleanup
  %3420 = extractvalue { ptr, i32 } %3419, 0
  store ptr %3420, ptr %36, align 8
  %3421 = extractvalue { ptr, i32 } %3419, 1
  store i32 %3421, ptr %37, align 4
  br label %3426

3422:                                             ; preds = %3355
  %3423 = landingpad { ptr, i32 }
          cleanup
  %3424 = extractvalue { ptr, i32 } %3423, 0
  store ptr %3424, ptr %36, align 8
  %3425 = extractvalue { ptr, i32 } %3423, 1
  store i32 %3425, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %241) #9
  br label %3426

3426:                                             ; preds = %3422, %3418
  call void @llvm.lifetime.end.p0(i64 32, ptr %241) #9
  br label %3427

3427:                                             ; preds = %3426, %3414, %3413, %3401, %3400, %3391, %3379, %3378, %3369, %3357
  call void @llvm.lifetime.end.p0(i64 1, ptr %232) #9
  br label %3447

3428:                                             ; preds = %3356, %3051
  %3429 = load ptr, ptr %9, align 8, !tbaa !5
  %3430 = load ptr, ptr %25, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr %242) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr %243) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %242, ptr noundef @.str.222, ptr noundef nonnull align 1 dereferenceable(1) %243)
          to label %3431 unwind label %3438

3431:                                             ; preds = %3428
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %3429, ptr noundef nonnull align 8 dereferenceable(89) %3430, ptr noundef nonnull align 8 dereferenceable(32) %242)
          to label %3432 unwind label %3442

3432:                                             ; preds = %3431
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #9
  call void @_ZN9HighsInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %195) #9
  call void @llvm.lifetime.end.p0(i64 184, ptr %195) #9
  call void @llvm.lifetime.end.p0(i64 208, ptr %194) #9
  store i32 0, ptr %63, align 4
  br label %3433

3433:                                             ; preds = %3432, %2690
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %3434

3434:                                             ; preds = %3433, %1144
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #9
  br label %3435

3435:                                             ; preds = %3434, %748
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #9
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %51) #9
  call void @llvm.lifetime.end.p0(i64 392, ptr %51) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #9
  %3436 = load i32, ptr %63, align 4
  switch i32 %3436, label %3469 [
    i32 0, label %3437
    i32 1, label %3437
  ]

3437:                                             ; preds = %3435, %3435
  ret void

3438:                                             ; preds = %3428
  %3439 = landingpad { ptr, i32 }
          cleanup
  %3440 = extractvalue { ptr, i32 } %3439, 0
  store ptr %3440, ptr %36, align 8
  %3441 = extractvalue { ptr, i32 } %3439, 1
  store i32 %3441, ptr %37, align 4
  br label %3446

3442:                                             ; preds = %3431
  %3443 = landingpad { ptr, i32 }
          cleanup
  %3444 = extractvalue { ptr, i32 } %3443, 0
  store ptr %3444, ptr %36, align 8
  %3445 = extractvalue { ptr, i32 } %3443, 1
  store i32 %3445, ptr %37, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %242) #9
  br label %3446

3446:                                             ; preds = %3442, %3438
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %243) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %243) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr %242) #9
  br label %3447

3447:                                             ; preds = %3446, %3427, %3243, %3234, %3225, %3216, %3204, %3141, %3129, %3128, %3116, %3115, %3106, %3094, %3093, %3084, %3072
  call void @llvm.lifetime.end.p0(i64 1, ptr %217) #9
  br label %3448

3448:                                             ; preds = %3447, %2938, %2929, %2917, %2916, %2907, %2895, %2894, %2885, %2873, %2788, %2757, %2743, %2734, %2722
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #9
  call void @_ZN9HighsInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %195) #9
  br label %3449

3449:                                             ; preds = %3448, %2718
  call void @llvm.lifetime.end.p0(i64 184, ptr %195) #9
  call void @llvm.lifetime.end.p0(i64 208, ptr %194) #9
  br label %3450

3450:                                             ; preds = %3449, %2699, %2682, %2075, %2066, %2048, %2039, %2027, %2026, %2017, %1980, %1971, %1959, %1935, %1915, %1911, %1887
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %3451

3451:                                             ; preds = %3450, %1284, %1275, %1257, %1248, %1236, %1235, %1226, %1189, %1180, %1168, %1140, %1092, %1078, %1058, %1038, %1029, %1003, %989, %969, %949, %929, %920, %908, %907, %867, %844
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  br label %3452

3452:                                             ; preds = %3451, %776
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #9
  br label %3453

3453:                                             ; preds = %3452, %772
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #9
  br label %3454

3454:                                             ; preds = %3453, %757, %663
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  br label %3455

3455:                                             ; preds = %3454, %651
  call void @llvm.lifetime.end.p0(i64 32, ptr %60) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  br label %3456

3456:                                             ; preds = %3455, %647
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #9
  br label %3457

3457:                                             ; preds = %3456, %646, %637, %628, %601, %592, %580
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %51) #9
  br label %3458

3458:                                             ; preds = %3457, %576
  call void @llvm.lifetime.end.p0(i64 392, ptr %51) #9
  br label %3459

3459:                                             ; preds = %3458, %575, %566, %519
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  br label %3460

3460:                                             ; preds = %3459, %515
  call void @llvm.lifetime.end.p0(i64 32, ptr %47) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %45) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %3461

3461:                                             ; preds = %3460, %452
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %3462

3462:                                             ; preds = %3461, %338
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %3463

3463:                                             ; preds = %3462, %334
  call void @llvm.lifetime.end.p0(i64 32, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #9
  br label %3464

3464:                                             ; preds = %3463
  %3465 = load ptr, ptr %36, align 8
  %3466 = load i32, ptr %37, align 4
  %3467 = insertvalue { ptr, i32 } poison, ptr %3465, 0
  %3468 = insertvalue { ptr, i32 } %3467, i32 %3466, 1
  resume { ptr, i32 } %3468

3469:                                             ; preds = %3435
  unreachable
}

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

declare noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112)) #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(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_EERKS8_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: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2 align 2

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

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

declare void @_Z14getKktFailuresRK12HighsOptionsRK10HighsModelRK13HighsSolutionRK10HighsBasisR9HighsInfoR21HighsPrimalDualErrorsb(ptr noundef nonnull align 8 dereferenceable(1020), ptr noundef nonnull align 8 dereferenceable(1000), ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(208), i1 noundef zeroext) #4

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

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

!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 = !{!"_ZTS16HighsModelStatus", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"bool", !7, i64 0}
!13 = !{!14, !12, i64 0}
!14 = !{!"_ZTS13HighsSolution", !12, i64 0, !12, i64 1, !15, i64 8, !15, i64 32, !15, i64 56, !15, i64 80}
!15 = !{!"_ZTSSt6vectorIdSaIdEE", !16, i64 0}
!16 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !17, i64 0}
!17 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !18, i64 0}
!18 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!19 = !{i8 0, i8 2}
!20 = !{}
!21 = !{!14, !12, i64 1}
!22 = !{!23, !12, i64 0}
!23 = !{!"_ZTS10HighsBasis", !12, i64 0, !12, i64 1, !12, i64 2, !12, i64 3, !24, i64 4, !24, i64 8, !25, i64 16, !28, i64 48, !28, i64 72}
!24 = !{!"int", !7, i64 0}
!25 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !26, i64 0, !27, i64 8, !7, i64 16}
!26 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!27 = !{!"long", !7, i64 0}
!28 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !29, i64 0}
!29 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!32 = !{!33, !33, i64 0}
!33 = !{!"double", !7, i64 0}
!34 = !{!24, !24, i64 0}
!35 = !{!36, !24, i64 0}
!36 = !{!"_ZTS7HighsLp", !24, i64 0, !24, i64 4, !15, i64 8, !15, i64 32, !15, i64 56, !15, i64 80, !15, i64 104, !37, i64 128, !43, i64 240, !33, i64 248, !25, i64 256, !25, i64 288, !24, i64 320, !24, i64 324, !44, i64 328, !44, i64 352, !48, i64 376, !52, i64 400, !52, i64 456, !24, i64 512, !24, i64 516, !58, i64 520, !12, i64 592, !12, i64 593, !24, i64 596, !12, i64 600, !59, i64 608}
!37 = !{!"_ZTS17HighsSparseMatrix", !38, i64 0, !24, i64 4, !24, i64 8, !39, i64 16, !39, i64 40, !39, i64 64, !15, i64 88}
!38 = !{!"_ZTS12MatrixFormat", !7, i64 0}
!39 = !{!"_ZTSSt6vectorIiSaIiEE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!43 = !{!"_ZTS8ObjSense", !7, i64 0}
!44 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !45, i64 0}
!45 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!48 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !49, i64 0}
!49 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!52 = !{!"_ZTS13HighsNameHash", !53, i64 0}
!53 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !54, i64 0}
!54 = !{!"_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, !27, i64 8, !55, i64 16, !27, i64 24, !56, i64 32, !6, i64 48}
!55 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!56 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !57, i64 0, !27, i64 8}
!57 = !{!"float", !7, i64 0}
!58 = !{!"_ZTS10HighsScale", !24, i64 0, !12, i64 4, !24, i64 8, !24, i64 12, !33, i64 16, !15, i64 24, !15, i64 48}
!59 = !{!"_ZTS11HighsLpMods", !39, i64 0, !39, i64 24, !15, i64 48, !15, i64 72, !48, i64 96, !39, i64 120, !15, i64 144, !39, i64 168, !15, i64 192, !39, i64 216, !15, i64 240, !15, i64 264, !15, i64 288}
!60 = distinct !{!60, !61}
!61 = !{!"llvm.loop.mustprogress"}
!62 = !{!63, !24, i64 920}
!63 = !{!"_ZTS10HighsModel", !36, i64 0, !64, i64 920}
!64 = !{!"_ZTS12HighsHessian", !24, i64 0, !65, i64 4, !39, i64 8, !39, i64 32, !15, i64 56}
!65 = !{!"_ZTS13HessianFormat", !7, i64 0}
!66 = !{!67, !24, i64 432}
!67 = !{!"_ZTS18HighsOptionsStruct", !25, i64 8, !25, i64 40, !25, i64 72, !25, i64 104, !33, i64 136, !25, i64 144, !25, i64 176, !24, i64 208, !25, i64 216, !33, i64 248, !33, i64 256, !33, i64 264, !33, i64 272, !33, i64 280, !33, i64 288, !33, i64 296, !33, i64 304, !33, i64 312, !33, i64 320, !33, i64 328, !24, i64 336, !24, i64 340, !24, i64 344, !24, i64 348, !24, i64 352, !24, i64 356, !24, i64 360, !24, i64 364, !24, i64 368, !24, i64 372, !24, i64 376, !24, i64 380, !24, i64 384, !24, i64 388, !25, i64 392, !12, i64 424, !12, i64 425, !12, i64 426, !24, i64 428, !24, i64 432, !25, i64 440, !12, i64 472, !12, i64 473, !12, i64 474, !24, i64 476, !12, i64 480, !12, i64 481, !24, i64 484, !24, i64 488, !33, i64 496, !24, i64 504, !24, i64 508, !24, i64 512, !12, i64 516, !24, i64 520, !12, i64 524, !12, i64 525, !12, i64 526, !12, i64 527, !12, i64 528, !12, i64 529, !12, i64 530, !24, i64 532, !24, i64 536, !24, i64 540, !24, i64 544, !24, i64 548, !24, i64 552, !24, i64 556, !24, i64 560, !24, i64 564, !24, i64 568, !24, i64 572, !24, i64 576, !24, i64 580, !24, i64 584, !24, i64 588, !12, i64 592, !12, i64 593, !12, i64 594, !12, i64 595, !33, i64 600, !33, i64 608, !33, i64 616, !33, i64 624, !33, i64 632, !33, i64 640, !33, i64 648, !33, i64 656, !33, i64 664, !33, i64 672, !33, i64 680, !12, i64 688, !12, i64 689, !12, i64 690, !12, i64 691, !24, i64 692, !33, i64 696, !12, i64 704, !12, i64 705, !25, i64 712, !33, i64 744, !24, i64 752, !24, i64 756, !12, i64 760, !12, i64 761, !12, i64 762, !12, i64 763, !24, i64 764, !24, i64 768, !24, i64 772, !24, i64 776, !24, i64 780, !24, i64 784, !24, i64 788, !24, i64 792, !24, i64 796, !24, i64 800, !24, i64 804, !33, i64 808, !33, i64 816, !33, i64 824, !33, i64 832, !33, i64 840, !12, i64 848, !12, i64 849, !25, i64 856, !12, i64 888, !24, i64 892, !68, i64 896}
!68 = !{!"_ZTS15HighsLogOptions", !6, i64 0, !6, i64 8, !6, i64 16, !6, i64 24, !6, i64 32, !6, i64 40, !69, i64 48, !6, i64 80, !12, i64 88}
!69 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !70, i64 0, !6, i64 24}
!70 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!71 = !{!36, !24, i64 4}
!72 = !{!36, !24, i64 596}
!73 = !{!74, !74, i64 0}
!74 = !{!"_ZTS12HighsVarType", !7, i64 0}
!75 = distinct !{!75, !61}
!76 = !{!77, !24, i64 36}
!77 = !{!"_ZTS15HighsInfoStruct", !12, i64 0, !27, i64 8, !24, i64 16, !24, i64 20, !24, i64 24, !24, i64 28, !24, i64 32, !24, i64 36, !24, i64 40, !24, i64 44, !33, i64 48, !33, i64 56, !33, i64 64, !33, i64 72, !24, i64 80, !33, i64 88, !33, i64 96, !24, i64 104, !33, i64 112, !33, i64 120, !33, i64 128, !33, i64 136, !33, i64 144}
!78 = !{!77, !12, i64 0}
!79 = !{!77, !33, i64 48}
!80 = !{!36, !43, i64 240}
!81 = !{!77, !24, i64 40}
!82 = !{!83, !83, i64 0}
!83 = !{!"_ZTS16HighsBasisStatus", !7, i64 0}
!84 = distinct !{!84, !61}
!85 = distinct !{!85, !61}
!86 = !{!87, !33, i64 80}
!87 = !{!"_ZTS21HighsPrimalDualErrors", !24, i64 0, !24, i64 4, !33, i64 8, !33, i64 16, !24, i64 24, !33, i64 32, !33, i64 40, !24, i64 48, !33, i64 56, !24, i64 64, !33, i64 72, !88, i64 80, !88, i64 112, !88, i64 144, !88, i64 176}
!88 = !{!"_ZTS10HighsError", !33, i64 0, !24, i64 8, !33, i64 16, !24, i64 24}
!89 = !{!87, !24, i64 88}
!90 = !{!87, !33, i64 96}
!91 = !{!87, !24, i64 104}
!92 = !{!87, !33, i64 112}
!93 = !{!87, !24, i64 120}
!94 = !{!87, !33, i64 128}
!95 = !{!87, !24, i64 136}
!96 = !{!87, !33, i64 144}
!97 = !{!87, !24, i64 152}
!98 = !{!87, !33, i64 160}
!99 = !{!87, !24, i64 168}
!100 = !{!87, !33, i64 176}
!101 = !{!87, !24, i64 184}
!102 = !{!87, !33, i64 192}
!103 = !{!87, !24, i64 200}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::array" = type { [32 x i8] }
%"class.std::allocator" = type { i8 }
%"class.std::__cxx11::basic_stringstream" = type { %"class.std::basic_iostream.base", %"class.std::__cxx11::basic_stringbuf", %"class.std::basic_ios" }
%"class.std::basic_iostream.base" = type { %"class.std::basic_istream.base", %"class.std::basic_ostream.base" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_ostream.base" = type { ptr }
%"class.std::__cxx11::basic_stringbuf" = type { %"class.std::basic_streambuf", i32, %"class.std::__cxx11::basic_string" }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%struct.HighsPrimalDualErrors = type { i32, i32, double, double, i32, double, double, i32, double, i32, double, %struct.HighsError, %struct.HighsError, %struct.HighsError, %struct.HighsError }
%struct.HighsError = type { double, i32, double, i32 }
%class.HighsInfo = type { ptr, %struct.HighsInfoStruct, %"class.std::vector.28" }
%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.28" = type { %"struct.std::_Vector_base.29" }
%"struct.std::_Vector_base.29" = 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 }

@.str.9 = external hidden unnamed_addr constant [1 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [108 x i8], align 1
@__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob = external hidden unnamed_addr constant [173 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [23 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [15 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress 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: noreturn nounwind
declare void @__assert_fail(ptr noundef, ptr noundef, i32 noundef, ptr noundef) local_unnamed_addr #3

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

declare void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef, ptr noundef nonnull align 8 dereferenceable(89), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef) local_unnamed_addr #5

; Function Attrs: mustprogress uwtable
declare void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(128)) local_unnamed_addr #2 align 2

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

; Function Attrs: inlinehint mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

declare void @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ...) local_unnamed_addr #4

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

; 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

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

declare void @_Z19highsDoubleToStringdd(ptr dead_on_unwind writable sret(%"struct.std::array") align 1, double noundef, double noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none) uwtable
declare dso_local noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32)) local_unnamed_addr #6 align 2

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

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

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

; 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 uwtable
define dso_local void @_Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull align 8 dereferenceable(1000) %2, ptr noundef nonnull align 8 dereferenceable(96) %3, ptr noundef nonnull align 8 dereferenceable(104) %4, i32 noundef %5, ptr nocapture noundef nonnull readonly align 8 dereferenceable(184) %6, i1 noundef zeroext %7) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_stringstream", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::allocator", align 1
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::__cxx11::basic_string", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::__cxx11::basic_string", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"class.std::__cxx11::basic_string", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"struct.std::array", align 1
  %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 %"class.std::__cxx11::basic_string", 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 %"class.std::__cxx11::basic_string", 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 %"struct.std::array", align 1
  %60 = alloca %"class.std::__cxx11::basic_string", align 8
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %"class.std::__cxx11::basic_string", align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"class.std::__cxx11::basic_string", align 8
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca %"class.std::allocator", align 1
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::allocator", align 1
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"struct.std::array", align 1
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", 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 %"struct.std::array", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %89 = alloca %"class.std::__cxx11::basic_string", align 8
  %90 = alloca %"class.std::allocator", align 1
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %"class.std::__cxx11::basic_string", align 8
  %95 = alloca %"class.std::__cxx11::basic_string", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::__cxx11::basic_string", align 8
  %98 = alloca %"class.std::__cxx11::basic_string", align 8
  %99 = alloca %"class.std::__cxx11::basic_string", align 8
  %100 = alloca %"class.std::__cxx11::basic_string", align 8
  %101 = alloca %"class.std::__cxx11::basic_string", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"struct.std::array", align 1
  %104 = alloca %"class.std::__cxx11::basic_string", align 8
  %105 = alloca %"class.std::__cxx11::basic_string", align 8
  %106 = alloca %"class.std::__cxx11::basic_string", align 8
  %107 = alloca %"class.std::__cxx11::basic_string", align 8
  %108 = alloca %"class.std::allocator", align 1
  %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 %"class.std::__cxx11::basic_string", align 8
  %113 = alloca %"class.std::__cxx11::basic_string", align 8
  %114 = alloca %"class.std::allocator", align 1
  %115 = alloca %"class.std::__cxx11::basic_string", align 8
  %116 = alloca %"class.std::allocator", align 1
  %117 = alloca %"class.std::__cxx11::basic_string", align 8
  %118 = alloca %"struct.std::array", align 1
  %119 = alloca %"class.std::__cxx11::basic_string", align 8
  %120 = alloca %"class.std::__cxx11::basic_string", align 8
  %121 = alloca %"class.std::__cxx11::basic_string", align 8
  %122 = alloca %"class.std::__cxx11::basic_string", align 8
  %123 = alloca %"class.std::__cxx11::basic_string", align 8
  %124 = alloca %"class.std::__cxx11::basic_string", align 8
  %125 = alloca %"class.std::__cxx11::basic_string", align 8
  %126 = alloca %"struct.std::array", align 1
  %127 = alloca %"class.std::__cxx11::basic_string", align 8
  %128 = alloca %"class.std::__cxx11::basic_string", align 8
  %129 = alloca %"class.std::__cxx11::basic_string", align 8
  %130 = alloca %"class.std::__cxx11::basic_string", align 8
  %131 = alloca %"class.std::__cxx11::basic_string", align 8
  %132 = alloca %"class.std::__cxx11::basic_string", align 8
  %133 = alloca %"class.std::allocator", align 1
  %134 = alloca %struct.HighsPrimalDualErrors, align 8
  %135 = alloca %class.HighsInfo, align 8
  %136 = alloca %"class.std::__cxx11::basic_string", align 8
  %137 = alloca %"class.std::allocator", align 1
  %138 = alloca %"class.std::__cxx11::basic_string", align 8
  %139 = alloca %"class.std::allocator", align 1
  %140 = alloca %"class.std::__cxx11::basic_string", align 8
  %141 = alloca %"class.std::allocator", align 1
  %142 = alloca %"class.std::__cxx11::basic_string", align 8
  %143 = alloca %"class.std::allocator", align 1
  %144 = alloca %"class.std::__cxx11::basic_string", align 8
  %145 = alloca %"class.std::__cxx11::basic_string", align 8
  %146 = alloca %"class.std::__cxx11::basic_string", align 8
  %147 = alloca %"class.std::__cxx11::basic_string", align 8
  %148 = alloca %"class.std::__cxx11::basic_string", align 8
  %149 = alloca %"class.std::__cxx11::basic_string", align 8
  %150 = alloca %"class.std::__cxx11::basic_string", align 8
  %151 = alloca %"class.std::__cxx11::basic_string", align 8
  %152 = alloca %"class.std::__cxx11::basic_string", align 8
  %153 = alloca %"class.std::__cxx11::basic_string", align 8
  %154 = alloca %"class.std::__cxx11::basic_string", align 8
  %155 = alloca %"class.std::__cxx11::basic_string", align 8
  %156 = alloca %"class.std::__cxx11::basic_string", align 8
  %157 = alloca %"class.std::__cxx11::basic_string", align 8
  %158 = alloca %"class.std::__cxx11::basic_string", align 8
  %159 = alloca %"class.std::__cxx11::basic_string", align 8
  %160 = alloca %"class.std::__cxx11::basic_string", align 8
  %161 = alloca %"class.std::__cxx11::basic_string", align 8
  %162 = alloca %"class.std::__cxx11::basic_string", align 8
  %163 = alloca %"class.std::__cxx11::basic_string", align 8
  %164 = alloca %"class.std::__cxx11::basic_string", align 8
  %165 = alloca %"class.std::__cxx11::basic_string", align 8
  %166 = alloca %"class.std::__cxx11::basic_string", align 8
  %167 = alloca %"class.std::__cxx11::basic_string", align 8
  %168 = alloca %"class.std::__cxx11::basic_string", align 8
  %169 = alloca %"class.std::__cxx11::basic_string", align 8
  %170 = alloca %"class.std::__cxx11::basic_string", align 8
  %171 = alloca %"class.std::__cxx11::basic_string", align 8
  %172 = alloca %"class.std::__cxx11::basic_string", align 8
  %173 = alloca %"class.std::__cxx11::basic_string", align 8
  %174 = alloca %"class.std::__cxx11::basic_string", align 8
  %175 = alloca %"class.std::__cxx11::basic_string", align 8
  %176 = alloca %"class.std::__cxx11::basic_string", align 8
  %177 = alloca %"class.std::allocator", align 1
  %178 = load i8, ptr %4, align 8, !tbaa !5, !range !15, !noundef !16
  %179 = trunc nuw i8 %178 to i1
  %180 = getelementptr inbounds i8, ptr %4, i64 1
  %181 = load i8, ptr %180, align 1, !tbaa !17, !range !15, !noundef !16
  %182 = trunc nuw i8 %181 to i1
  %183 = load i8, ptr %3, align 8, !tbaa !18, !range !15, !noundef !16
  %184 = trunc nuw i8 %183 to i1
  %185 = getelementptr inbounds i8, ptr %1, i64 896
  %186 = getelementptr inbounds i8, ptr %2, i64 328
  %187 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %186) #9
  %.not = icmp eq i64 %187, 0
  %188 = getelementptr inbounds i8, ptr %2, i64 352
  %189 = tail call noundef i64 @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %188) #9
  %.not629 = icmp ne i64 %189, 0
  %190 = getelementptr inbounds i8, ptr %2, i64 128
  %191 = tail call noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %190)
  %192 = load i32, ptr %2, align 8, !tbaa !28
  %193 = icmp sgt i32 %192, 0
  br i1 %193, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %8
  %194 = getelementptr inbounds i8, ptr %2, i64 8
  br label %203

._crit_edge:                                      ; preds = %203, %8
  %.0434.lcssa = phi i32 [ %191, %8 ], [ %.1435, %203 ]
  %195 = tail call noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %190)
  %196 = icmp ne i32 %.0434.lcssa, %195
  %197 = getelementptr inbounds i8, ptr %2, i64 920
  %198 = load i32, ptr %197, align 8
  %199 = icmp ne i32 %198, 0
  %200 = select i1 %196, i1 true, i1 %199
  %201 = getelementptr inbounds i8, ptr %1, i64 432
  %202 = load i32, ptr %201, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %9) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.129, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %211 unwind label %216

203:                                              ; preds = %.lr.ph, %203
  %indvars.iv = phi i64 [ 0, %.lr.ph ], [ %indvars.iv.next, %203 ]
  %.04341028 = phi i32 [ %191, %.lr.ph ], [ %.1435, %203 ]
  %204 = tail call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %194, i64 noundef %indvars.iv) #9
  %205 = load double, ptr %204, align 8, !tbaa !59
  %206 = fcmp une double %205, 0.000000e+00
  %207 = zext i1 %206 to i32
  %.1435 = add nsw i32 %.04341028, %207
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %208 = load i32, ptr %2, align 8, !tbaa !28
  %209 = sext i32 %208 to i64
  %210 = icmp slt i64 %indvars.iv.next, %209
  br i1 %210, label %203, label %._crit_edge, !llvm.loop !60

211:                                              ; preds = %._crit_edge
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #9
  %212 = getelementptr inbounds i8, ptr %2, i64 288
  %213 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef nonnull align 8 dereferenceable(32) %9) #9
  br i1 %213, label %214, label %220

214:                                              ; preds = %211
  %215 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %212) #9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %185, i32 noundef 4, ptr noundef nonnull @.str.130, ptr noundef %215)
          to label %220 unwind label %218

216:                                              ; preds = %._crit_edge
  %217 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #9
  br label %1763

218:                                              ; preds = %233, %214
  %219 = landingpad { ptr, i32 }
          cleanup
  br label %1762

220:                                              ; preds = %214, %211
  %221 = icmp slt i32 %202, -1
  %.phi.trans.insert = getelementptr inbounds i8, ptr %2, i64 4
  %.pre = load i32, ptr %.phi.trans.insert, align 4, !tbaa !62
  %222 = icmp sgt i32 %202, %.pre
  %or.cond1165 = select i1 %221, i1 true, i1 %222
  br i1 %or.cond1165, label %._crit_edge1110, label %223

223:                                              ; preds = %220
  switch i32 %202, label %235 [
    i32 -1, label %.thread
    i32 0, label %224
  ]

224:                                              ; preds = %223
  %.not895 = xor i1 %213, true
  %brmerge = or i1 %196, %.not895
  br i1 %brmerge, label %225, label %.thread

225:                                              ; preds = %224
  %226 = getelementptr inbounds i8, ptr %2, i64 596
  %227 = load i32, ptr %226, align 4, !tbaa !63
  %228 = icmp sgt i32 %227, -1
  br i1 %228, label %229, label %233

229:                                              ; preds = %225
  %.not630 = icmp sgt i32 %227, %.pre
  br i1 %.not630, label %230, label %231

230:                                              ; preds = %229
  call void @__assert_fail(ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.73, i32 noundef 590, ptr noundef nonnull @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

231:                                              ; preds = %229
  %232 = add nuw nsw i32 %227, 1
  br label %.thread

233:                                              ; preds = %225
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %185, i32 noundef 4, ptr noundef nonnull @.str.133)
          to label %..thread_crit_edge unwind label %218

..thread_crit_edge:                               ; preds = %233
  %234 = add nsw i32 %.pre, 1
  %.pre1112 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !62
  br label %.thread

235:                                              ; preds = %223
  br label %.thread

._crit_edge1110:                                  ; preds = %220
  %236 = add nsw i32 %.pre, 1
  %237 = icmp sgt i32 %.pre, -2
  br i1 %237, label %.thread, label %.critedge

.thread:                                          ; preds = %..thread_crit_edge, %224, %223, %235, %231, %._crit_edge1110
  %238 = phi i32 [ %.pre, %._crit_edge1110 ], [ %.pre, %224 ], [ %.pre, %223 ], [ %.pre, %235 ], [ %.pre1112, %..thread_crit_edge ], [ %.pre, %231 ]
  %.0438909 = phi i32 [ %236, %._crit_edge1110 ], [ 0, %224 ], [ 0, %223 ], [ %202, %235 ], [ %234, %..thread_crit_edge ], [ %232, %231 ]
  %239 = getelementptr inbounds i8, ptr %2, i64 4
  %240 = add nsw i32 %238, 1
  %.not631 = icmp sgt i32 %.0438909, %240
  br i1 %.not631, label %.critedge, label %241

.critedge:                                        ; preds = %._crit_edge1110, %.thread
  call void @__assert_fail(ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.73, i32 noundef 606, ptr noundef nonnull @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

241:                                              ; preds = %.thread
  %242 = load i32, ptr %2, align 8, !tbaa !28
  %243 = icmp ne i32 %.0438909, 0
  %244 = zext i1 %243 to i32
  %245 = add nsw i32 %238, %244
  %246 = icmp eq i32 %.0438909, 0
  br i1 %246, label %247, label %251

247:                                              ; preds = %241
  %248 = invoke noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112) %190)
          to label %251 unwind label %249

249:                                              ; preds = %247
  %250 = landingpad { ptr, i32 }
          cleanup
  br label %1762

251:                                              ; preds = %247, %241
  %.2436 = phi i32 [ %.0434.lcssa, %241 ], [ %248, %247 ]
  %252 = getelementptr inbounds i8, ptr %2, i64 376
  %253 = call noundef i64 @_ZNKSt6vectorI12HighsVarTypeSaIS0_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %252) #9
  %254 = trunc i64 %253 to i32
  %255 = load i32, ptr %2, align 8
  %256 = icmp eq i32 %255, %254
  %257 = icmp sgt i32 %255, 0
  %or.cond1049 = and i1 %256, %257
  br i1 %or.cond1049, label %.lr.ph1033, label %.loopexit

.lr.ph1033:                                       ; preds = %251
  %258 = getelementptr inbounds i8, ptr %2, i64 32
  %259 = getelementptr inbounds i8, ptr %2, i64 56
  br label %260

260:                                              ; preds = %.lr.ph1033, %274
  %indvars.iv1102 = phi i64 [ 0, %.lr.ph1033 ], [ %indvars.iv.next1103, %274 ]
  %.05911032 = phi i32 [ 0, %.lr.ph1033 ], [ %.1592, %274 ]
  %.05941031 = phi i32 [ 0, %.lr.ph1033 ], [ %.1595, %274 ]
  %.05991030 = phi i8 [ 0, %.lr.ph1033 ], [ %.1600, %274 ]
  %261 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %252, i64 noundef %indvars.iv1102) #9
  %262 = load i8, ptr %261, align 1, !tbaa !64
  %.not893 = icmp eq i8 %262, 0
  br i1 %.not893, label %274, label %263

263:                                              ; preds = %260
  %264 = add nsw i32 %.05911032, 1
  %265 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %258, i64 noundef %indvars.iv1102) #9
  %266 = load double, ptr %265, align 8, !tbaa !59
  %267 = fcmp oeq double %266, 0.000000e+00
  br i1 %267, label %268, label %274

268:                                              ; preds = %263
  %269 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %259, i64 noundef %indvars.iv1102) #9
  %270 = load double, ptr %269, align 8, !tbaa !59
  %271 = fcmp oeq double %270, 1.000000e+00
  br i1 %271, label %272, label %274

272:                                              ; preds = %268
  %273 = add nsw i32 %.05941031, 1
  br label %274

274:                                              ; preds = %260, %272, %268, %263
  %.1600 = phi i8 [ 1, %272 ], [ 1, %268 ], [ 1, %263 ], [ %.05991030, %260 ]
  %.1595 = phi i32 [ %273, %272 ], [ %.05941031, %268 ], [ %.05941031, %263 ], [ %.05941031, %260 ]
  %.1592 = phi i32 [ %264, %272 ], [ %264, %268 ], [ %264, %263 ], [ %.05911032, %260 ]
  %indvars.iv.next1103 = add nuw nsw i64 %indvars.iv1102, 1
  %275 = load i32, ptr %2, align 8, !tbaa !28
  %276 = sext i32 %275 to i64
  %277 = icmp slt i64 %indvars.iv.next1103, %276
  br i1 %277, label %260, label %.loopexit, !llvm.loop !66

.loopexit:                                        ; preds = %274, %251
  %.2601 = phi i8 [ 0, %251 ], [ %.1600, %274 ]
  %.2596 = phi i32 [ 0, %251 ], [ %.1595, %274 ]
  %.2593 = phi i32 [ 0, %251 ], [ %.1592, %274 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %278 unwind label %281

278:                                              ; preds = %.loopexit
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  br i1 %7, label %279, label %285

279:                                              ; preds = %278
  %280 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.135)
          to label %285 unwind label %283

281:                                              ; preds = %.loopexit
  %282 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #9
  br label %1761

283:                                              ; preds = %279
  %284 = landingpad { ptr, i32 }
          cleanup
  br label %1760

285:                                              ; preds = %279, %278
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #9
  %286 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  %287 = getelementptr inbounds i8, ptr %2, i64 256
  %288 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %287) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull @.str.136, ptr noundef %286, ptr noundef nonnull @.str.137, ptr noundef %288)
          to label %289 unwind label %307

289:                                              ; preds = %285
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %290 unwind label %309

290:                                              ; preds = %289
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #9
  %291 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull @.str.138, ptr noundef %291, ptr noundef nonnull @.str.139, i32 noundef %245)
          to label %292 unwind label %312

292:                                              ; preds = %290
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %14)
          to label %293 unwind label %314

293:                                              ; preds = %292
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  call void @llvm.lifetime.start.p0(i64 392, ptr nonnull %15) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %294 unwind label %317

294:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %295 unwind label %319

295:                                              ; preds = %294
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #9
  %296 = getelementptr inbounds i8, ptr %15, i64 16
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #9
  %297 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull @.str.140, ptr noundef %297, ptr noundef nonnull @.str.141, i32 noundef %242)
          to label %298 unwind label %321

298:                                              ; preds = %295
  %299 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %17)
          to label %300 unwind label %323

300:                                              ; preds = %298
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  br i1 %7, label %331, label %301

301:                                              ; preds = %300
  %302 = trunc nuw i8 %.2601 to i1
  br i1 %302, label %303, label %331

303:                                              ; preds = %301
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %18) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %18, ptr noundef nonnull @.str.142, i32 noundef %.2593, i32 noundef %.2596)
          to label %304 unwind label %326

304:                                              ; preds = %303
  %305 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %18)
          to label %306 unwind label %328

306:                                              ; preds = %304
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #9
  br label %331

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

309:                                              ; preds = %289
  %310 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #9
  br label %311

311:                                              ; preds = %309, %307
  %.pn = phi { ptr, i32 } [ %310, %309 ], [ %308, %307 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #9
  br label %1760

312:                                              ; preds = %290
  %313 = landingpad { ptr, i32 }
          cleanup
  br label %316

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

316:                                              ; preds = %314, %312
  %.pn633 = phi { ptr, i32 } [ %315, %314 ], [ %313, %312 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #9
  br label %1760

317:                                              ; preds = %293
  %318 = landingpad { ptr, i32 }
          cleanup
  br label %1759

319:                                              ; preds = %294
  %320 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #9
  br label %1758

321:                                              ; preds = %295
  %322 = landingpad { ptr, i32 }
          cleanup
  br label %325

323:                                              ; preds = %298
  %324 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #9
  br label %325

325:                                              ; preds = %323, %321
  %.pn635 = phi { ptr, i32 } [ %324, %323 ], [ %322, %321 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #9
  br label %1758

326:                                              ; preds = %303
  %327 = landingpad { ptr, i32 }
          cleanup
  br label %330

328:                                              ; preds = %304
  %329 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #9
  br label %330

330:                                              ; preds = %328, %326
  %.pn637 = phi { ptr, i32 } [ %329, %328 ], [ %327, %326 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %18) #9
  br label %1758

331:                                              ; preds = %306, %301, %300
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull @.str.82)
          to label %332 unwind label %342

332:                                              ; preds = %331
  %333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %19)
          to label %334 unwind label %344

334:                                              ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %335 unwind label %347

335:                                              ; preds = %334
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %20)
          to label %336 unwind label %349

336:                                              ; preds = %335
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #9
  %337 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull @.str.138, ptr noundef %337, ptr noundef nonnull @.str.143, i32 noundef %.2436)
          to label %338 unwind label %352

338:                                              ; preds = %336
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %21)
          to label %339 unwind label %354

339:                                              ; preds = %338
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.144, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %340 unwind label %357

340:                                              ; preds = %339
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.145, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %341 unwind label %359

341:                                              ; preds = %340
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #9
  switch i32 %5, label %375 [
    i32 7, label %361
    i32 8, label %367
    i32 10, label %371
  ]

342:                                              ; preds = %331
  %343 = landingpad { ptr, i32 }
          cleanup
  br label %346

344:                                              ; preds = %332
  %345 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #9
  br label %346

346:                                              ; preds = %344, %342
  %.pn639 = phi { ptr, i32 } [ %345, %344 ], [ %343, %342 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #9
  br label %1758

347:                                              ; preds = %334
  %348 = landingpad { ptr, i32 }
          cleanup
  br label %351

349:                                              ; preds = %335
  %350 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #9
  br label %351

351:                                              ; preds = %349, %347
  %.pn641 = phi { ptr, i32 } [ %350, %349 ], [ %348, %347 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #9
  br label %1758

352:                                              ; preds = %336
  %353 = landingpad { ptr, i32 }
          cleanup
  br label %356

354:                                              ; preds = %338
  %355 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #9
  br label %356

356:                                              ; preds = %354, %352
  %.pn643 = phi { ptr, i32 } [ %355, %354 ], [ %353, %352 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #9
  br label %1758

357:                                              ; preds = %339
  %358 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %23) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #9
  br label %1757

359:                                              ; preds = %340
  %360 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #9
  br label %1756

361:                                              ; preds = %341
  %362 = trunc nuw i8 %.2601 to i1
  br i1 %362, label %363, label %.invoke

363:                                              ; preds = %361
  %364 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.146)
          to label %.invoke unwind label %365

365:                                              ; preds = %.invoke, %396, %390, %383, %381, %371, %369, %363
  %366 = landingpad { ptr, i32 }
          cleanup
  br label %1755

367:                                              ; preds = %341
  %368 = trunc nuw i8 %.2601 to i1
  br i1 %368, label %369, label %.invoke

369:                                              ; preds = %367
  %370 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.149)
          to label %.invoke unwind label %365

371:                                              ; preds = %341
  %372 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.152)
          to label %373 unwind label %365

373:                                              ; preds = %371
  %374 = trunc nuw i8 %.2601 to i1
  br i1 %374, label %.invoke, label %390

375:                                              ; preds = %341
  %376 = getelementptr inbounds i8, ptr %6, i64 44
  %377 = load i32, ptr %376, align 4, !tbaa !67
  %378 = icmp eq i32 %377, 2
  br i1 %378, label %379, label %383

379:                                              ; preds = %375
  %380 = trunc nuw i8 %.2601 to i1
  br i1 %380, label %381, label %.invoke

381:                                              ; preds = %379
  %382 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.154)
          to label %.invoke unwind label %365

383:                                              ; preds = %375
  %384 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.157)
          to label %385 unwind label %365

385:                                              ; preds = %383
  %386 = trunc nuw i8 %.2601 to i1
  br i1 %386, label %.invoke, label %390

.invoke:                                          ; preds = %363, %385, %379, %381, %373, %367, %369, %361
  %387 = phi ptr [ %22, %361 ], [ %24, %369 ], [ %22, %367 ], [ %24, %373 ], [ %24, %381 ], [ %22, %379 ], [ %24, %385 ], [ %24, %363 ]
  %388 = phi ptr [ @.str.148, %361 ], [ @.str.150, %369 ], [ @.str.151, %367 ], [ @.str.153, %373 ], [ @.str.155, %381 ], [ @.str.156, %379 ], [ @.str.153, %385 ], [ @.str.147, %363 ]
  %389 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %387, ptr noundef nonnull %388)
          to label %390 unwind label %365

390:                                              ; preds = %.invoke, %385, %373
  %391 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.144)
          to label %392 unwind label %365

392:                                              ; preds = %390
  br i1 %391, label %394, label %393

393:                                              ; preds = %392
  call void @__assert_fail(ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.73, i32 noundef 698, ptr noundef nonnull @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

394:                                              ; preds = %392
  %395 = trunc nuw i8 %.2601 to i1
  br i1 %395, label %396, label %400

396:                                              ; preds = %394
  %397 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.145)
          to label %398 unwind label %365

398:                                              ; preds = %396
  br i1 %397, label %400, label %399

399:                                              ; preds = %398
  call void @__assert_fail(ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.73, i32 noundef 699, ptr noundef nonnull @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

400:                                              ; preds = %398, %394
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #9
  %401 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  %402 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull @.str.136, ptr noundef %401, ptr noundef nonnull @.str.160, ptr noundef %402)
          to label %403 unwind label %408

403:                                              ; preds = %400
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %26)
          to label %404 unwind label %410

404:                                              ; preds = %403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  %405 = getelementptr inbounds i8, ptr %6, i64 8
  %406 = load i8, ptr %405, align 8, !tbaa !69, !range !15, !noundef !16
  %407 = trunc nuw i8 %406 to i1
  br i1 %407, label %413, label %1745

408:                                              ; preds = %400
  %409 = landingpad { ptr, i32 }
          cleanup
  br label %412

410:                                              ; preds = %403
  %411 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #9
  br label %412

412:                                              ; preds = %410, %408
  %.pn645 = phi { ptr, i32 } [ %411, %410 ], [ %409, %408 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #9
  br label %1755

413:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull align 8 dereferenceable(32) %212)
          to label %414 unwind label %418

414:                                              ; preds = %413
  %415 = load i32, ptr %239, align 4, !tbaa !62
  %.not647 = icmp eq i32 %415, 0
  %brmerge896 = or i1 %.not629, %.not647
  br i1 %brmerge896, label %422, label %416

416:                                              ; preds = %414
  %417 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.9)
          to label %.thread910 unwind label %420

418:                                              ; preds = %413
  %419 = landingpad { ptr, i32 }
          cleanup
  br label %1754

420:                                              ; preds = %423, %416
  %421 = landingpad { ptr, i32 }
          cleanup
  br label %1753

422:                                              ; preds = %414
  br i1 %.not629, label %423, label %.thread910

423:                                              ; preds = %422
  %424 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef nonnull @.str.9)
          to label %425 unwind label %420

425:                                              ; preds = %423
  br i1 %424, label %.thread910, label %426

426:                                              ; preds = %425
  call void @__assert_fail(ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.73, i32 noundef 714, ptr noundef nonnull @__PRETTY_FUNCTION__._Z19writeGlpsolSolutionP8_IO_FILERK12HighsOptionsRK10HighsModelRK10HighsBasisRK13HighsSolution16HighsModelStatusRK9HighsInfob) #10
  unreachable

.thread910:                                       ; preds = %416, %425, %422
  %427 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %212, ptr noundef nonnull @.str.9)
          to label %428 unwind label %446

428:                                              ; preds = %.thread910
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %28) #9
  %429 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  %brmerge899.demorgan = and i1 %200, %427
  br i1 %brmerge899.demorgan, label %430, label %433

430:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %29) #9
  invoke void @_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EERKS8_PKS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %29, ptr noundef nonnull align 8 dereferenceable(32) %27, ptr noundef nonnull @.str.164)
          to label %431 unwind label %448

431:                                              ; preds = %430
  %432 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  br label %433

433:                                              ; preds = %428, %431
  %434 = phi ptr [ %432, %431 ], [ @.str.9, %428 ]
  %435 = getelementptr inbounds i8, ptr %6, i64 56
  %436 = load double, ptr %435, align 8
  %437 = select i1 %200, double %436, double 0.000000e+00
  %438 = getelementptr inbounds i8, ptr %2, i64 240
  %439 = load i32, ptr %438, align 8, !tbaa !70
  %440 = icmp eq i32 %439, 1
  %.str.165..str.166 = select i1 %440, ptr @.str.165, ptr @.str.166
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull @.str.162, ptr noundef %429, ptr noundef nonnull @.str.163, ptr noundef %434, double noundef %437, ptr noundef nonnull %.str.165..str.166)
          to label %441 unwind label %450

441:                                              ; preds = %433
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %442 unwind label %452

442:                                              ; preds = %441
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  br i1 %brmerge899.demorgan, label %443, label %.critedge901

443:                                              ; preds = %442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %.critedge901

.critedge901:                                     ; preds = %442, %443
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #9
  br i1 %7, label %444, label %458

444:                                              ; preds = %.critedge901
  %445 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.167)
          to label %458 unwind label %446

446:                                              ; preds = %444, %.thread910
  %447 = landingpad { ptr, i32 }
          cleanup
  br label %1753

448:                                              ; preds = %430
  %449 = landingpad { ptr, i32 }
          cleanup
  br label %456

450:                                              ; preds = %433
  %451 = landingpad { ptr, i32 }
          cleanup
  br label %454

452:                                              ; preds = %441
  %453 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #9
  br label %454

454:                                              ; preds = %452, %450
  %.pn648 = phi { ptr, i32 } [ %453, %452 ], [ %451, %450 ]
  br i1 %brmerge899.demorgan, label %455, label %457

455:                                              ; preds = %454
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %29) #9
  br label %456

456:                                              ; preds = %455, %448
  %.pn648.pn.ph = phi { ptr, i32 } [ %449, %448 ], [ %.pn648, %455 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %29) #9
  br label %457

457:                                              ; preds = %454, %456
  %.pn648.pn915 = phi { ptr, i32 } [ %.pn648.pn.ph, %456 ], [ %.pn648, %454 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %28) #9
  br label %1753

458:                                              ; preds = %444, %.critedge901
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %30) #9
  %459 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull @.str.119, ptr noundef %459)
          to label %460 unwind label %472

460:                                              ; preds = %458
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %30)
          to label %461 unwind label %474

461:                                              ; preds = %460
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br i1 %7, label %462, label %.thread917

462:                                              ; preds = %461
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %31) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %463 unwind label %477

463:                                              ; preds = %462
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #9
  %.str.169..str.170 = select i1 %395, ptr @.str.169, ptr @.str.170
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull @.str.168, ptr noundef nonnull %.str.169..str.170, i32 noundef %245, i32 noundef %242)
          to label %464 unwind label %479

464:                                              ; preds = %463
  %465 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %32)
          to label %466 unwind label %481

466:                                              ; preds = %464
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #9
  br i1 %395, label %467, label %489

467:                                              ; preds = %466
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #9
  %468 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull @.str.171, ptr noundef %468)
          to label %469 unwind label %484

469:                                              ; preds = %467
  %470 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %33)
          to label %471 unwind label %486

471:                                              ; preds = %469
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br label %575

472:                                              ; preds = %458
  %473 = landingpad { ptr, i32 }
          cleanup
  br label %476

474:                                              ; preds = %460
  %475 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #9
  br label %476

476:                                              ; preds = %474, %472
  %.pn651 = phi { ptr, i32 } [ %475, %474 ], [ %473, %472 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %30) #9
  br label %1753

477:                                              ; preds = %462
  %478 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %31) #9
  br label %1753

479:                                              ; preds = %463
  %480 = landingpad { ptr, i32 }
          cleanup
  br label %483

481:                                              ; preds = %464
  %482 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #9
  br label %483

483:                                              ; preds = %481, %479
  %.pn653 = phi { ptr, i32 } [ %482, %481 ], [ %480, %479 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #9
  br label %1753

484:                                              ; preds = %467
  %485 = landingpad { ptr, i32 }
          cleanup
  br label %488

486:                                              ; preds = %469
  %487 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #9
  br label %488

488:                                              ; preds = %486, %484
  %.pn673 = phi { ptr, i32 } [ %487, %486 ], [ %485, %484 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #9
  br label %1753

489:                                              ; preds = %466
  %490 = getelementptr inbounds i8, ptr %6, i64 44
  %491 = load i32, ptr %490, align 4, !tbaa !67
  switch i32 %491, label %519 [
    i32 0, label %492
    i32 1, label %501
    i32 2, label %510
  ]

492:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %34) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %34, ptr noundef nonnull @.str.153)
          to label %493 unwind label %496

493:                                              ; preds = %492
  %494 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %34)
          to label %495 unwind label %498

495:                                              ; preds = %493
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #9
  br label %528

496:                                              ; preds = %492
  %497 = landingpad { ptr, i32 }
          cleanup
  br label %500

498:                                              ; preds = %493
  %499 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %34) #9
  br label %500

500:                                              ; preds = %498, %496
  %.pn661 = phi { ptr, i32 } [ %499, %498 ], [ %497, %496 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %34) #9
  br label %1753

501:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %35) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %35, ptr noundef nonnull @.str.172)
          to label %502 unwind label %505

502:                                              ; preds = %501
  %503 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %35)
          to label %504 unwind label %507

504:                                              ; preds = %502
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #9
  br label %528

505:                                              ; preds = %501
  %506 = landingpad { ptr, i32 }
          cleanup
  br label %509

507:                                              ; preds = %502
  %508 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #9
  br label %509

509:                                              ; preds = %507, %505
  %.pn659 = phi { ptr, i32 } [ %508, %507 ], [ %506, %505 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %35) #9
  br label %1753

510:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %36) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %36, ptr noundef nonnull @.str.155)
          to label %511 unwind label %514

511:                                              ; preds = %510
  %512 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %36)
          to label %513 unwind label %516

513:                                              ; preds = %511
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #9
  br label %528

514:                                              ; preds = %510
  %515 = landingpad { ptr, i32 }
          cleanup
  br label %518

516:                                              ; preds = %511
  %517 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #9
  br label %518

518:                                              ; preds = %516, %514
  %.pn657 = phi { ptr, i32 } [ %517, %516 ], [ %515, %514 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %36) #9
  br label %1753

519:                                              ; preds = %489
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull @.str.145)
          to label %520 unwind label %523

520:                                              ; preds = %519
  %521 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %37)
          to label %522 unwind label %525

522:                                              ; preds = %520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #9
  br label %528

523:                                              ; preds = %519
  %524 = landingpad { ptr, i32 }
          cleanup
  br label %527

525:                                              ; preds = %520
  %526 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #9
  br label %527

527:                                              ; preds = %525, %523
  %.pn655 = phi { ptr, i32 } [ %526, %525 ], [ %524, %523 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #9
  br label %1753

528:                                              ; preds = %504, %522, %513, %495
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull @.str.111)
          to label %529 unwind label %538

529:                                              ; preds = %528
  %530 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %38)
          to label %531 unwind label %540

531:                                              ; preds = %529
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #9
  %532 = getelementptr inbounds i8, ptr %6, i64 48
  %533 = load i32, ptr %532, align 8, !tbaa !71
  switch i32 %533, label %566 [
    i32 0, label %534
    i32 1, label %548
    i32 2, label %557
  ]

534:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %39) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull @.str.153)
          to label %535 unwind label %543

535:                                              ; preds = %534
  %536 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %537 unwind label %545

537:                                              ; preds = %535
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #9
  br label %575

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

540:                                              ; preds = %529
  %541 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #9
  br label %542

542:                                              ; preds = %540, %538
  %.pn663 = phi { ptr, i32 } [ %541, %540 ], [ %539, %538 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #9
  br label %1753

543:                                              ; preds = %534
  %544 = landingpad { ptr, i32 }
          cleanup
  br label %547

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

547:                                              ; preds = %545, %543
  %.pn671 = phi { ptr, i32 } [ %546, %545 ], [ %544, %543 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %39) #9
  br label %1753

548:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %40) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %40, ptr noundef nonnull @.str.172)
          to label %549 unwind label %552

549:                                              ; preds = %548
  %550 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %40)
          to label %551 unwind label %554

551:                                              ; preds = %549
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  br label %575

552:                                              ; preds = %548
  %553 = landingpad { ptr, i32 }
          cleanup
  br label %556

554:                                              ; preds = %549
  %555 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %40) #9
  br label %556

556:                                              ; preds = %554, %552
  %.pn669 = phi { ptr, i32 } [ %555, %554 ], [ %553, %552 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %40) #9
  br label %1753

557:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %41) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull @.str.155)
          to label %558 unwind label %561

558:                                              ; preds = %557
  %559 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %41)
          to label %560 unwind label %563

560:                                              ; preds = %558
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #9
  br label %575

561:                                              ; preds = %557
  %562 = landingpad { ptr, i32 }
          cleanup
  br label %565

563:                                              ; preds = %558
  %564 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #9
  br label %565

565:                                              ; preds = %563, %561
  %.pn667 = phi { ptr, i32 } [ %564, %563 ], [ %562, %561 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %41) #9
  br label %1753

566:                                              ; preds = %531
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull @.str.145)
          to label %567 unwind label %570

567:                                              ; preds = %566
  %568 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %42)
          to label %569 unwind label %572

569:                                              ; preds = %567
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #9
  br label %575

570:                                              ; preds = %566
  %571 = landingpad { ptr, i32 }
          cleanup
  br label %574

572:                                              ; preds = %567
  %573 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #9
  br label %574

574:                                              ; preds = %572, %570
  %.pn665 = phi { ptr, i32 } [ %573, %572 ], [ %571, %570 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #9
  br label %1753

575:                                              ; preds = %537, %560, %569, %551, %471
  %576 = load double, ptr %435, align 8
  %577 = select i1 %200, double %576, double 0.000000e+00
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %43, double noundef %577, double noundef 1.000000e-13)
          to label %578 unwind label %584

578:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %44) #9
  %579 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %43) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull @.str.173, ptr noundef %579)
          to label %580 unwind label %586

580:                                              ; preds = %578
  %581 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %44)
          to label %582 unwind label %588

582:                                              ; preds = %580
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %45) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %583 unwind label %591

583:                                              ; preds = %582
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %45)
          to label %597 unwind label %593

584:                                              ; preds = %575
  %585 = landingpad { ptr, i32 }
          cleanup
  br label %596

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

588:                                              ; preds = %580
  %589 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #9
  br label %590

590:                                              ; preds = %588, %586
  %.pn675 = phi { ptr, i32 } [ %589, %588 ], [ %587, %586 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %44) #9
  br label %596

591:                                              ; preds = %582
  %592 = landingpad { ptr, i32 }
          cleanup
  br label %595

593:                                              ; preds = %583
  %594 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #9
  br label %595

595:                                              ; preds = %593, %591
  %.pn677 = phi { ptr, i32 } [ %594, %593 ], [ %592, %591 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #9
  br label %596

596:                                              ; preds = %595, %590, %584
  %.pn677.pn = phi { ptr, i32 } [ %.pn677, %595 ], [ %.pn675, %590 ], [ %585, %584 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #9
  br label %1753

597:                                              ; preds = %583
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %45) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #9
  br i1 %179, label %670, label %1744

.thread917:                                       ; preds = %461
  br i1 %179, label %.thread918, label %1744

.thread918:                                       ; preds = %.thread917
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %46) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %46)
          to label %598 unwind label %606

598:                                              ; preds = %.thread918
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %47) #9
  %.str.175..str.176 = select i1 %184, ptr @.str.175, ptr @.str.176
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %47, ptr noundef nonnull @.str.174, ptr noundef nonnull %.str.175..str.176)
          to label %599 unwind label %608

599:                                              ; preds = %598
  %600 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %47)
          to label %601 unwind label %610

601:                                              ; preds = %599
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #9
  br i1 %182, label %602, label %618

602:                                              ; preds = %601
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %48) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %48, ptr noundef nonnull @.str.177)
          to label %603 unwind label %613

603:                                              ; preds = %602
  %604 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %48)
          to label %605 unwind label %615

605:                                              ; preds = %603
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #9
  br label %618

606:                                              ; preds = %.thread918
  %607 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %46) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %46) #9
  br label %1753

608:                                              ; preds = %598
  %609 = landingpad { ptr, i32 }
          cleanup
  br label %612

610:                                              ; preds = %599
  %611 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #9
  br label %612

612:                                              ; preds = %610, %608
  %.pn680 = phi { ptr, i32 } [ %611, %610 ], [ %609, %608 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %47) #9
  br label %1753

613:                                              ; preds = %602
  %614 = landingpad { ptr, i32 }
          cleanup
  br label %617

615:                                              ; preds = %603
  %616 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #9
  br label %617

617:                                              ; preds = %615, %613
  %.pn682 = phi { ptr, i32 } [ %616, %615 ], [ %614, %613 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %48) #9
  br label %1753

618:                                              ; preds = %605, %601
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %49) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef nonnull @.str.82)
          to label %619 unwind label %632

619:                                              ; preds = %618
  %620 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %49)
          to label %621 unwind label %634

621:                                              ; preds = %619
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %50) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %50, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %622 unwind label %637

622:                                              ; preds = %621
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %50)
          to label %623 unwind label %639

623:                                              ; preds = %622
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %51) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %51)
          to label %624 unwind label %642

624:                                              ; preds = %623
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %52) #9
  %.str.179..str.176 = select i1 %184, ptr @.str.179, ptr @.str.176
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %52, ptr noundef nonnull @.str.178, ptr noundef nonnull %.str.179..str.176)
          to label %625 unwind label %644

625:                                              ; preds = %624
  %626 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %52)
          to label %627 unwind label %646

627:                                              ; preds = %625
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #9
  br i1 %182, label %628, label %654

628:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %53) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull @.str.180)
          to label %629 unwind label %649

629:                                              ; preds = %628
  %630 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %53)
          to label %631 unwind label %651

631:                                              ; preds = %629
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #9
  br label %654

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

634:                                              ; preds = %619
  %635 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #9
  br label %636

636:                                              ; preds = %634, %632
  %.pn684 = phi { ptr, i32 } [ %635, %634 ], [ %633, %632 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %49) #9
  br label %1753

637:                                              ; preds = %621
  %638 = landingpad { ptr, i32 }
          cleanup
  br label %641

639:                                              ; preds = %622
  %640 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #9
  br label %641

641:                                              ; preds = %639, %637
  %.pn686 = phi { ptr, i32 } [ %640, %639 ], [ %638, %637 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %50) #9
  br label %1753

642:                                              ; preds = %623
  %643 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %51) #9
  br label %1753

644:                                              ; preds = %624
  %645 = landingpad { ptr, i32 }
          cleanup
  br label %648

646:                                              ; preds = %625
  %647 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %52) #9
  br label %648

648:                                              ; preds = %646, %644
  %.pn688 = phi { ptr, i32 } [ %647, %646 ], [ %645, %644 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %52) #9
  br label %1753

649:                                              ; preds = %628
  %650 = landingpad { ptr, i32 }
          cleanup
  br label %653

651:                                              ; preds = %629
  %652 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #9
  br label %653

653:                                              ; preds = %651, %649
  %.pn690 = phi { ptr, i32 } [ %652, %651 ], [ %650, %649 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %53) #9
  br label %1753

654:                                              ; preds = %631, %627
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %54) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %54, ptr noundef nonnull @.str.82)
          to label %655 unwind label %660

655:                                              ; preds = %654
  %656 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %54)
          to label %657 unwind label %662

657:                                              ; preds = %655
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %658 unwind label %665

658:                                              ; preds = %657
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %55)
          to label %659 unwind label %667

659:                                              ; preds = %658
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #9
  br label %670

660:                                              ; preds = %654
  %661 = landingpad { ptr, i32 }
          cleanup
  br label %664

662:                                              ; preds = %655
  %663 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #9
  br label %664

664:                                              ; preds = %662, %660
  %.pn692 = phi { ptr, i32 } [ %663, %662 ], [ %661, %660 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %54) #9
  br label %1753

665:                                              ; preds = %657
  %666 = landingpad { ptr, i32 }
          cleanup
  br label %669

667:                                              ; preds = %658
  %668 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #9
  br label %669

669:                                              ; preds = %667, %665
  %.pn694 = phi { ptr, i32 } [ %668, %667 ], [ %666, %665 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #9
  br label %1753

670:                                              ; preds = %597, %659
  %671 = load i32, ptr %239, align 4, !tbaa !62
  %672 = icmp sgt i32 %671, 0
  br i1 %672, label %.lr.ph1040, label %._crit_edge1041

.lr.ph1040:                                       ; preds = %670
  %673 = getelementptr inbounds i8, ptr %2, i64 80
  %674 = getelementptr inbounds i8, ptr %2, i64 104
  %675 = getelementptr inbounds i8, ptr %4, i64 56
  %676 = getelementptr inbounds i8, ptr %4, i64 80
  %677 = getelementptr inbounds i8, ptr %3, i64 72
  br label %680

._crit_edge1041:                                  ; preds = %960, %670
  %.0606.lcssa = phi i32 [ 0, %670 ], [ %.1607, %960 ]
  %.lcssa = phi i32 [ %671, %670 ], [ %961, %960 ]
  %678 = add nsw i32 %.lcssa, 1
  %679 = icmp eq i32 %.0438909, %678
  br i1 %679, label %977, label %986

680:                                              ; preds = %.lr.ph1040, %960
  %indvars.iv1104 = phi i64 [ 0, %.lr.ph1040 ], [ %indvars.iv.next1105, %960 ]
  %.06061038 = phi i32 [ 0, %.lr.ph1040 ], [ %.1607, %960 ]
  %681 = add nsw i32 %.06061038, 1
  %682 = icmp eq i32 %681, %.0438909
  br i1 %682, label %683, label %692

683:                                              ; preds = %680
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %684 unwind label %688

684:                                              ; preds = %683
  %685 = load double, ptr %435, align 8, !tbaa !72
  invoke void @_Z18writeGlpsolCostRowP8_IO_FILERK15HighsLogOptionsbbiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, i1 noundef zeroext %7, i1 noundef zeroext %395, i32 noundef %.0438909, ptr noundef nonnull %56, double noundef %685)
          to label %686 unwind label %690

686:                                              ; preds = %684
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #9
  %687 = add nsw i32 %.06061038, 2
  br label %692

688:                                              ; preds = %683
  %689 = landingpad { ptr, i32 }
          cleanup
  br label %1753

690:                                              ; preds = %684
  %691 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #9
  br label %1753

692:                                              ; preds = %686, %680
  %.1607 = phi i32 [ %687, %686 ], [ %681, %680 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %693 unwind label %708

693:                                              ; preds = %692
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br i1 %7, label %694, label %728

694:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull @.str.181, i32 noundef %.1607)
          to label %695 unwind label %710

695:                                              ; preds = %694
  %696 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %58)
          to label %697 unwind label %712

697:                                              ; preds = %695
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  br i1 %395, label %698, label %782

698:                                              ; preds = %697
  %699 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %675, i64 noundef %indvars.iv1104) #9
  %700 = load double, ptr %699, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %59, double noundef %700, double noundef 1.000000e-13)
          to label %701 unwind label %715

701:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %60) #9
  %702 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %59) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %60, ptr noundef nonnull @.str.119, ptr noundef %702)
          to label %703 unwind label %717

703:                                              ; preds = %701
  %704 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %60)
          to label %705 unwind label %719

705:                                              ; preds = %703
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %706 unwind label %722

706:                                              ; preds = %705
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %707 unwind label %724

707:                                              ; preds = %706
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #9
  br label %960

708:                                              ; preds = %692
  %709 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #9
  br label %1753

710:                                              ; preds = %694
  %711 = landingpad { ptr, i32 }
          cleanup
  br label %714

712:                                              ; preds = %695
  %713 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #9
  br label %714

714:                                              ; preds = %712, %710
  %.pn839 = phi { ptr, i32 } [ %713, %712 ], [ %711, %710 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #9
  br label %1753

715:                                              ; preds = %698
  %716 = landingpad { ptr, i32 }
          cleanup
  br label %727

717:                                              ; preds = %701
  %718 = landingpad { ptr, i32 }
          cleanup
  br label %721

719:                                              ; preds = %703
  %720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %60) #9
  br label %721

721:                                              ; preds = %719, %717
  %.pn873 = phi { ptr, i32 } [ %720, %719 ], [ %718, %717 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %60) #9
  br label %727

722:                                              ; preds = %705
  %723 = landingpad { ptr, i32 }
          cleanup
  br label %726

724:                                              ; preds = %706
  %725 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #9
  br label %726

726:                                              ; preds = %724, %722
  %.pn875 = phi { ptr, i32 } [ %725, %724 ], [ %723, %722 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #9
  br label %727

727:                                              ; preds = %726, %721, %715
  %.pn875.pn = phi { ptr, i32 } [ %.pn875, %726 ], [ %.pn873, %721 ], [ %716, %715 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #9
  br label %1753

728:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %62, ptr noundef nonnull @.str.123, i32 noundef %.1607)
          to label %729 unwind label %736

729:                                              ; preds = %728
  %730 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %62)
          to label %731 unwind label %738

731:                                              ; preds = %729
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %63) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %64) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %732 unwind label %741

732:                                              ; preds = %731
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #9
  br i1 %.not629, label %733, label %745

733:                                              ; preds = %732
  %734 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %188, i64 noundef %indvars.iv1104) #9
  %735 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %734)
          to label %745 unwind label %743

736:                                              ; preds = %728
  %737 = landingpad { ptr, i32 }
          cleanup
  br label %740

738:                                              ; preds = %729
  %739 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #9
  br label %740

740:                                              ; preds = %738, %736
  %.pn829 = phi { ptr, i32 } [ %739, %738 ], [ %737, %736 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #9
  br label %1753

741:                                              ; preds = %731
  %742 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %64) #9
  br label %781

743:                                              ; preds = %765, %733
  %744 = landingpad { ptr, i32 }
          cleanup
  br label %780

745:                                              ; preds = %733, %732
  %746 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #9
  %747 = icmp ult i64 %746, 13
  br i1 %747, label %748, label %758

748:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #9
  %749 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull @.str.124, ptr noundef %749)
          to label %750 unwind label %753

750:                                              ; preds = %748
  %751 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %65)
          to label %752 unwind label %755

752:                                              ; preds = %750
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #9
  br label %779

753:                                              ; preds = %748
  %754 = landingpad { ptr, i32 }
          cleanup
  br label %757

755:                                              ; preds = %750
  %756 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #9
  br label %757

757:                                              ; preds = %755, %753
  %.pn835 = phi { ptr, i32 } [ %756, %755 ], [ %754, %753 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #9
  br label %780

758:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %66) #9
  %759 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %63) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %66, ptr noundef nonnull @.str.119, ptr noundef %759)
          to label %760 unwind label %767

760:                                              ; preds = %758
  %761 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %66)
          to label %762 unwind label %769

762:                                              ; preds = %760
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %67) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %763 unwind label %772

763:                                              ; preds = %762
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %67)
          to label %764 unwind label %774

764:                                              ; preds = %763
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %68)
          to label %765 unwind label %777

765:                                              ; preds = %764
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #9
  %766 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.182)
          to label %779 unwind label %743

767:                                              ; preds = %758
  %768 = landingpad { ptr, i32 }
          cleanup
  br label %771

769:                                              ; preds = %760
  %770 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %66) #9
  br label %771

771:                                              ; preds = %769, %767
  %.pn831 = phi { ptr, i32 } [ %770, %769 ], [ %768, %767 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %66) #9
  br label %780

772:                                              ; preds = %762
  %773 = landingpad { ptr, i32 }
          cleanup
  br label %776

774:                                              ; preds = %763
  %775 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #9
  br label %776

776:                                              ; preds = %774, %772
  %.pn833 = phi { ptr, i32 } [ %775, %774 ], [ %773, %772 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %67) #9
  br label %780

777:                                              ; preds = %764
  %778 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #9
  br label %780

779:                                              ; preds = %765, %752
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #9
  br label %782

780:                                              ; preds = %777, %776, %771, %757, %743
  %.pn835.pn = phi { ptr, i32 } [ %.pn835, %757 ], [ %744, %743 ], [ %778, %777 ], [ %.pn833, %776 ], [ %.pn831, %771 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #9
  br label %781

781:                                              ; preds = %780, %741
  %.pn835.pn.pn = phi { ptr, i32 } [ %.pn835.pn, %780 ], [ %742, %741 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %63) #9
  br label %1753

782:                                              ; preds = %697, %779
  %783 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %673, i64 noundef %indvars.iv1104) #9
  %784 = load double, ptr %783, align 8, !tbaa !59
  %785 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %674, i64 noundef %indvars.iv1104) #9
  %786 = load double, ptr %785, align 8, !tbaa !59
  %787 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %675, i64 noundef %indvars.iv1104) #9
  %788 = load double, ptr %787, align 8, !tbaa !59
  br i1 %182, label %789, label %792

789:                                              ; preds = %782
  %790 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %676, i64 noundef %indvars.iv1104) #9
  %791 = load double, ptr %790, align 8, !tbaa !59
  br label %792

792:                                              ; preds = %782, %789
  %793 = phi double [ %791, %789 ], [ 0.000000e+00, %782 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %69) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %70) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %70)
          to label %794 unwind label %799

794:                                              ; preds = %792
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %72) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %72)
          to label %795 unwind label %801

795:                                              ; preds = %794
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  br i1 %184, label %796, label %821

796:                                              ; preds = %795
  %797 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %677, i64 noundef %indvars.iv1104) #9
  %798 = load i8, ptr %797, align 1, !tbaa !73
  switch i8 %798, label %817 [
    i8 1, label %803
    i8 0, label %807
    i8 2, label %811
    i8 3, label %815
  ]

799:                                              ; preds = %792
  %800 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %70) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %70) #9
  br label %976

801:                                              ; preds = %794
  %802 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %72) #9
  br label %975

803:                                              ; preds = %796
  %804 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.183)
          to label %.invoke1166 unwind label %805

805:                                              ; preds = %.invoke1166, %817, %815, %811, %807, %803
  %806 = landingpad { ptr, i32 }
          cleanup
  br label %974

807:                                              ; preds = %796
  %808 = fcmp oeq double %784, %786
  %.str.185..str.186 = select i1 %808, ptr @.str.185, ptr @.str.186
  %809 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull %.str.185..str.186)
          to label %810 unwind label %805

810:                                              ; preds = %807
  %.str.187..str.188 = select i1 %808, ptr @.str.187, ptr @.str.188
  br label %.invoke1166

811:                                              ; preds = %796
  %812 = fcmp oeq double %784, %786
  %.str.185..str.189 = select i1 %812, ptr @.str.185, ptr @.str.189
  %813 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull %.str.185..str.189)
          to label %814 unwind label %805

814:                                              ; preds = %811
  %.str.187..str.153 = select i1 %812, ptr @.str.187, ptr @.str.153
  br label %.invoke1166

815:                                              ; preds = %796
  %816 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.190)
          to label %.invoke1166 unwind label %805

817:                                              ; preds = %796
  %818 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %69, ptr noundef nonnull @.str.191)
          to label %.invoke1166 unwind label %805

.invoke1166:                                      ; preds = %803, %817, %815, %810, %814
  %819 = phi ptr [ %.str.187..str.153, %814 ], [ %.str.187..str.188, %810 ], [ @.str.155, %815 ], [ @.str.145, %817 ], [ @.str.184, %803 ]
  %820 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull %819)
          to label %821 unwind label %805

821:                                              ; preds = %.invoke1166, %795
  br i1 %7, label %822, label %846

822:                                              ; preds = %821
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #9
  %823 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull @.str.192, ptr noundef %823)
          to label %824 unwind label %833

824:                                              ; preds = %822
  %825 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %826 unwind label %835

826:                                              ; preds = %824
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #9
  %827 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %675, i64 noundef %indvars.iv1104) #9
  %828 = load double, ptr %827, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %74, double noundef %828, double noundef 1.000000e-13)
          to label %829 unwind label %838

829:                                              ; preds = %826
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #9
  %830 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %74) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull @.str.192, ptr noundef %830)
          to label %831 unwind label %840

831:                                              ; preds = %829
  %832 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %75)
          to label %.thread919 unwind label %842

833:                                              ; preds = %822
  %834 = landingpad { ptr, i32 }
          cleanup
  br label %837

835:                                              ; preds = %824
  %836 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #9
  br label %837

837:                                              ; preds = %835, %833
  %.pn853 = phi { ptr, i32 } [ %836, %835 ], [ %834, %833 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #9
  br label %974

838:                                              ; preds = %826
  %839 = landingpad { ptr, i32 }
          cleanup
  br label %845

840:                                              ; preds = %829
  %841 = landingpad { ptr, i32 }
          cleanup
  br label %844

842:                                              ; preds = %831
  %843 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  br label %844

844:                                              ; preds = %842, %840
  %.pn855 = phi { ptr, i32 } [ %843, %842 ], [ %841, %840 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #9
  br label %845

845:                                              ; preds = %844, %838
  %.pn855.pn = phi { ptr, i32 } [ %.pn855, %844 ], [ %839, %838 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #9
  br label %974

846:                                              ; preds = %821
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #9
  %847 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %76, ptr noundef nonnull @.str.192, ptr noundef %847)
          to label %848 unwind label %862

848:                                              ; preds = %846
  %849 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %850 unwind label %864

850:                                              ; preds = %848
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #9
  %851 = call double @llvm.fabs.f64(double %788)
  %852 = fcmp ole double %851, 1.000000e-09
  %853 = select i1 %852, double 0.000000e+00, double %788
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull @.str.193, double noundef %853)
          to label %854 unwind label %867

854:                                              ; preds = %850
  %855 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %856 unwind label %869

856:                                              ; preds = %854
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #9
  %857 = fcmp ueq double %784, 0xFFF0000000000000
  br i1 %857, label %877, label %858

858:                                              ; preds = %856
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %78) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %78, ptr noundef nonnull @.str.193, double noundef %784)
          to label %859 unwind label %872

859:                                              ; preds = %858
  %860 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %78)
          to label %861 unwind label %874

861:                                              ; preds = %859
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #9
  br label %886

862:                                              ; preds = %846
  %863 = landingpad { ptr, i32 }
          cleanup
  br label %866

864:                                              ; preds = %848
  %865 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #9
  br label %866

866:                                              ; preds = %864, %862
  %.pn841 = phi { ptr, i32 } [ %865, %864 ], [ %863, %862 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #9
  br label %974

867:                                              ; preds = %850
  %868 = landingpad { ptr, i32 }
          cleanup
  br label %871

869:                                              ; preds = %854
  %870 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #9
  br label %871

871:                                              ; preds = %869, %867
  %.pn843 = phi { ptr, i32 } [ %870, %869 ], [ %868, %867 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #9
  br label %974

872:                                              ; preds = %858
  %873 = landingpad { ptr, i32 }
          cleanup
  br label %876

874:                                              ; preds = %859
  %875 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %78) #9
  br label %876

876:                                              ; preds = %874, %872
  %.pn847 = phi { ptr, i32 } [ %875, %874 ], [ %873, %872 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %78) #9
  br label %974

877:                                              ; preds = %856
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %79) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %79, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.9)
          to label %878 unwind label %881

878:                                              ; preds = %877
  %879 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %79)
          to label %880 unwind label %883

880:                                              ; preds = %878
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #9
  br label %886

881:                                              ; preds = %877
  %882 = landingpad { ptr, i32 }
          cleanup
  br label %885

883:                                              ; preds = %878
  %884 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %79) #9
  br label %885

885:                                              ; preds = %883, %881
  %.pn845 = phi { ptr, i32 } [ %884, %883 ], [ %882, %881 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %79) #9
  br label %974

886:                                              ; preds = %880, %861
  %887 = fcmp une double %784, %786
  %888 = fcmp one double %786, 0x7FF0000000000000
  %or.cond = and i1 %887, %888
  br i1 %or.cond, label %889, label %898

889:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %80) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %80, ptr noundef nonnull @.str.193, double noundef %786)
          to label %890 unwind label %893

890:                                              ; preds = %889
  %891 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %80)
          to label %892 unwind label %895

892:                                              ; preds = %890
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #9
  br label %909

893:                                              ; preds = %889
  %894 = landingpad { ptr, i32 }
          cleanup
  br label %897

895:                                              ; preds = %890
  %896 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #9
  br label %897

897:                                              ; preds = %895, %893
  %.pn851 = phi { ptr, i32 } [ %896, %895 ], [ %894, %893 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %80) #9
  br label %974

898:                                              ; preds = %886
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %81) #9
  %899 = fcmp oeq double %784, %786
  %900 = select i1 %899, ptr @.str.195, ptr @.str.9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %81, ptr noundef nonnull @.str.194, ptr noundef nonnull %900)
          to label %901 unwind label %904

901:                                              ; preds = %898
  %902 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %81)
          to label %903 unwind label %906

903:                                              ; preds = %901
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #9
  br label %909

904:                                              ; preds = %898
  %905 = landingpad { ptr, i32 }
          cleanup
  br label %908

906:                                              ; preds = %901
  %907 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #9
  br label %908

908:                                              ; preds = %906, %904
  %.pn849 = phi { ptr, i32 } [ %907, %906 ], [ %905, %904 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %81) #9
  br label %974

909:                                              ; preds = %892, %903
  br i1 %182, label %925, label %954

.thread919:                                       ; preds = %831
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #9
  br i1 %182, label %.thread920, label %954

.thread920:                                       ; preds = %.thread919
  %910 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %676, i64 noundef %indvars.iv1104) #9
  %911 = load double, ptr %910, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %82) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %82, double noundef %911, double noundef 1.000000e-13)
          to label %912 unwind label %917

912:                                              ; preds = %.thread920
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %83) #9
  %913 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %82) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %83, ptr noundef nonnull @.str.171, ptr noundef %913)
          to label %914 unwind label %919

914:                                              ; preds = %912
  %915 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %83)
          to label %916 unwind label %921

916:                                              ; preds = %914
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #9
  br label %954

917:                                              ; preds = %.thread920
  %918 = landingpad { ptr, i32 }
          cleanup
  br label %924

919:                                              ; preds = %912
  %920 = landingpad { ptr, i32 }
          cleanup
  br label %923

921:                                              ; preds = %914
  %922 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %83) #9
  br label %923

923:                                              ; preds = %921, %919
  %.pn863 = phi { ptr, i32 } [ %922, %921 ], [ %920, %919 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %83) #9
  br label %924

924:                                              ; preds = %923, %917
  %.pn863.pn = phi { ptr, i32 } [ %.pn863, %923 ], [ %918, %917 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %82) #9
  br label %974

925:                                              ; preds = %909
  br i1 %184, label %926, label %931

926:                                              ; preds = %925
  %927 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %677, i64 noundef %indvars.iv1104) #9
  %928 = load i8, ptr %927, align 1, !tbaa !73
  %929 = icmp ne i8 %928, 1
  %930 = zext i1 %929 to i8
  br label %931

931:                                              ; preds = %926, %925
  %.0598 = phi i8 [ %930, %926 ], [ %183, %925 ]
  %932 = trunc nuw i8 %.0598 to i1
  br i1 %932, label %933, label %954

933:                                              ; preds = %931
  %934 = call double @llvm.fabs.f64(double %793)
  %935 = fcmp ugt double %934, 1.000000e-09
  br i1 %935, label %945, label %936

936:                                              ; preds = %933
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %84) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %84, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.197)
          to label %937 unwind label %940

937:                                              ; preds = %936
  %938 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %84)
          to label %939 unwind label %942

939:                                              ; preds = %937
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #9
  br label %954

940:                                              ; preds = %936
  %941 = landingpad { ptr, i32 }
          cleanup
  br label %944

942:                                              ; preds = %937
  %943 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #9
  br label %944

944:                                              ; preds = %942, %940
  %.pn860 = phi { ptr, i32 } [ %943, %942 ], [ %941, %940 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %84) #9
  br label %974

945:                                              ; preds = %933
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %85) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull @.str.193, double noundef %793)
          to label %946 unwind label %949

946:                                              ; preds = %945
  %947 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %85)
          to label %948 unwind label %951

948:                                              ; preds = %946
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #9
  br label %954

949:                                              ; preds = %945
  %950 = landingpad { ptr, i32 }
          cleanup
  br label %953

951:                                              ; preds = %946
  %952 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #9
  br label %953

953:                                              ; preds = %951, %949
  %.pn858 = phi { ptr, i32 } [ %952, %951 ], [ %950, %949 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %85) #9
  br label %974

954:                                              ; preds = %.thread919, %931, %948, %939, %916, %909
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %86) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef nonnull @.str.82)
          to label %955 unwind label %964

955:                                              ; preds = %954
  %956 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %86)
          to label %957 unwind label %966

957:                                              ; preds = %955
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %87) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %958 unwind label %969

958:                                              ; preds = %957
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %959 unwind label %971

959:                                              ; preds = %958
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #9
  br label %960

960:                                              ; preds = %959, %707
  %indvars.iv.next1105 = add nuw nsw i64 %indvars.iv1104, 1
  %961 = load i32, ptr %239, align 4, !tbaa !62
  %962 = sext i32 %961 to i64
  %963 = icmp slt i64 %indvars.iv.next1105, %962
  br i1 %963, label %680, label %._crit_edge1041, !llvm.loop !75

964:                                              ; preds = %954
  %965 = landingpad { ptr, i32 }
          cleanup
  br label %968

966:                                              ; preds = %955
  %967 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #9
  br label %968

968:                                              ; preds = %966, %964
  %.pn866 = phi { ptr, i32 } [ %967, %966 ], [ %965, %964 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %86) #9
  br label %974

969:                                              ; preds = %957
  %970 = landingpad { ptr, i32 }
          cleanup
  br label %973

971:                                              ; preds = %958
  %972 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #9
  br label %973

973:                                              ; preds = %971, %969
  %.pn868 = phi { ptr, i32 } [ %972, %971 ], [ %970, %969 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %87) #9
  br label %974

974:                                              ; preds = %944, %953, %973, %968, %924, %908, %897, %885, %876, %871, %866, %845, %837, %805
  %.pn868.pn = phi { ptr, i32 } [ %.pn868, %973 ], [ %.pn866, %968 ], [ %.pn863.pn, %924 ], [ %.pn855.pn, %845 ], [ %.pn853, %837 ], [ %.pn851, %897 ], [ %.pn849, %908 ], [ %.pn847, %876 ], [ %.pn845, %885 ], [ %.pn843, %871 ], [ %.pn841, %866 ], [ %806, %805 ], [ %.pn860, %944 ], [ %.pn858, %953 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #9
  br label %975

975:                                              ; preds = %974, %801
  %.pn868.pn.pn = phi { ptr, i32 } [ %.pn868.pn, %974 ], [ %802, %801 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #9
  br label %976

976:                                              ; preds = %975, %799
  %.pn868.pn.pn.pn = phi { ptr, i32 } [ %.pn868.pn.pn, %975 ], [ %800, %799 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %69) #9
  br label %1753

977:                                              ; preds = %._crit_edge1041
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %88, ptr noundef nonnull align 8 dereferenceable(32) %27)
          to label %978 unwind label %982

978:                                              ; preds = %977
  %979 = add nsw i32 %.0606.lcssa, 1
  %980 = load double, ptr %435, align 8, !tbaa !72
  invoke void @_Z18writeGlpsolCostRowP8_IO_FILERK15HighsLogOptionsbbiNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEd(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, i1 noundef zeroext %7, i1 noundef zeroext %395, i32 noundef %979, ptr noundef nonnull %88, double noundef %980)
          to label %981 unwind label %984

981:                                              ; preds = %978
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  br label %986

982:                                              ; preds = %.critedge904, %977
  %983 = landingpad { ptr, i32 }
          cleanup
  br label %1753

984:                                              ; preds = %978
  %985 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #9
  br label %1753

986:                                              ; preds = %981, %._crit_edge1041
  br i1 %7, label %.critedge904, label %987

987:                                              ; preds = %986
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %89) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %90) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %90)
          to label %988 unwind label %989

988:                                              ; preds = %987
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %89)
          to label %994 unwind label %991

989:                                              ; preds = %987
  %990 = landingpad { ptr, i32 }
          cleanup
  br label %993

991:                                              ; preds = %988
  %992 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  br label %993

993:                                              ; preds = %991, %989
  %.pn696 = phi { ptr, i32 } [ %992, %991 ], [ %990, %989 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #9
  br label %1753

994:                                              ; preds = %988
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %89) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %90) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %90) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %89) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %91) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %91)
          to label %995 unwind label %1003

995:                                              ; preds = %994
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %92) #9
  %.str.175..str.1762 = select i1 %184, ptr @.str.175, ptr @.str.176
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %92, ptr noundef nonnull @.str.198, ptr noundef nonnull %.str.175..str.1762)
          to label %996 unwind label %1005

996:                                              ; preds = %995
  %997 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %998 unwind label %1007

998:                                              ; preds = %996
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #9
  br i1 %182, label %999, label %1015

999:                                              ; preds = %998
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %93) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull @.str.177)
          to label %1000 unwind label %1010

1000:                                             ; preds = %999
  %1001 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %1002 unwind label %1012

1002:                                             ; preds = %1000
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #9
  br label %1015

1003:                                             ; preds = %994
  %1004 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %91) #9
  br label %1753

1005:                                             ; preds = %995
  %1006 = landingpad { ptr, i32 }
          cleanup
  br label %1009

1007:                                             ; preds = %996
  %1008 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #9
  br label %1009

1009:                                             ; preds = %1007, %1005
  %.pn698 = phi { ptr, i32 } [ %1008, %1007 ], [ %1006, %1005 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %92) #9
  br label %1753

1010:                                             ; preds = %999
  %1011 = landingpad { ptr, i32 }
          cleanup
  br label %1014

1012:                                             ; preds = %1000
  %1013 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #9
  br label %1014

1014:                                             ; preds = %1012, %1010
  %.pn700 = phi { ptr, i32 } [ %1013, %1012 ], [ %1011, %1010 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %93) #9
  br label %1753

1015:                                             ; preds = %1002, %998
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %94) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %94, ptr noundef nonnull @.str.82)
          to label %1016 unwind label %1029

1016:                                             ; preds = %1015
  %1017 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %94)
          to label %1018 unwind label %1031

1018:                                             ; preds = %1016
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %95) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %95, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1019 unwind label %1034

1019:                                             ; preds = %1018
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %95)
          to label %1020 unwind label %1036

1020:                                             ; preds = %1019
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %96) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %96)
          to label %1021 unwind label %1039

1021:                                             ; preds = %1020
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %97) #9
  %.str.179..str.1763 = select i1 %184, ptr @.str.179, ptr @.str.176
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %97, ptr noundef nonnull @.str.178, ptr noundef nonnull %.str.179..str.1763)
          to label %1022 unwind label %1041

1022:                                             ; preds = %1021
  %1023 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %97)
          to label %1024 unwind label %1043

1024:                                             ; preds = %1022
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #9
  br i1 %182, label %1025, label %1051

1025:                                             ; preds = %1024
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %98) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %98, ptr noundef nonnull @.str.180)
          to label %1026 unwind label %1046

1026:                                             ; preds = %1025
  %1027 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %98)
          to label %1028 unwind label %1048

1028:                                             ; preds = %1026
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #9
  br label %1051

1029:                                             ; preds = %1015
  %1030 = landingpad { ptr, i32 }
          cleanup
  br label %1033

1031:                                             ; preds = %1016
  %1032 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %94) #9
  br label %1033

1033:                                             ; preds = %1031, %1029
  %.pn702 = phi { ptr, i32 } [ %1032, %1031 ], [ %1030, %1029 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %94) #9
  br label %1753

1034:                                             ; preds = %1018
  %1035 = landingpad { ptr, i32 }
          cleanup
  br label %1038

1036:                                             ; preds = %1019
  %1037 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %95) #9
  br label %1038

1038:                                             ; preds = %1036, %1034
  %.pn704 = phi { ptr, i32 } [ %1037, %1036 ], [ %1035, %1034 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %95) #9
  br label %1753

1039:                                             ; preds = %1020
  %1040 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %96) #9
  br label %1753

1041:                                             ; preds = %1021
  %1042 = landingpad { ptr, i32 }
          cleanup
  br label %1045

1043:                                             ; preds = %1022
  %1044 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %97) #9
  br label %1045

1045:                                             ; preds = %1043, %1041
  %.pn706 = phi { ptr, i32 } [ %1044, %1043 ], [ %1042, %1041 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %97) #9
  br label %1753

1046:                                             ; preds = %1025
  %1047 = landingpad { ptr, i32 }
          cleanup
  br label %1050

1048:                                             ; preds = %1026
  %1049 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %98) #9
  br label %1050

1050:                                             ; preds = %1048, %1046
  %.pn708 = phi { ptr, i32 } [ %1049, %1048 ], [ %1047, %1046 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %98) #9
  br label %1753

1051:                                             ; preds = %1028, %1024
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %99) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %99, ptr noundef nonnull @.str.82)
          to label %1052 unwind label %1056

1052:                                             ; preds = %1051
  %1053 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %99)
          to label %1054 unwind label %1058

1054:                                             ; preds = %1052
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %100) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %100, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1055 unwind label %1061

1055:                                             ; preds = %1054
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %100)
          to label %.critedge903 unwind label %1063

.critedge903:                                     ; preds = %1055
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #9
  br label %1067

1056:                                             ; preds = %1051
  %1057 = landingpad { ptr, i32 }
          cleanup
  br label %1060

1058:                                             ; preds = %1052
  %1059 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %99) #9
  br label %1060

1060:                                             ; preds = %1058, %1056
  %.pn710 = phi { ptr, i32 } [ %1059, %1058 ], [ %1057, %1056 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %99) #9
  br label %1753

1061:                                             ; preds = %1054
  %1062 = landingpad { ptr, i32 }
          cleanup
  br label %1065

1063:                                             ; preds = %1055
  %1064 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %100) #9
  br label %1065

1065:                                             ; preds = %1063, %1061
  %.pn712 = phi { ptr, i32 } [ %1064, %1063 ], [ %1062, %1061 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %100) #9
  br label %1753

.critedge904:                                     ; preds = %986
  %1066 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.199)
          to label %1067 unwind label %982

1067:                                             ; preds = %.critedge903, %.critedge904
  %1068 = load i32, ptr %2, align 8, !tbaa !28
  %1069 = icmp sgt i32 %1068, 0
  br i1 %1069, label %.lr.ph1046, label %._crit_edge1047

.lr.ph1046:                                       ; preds = %1067
  %1070 = getelementptr inbounds i8, ptr %2, i64 32
  %1071 = getelementptr inbounds i8, ptr %2, i64 56
  %1072 = getelementptr inbounds i8, ptr %4, i64 8
  %1073 = getelementptr inbounds i8, ptr %4, i64 32
  %1074 = getelementptr inbounds i8, ptr %3, i64 48
  br label %1075

._crit_edge1047:                                  ; preds = %1355, %1067
  br i1 %7, label %1372, label %1380

1075:                                             ; preds = %.lr.ph1046, %1355
  %indvars.iv1107 = phi i64 [ 0, %.lr.ph1046 ], [ %indvars.iv.next1108.pre-phi, %1355 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %101) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %101)
          to label %1076 unwind label %1094

1076:                                             ; preds = %1075
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #9
  br i1 %7, label %1077, label %1114

1077:                                             ; preds = %1076
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %102) #9
  %1078 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  %1079 = add nuw nsw i64 %indvars.iv1107, 1
  %1080 = trunc nuw nsw i64 %1079 to i32
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %102, ptr noundef nonnull @.str.200, ptr noundef %1078, i32 noundef %1080)
          to label %1081 unwind label %1096

1081:                                             ; preds = %1077
  %1082 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %102)
          to label %1083 unwind label %1098

1083:                                             ; preds = %1081
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #9
  br i1 %395, label %1084, label %1172

1084:                                             ; preds = %1083
  %1085 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1072, i64 noundef %indvars.iv1107) #9
  %1086 = load double, ptr %1085, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %103) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %103, double noundef %1086, double noundef 1.000000e-13)
          to label %1087 unwind label %1101

1087:                                             ; preds = %1084
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %104) #9
  %1088 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %103) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %104, ptr noundef nonnull @.str.119, ptr noundef %1088)
          to label %1089 unwind label %1103

1089:                                             ; preds = %1087
  %1090 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %104)
          to label %1091 unwind label %1105

1091:                                             ; preds = %1089
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %105) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %105, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1092 unwind label %1108

1092:                                             ; preds = %1091
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %105)
          to label %1093 unwind label %1110

1093:                                             ; preds = %1092
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #9
  br label %1355

1094:                                             ; preds = %1075
  %1095 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %101) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %101) #9
  br label %1753

1096:                                             ; preds = %1077
  %1097 = landingpad { ptr, i32 }
          cleanup
  br label %1100

1098:                                             ; preds = %1081
  %1099 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #9
  br label %1100

1100:                                             ; preds = %1098, %1096
  %.pn788 = phi { ptr, i32 } [ %1099, %1098 ], [ %1097, %1096 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %102) #9
  br label %1753

1101:                                             ; preds = %1084
  %1102 = landingpad { ptr, i32 }
          cleanup
  br label %1113

1103:                                             ; preds = %1087
  %1104 = landingpad { ptr, i32 }
          cleanup
  br label %1107

1105:                                             ; preds = %1089
  %1106 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %104) #9
  br label %1107

1107:                                             ; preds = %1105, %1103
  %.pn823 = phi { ptr, i32 } [ %1106, %1105 ], [ %1104, %1103 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %104) #9
  br label %1113

1108:                                             ; preds = %1091
  %1109 = landingpad { ptr, i32 }
          cleanup
  br label %1112

1110:                                             ; preds = %1092
  %1111 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %105) #9
  br label %1112

1112:                                             ; preds = %1110, %1108
  %.pn825 = phi { ptr, i32 } [ %1111, %1110 ], [ %1109, %1108 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %105) #9
  br label %1113

1113:                                             ; preds = %1112, %1107, %1101
  %.pn825.pn = phi { ptr, i32 } [ %.pn825, %1112 ], [ %.pn823, %1107 ], [ %1102, %1101 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %103) #9
  br label %1753

1114:                                             ; preds = %1076
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %106) #9
  %1115 = trunc i64 %indvars.iv1107 to i32
  %1116 = add i32 %1115, 1
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %106, ptr noundef nonnull @.str.123, i32 noundef %1116)
          to label %1117 unwind label %1124

1117:                                             ; preds = %1114
  %1118 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %106)
          to label %1119 unwind label %1126

1119:                                             ; preds = %1117
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %107) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %108) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %108)
          to label %1120 unwind label %1129

1120:                                             ; preds = %1119
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #9
  br i1 %.not, label %.critedge907, label %1121

1121:                                             ; preds = %1120
  %1122 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %186, i64 noundef %indvars.iv1107) #9
  %1123 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %107, ptr noundef nonnull align 8 dereferenceable(32) %1122)
          to label %1133 unwind label %1131

1124:                                             ; preds = %1114
  %1125 = landingpad { ptr, i32 }
          cleanup
  br label %1128

1126:                                             ; preds = %1117
  %1127 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %106) #9
  br label %1128

1128:                                             ; preds = %1126, %1124
  %.pn778 = phi { ptr, i32 } [ %1127, %1126 ], [ %1125, %1124 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %106) #9
  br label %1753

1129:                                             ; preds = %1119
  %1130 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %108) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %108) #9
  br label %1171

1131:                                             ; preds = %1155, %1121
  %1132 = landingpad { ptr, i32 }
          cleanup
  br label %1170

1133:                                             ; preds = %1121
  %1134 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  %1135 = icmp ult i64 %1134, 13
  br i1 %1135, label %1136, label %1148

1136:                                             ; preds = %1133
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #9
  %1137 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  br label %1138

.critedge907:                                     ; preds = %1120
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %109) #9
  br label %1138

1138:                                             ; preds = %.critedge907, %1136
  %1139 = phi ptr [ %1137, %1136 ], [ @.str.9, %.critedge907 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %109, ptr noundef nonnull @.str.124, ptr noundef %1139)
          to label %1140 unwind label %1143

1140:                                             ; preds = %1138
  %1141 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %109)
          to label %1142 unwind label %1145

1142:                                             ; preds = %1140
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #9
  br label %1169

1143:                                             ; preds = %1138
  %1144 = landingpad { ptr, i32 }
          cleanup
  br label %1147

1145:                                             ; preds = %1140
  %1146 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %109) #9
  br label %1147

1147:                                             ; preds = %1145, %1143
  %.pn784 = phi { ptr, i32 } [ %1146, %1145 ], [ %1144, %1143 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %109) #9
  br label %1170

1148:                                             ; preds = %1133
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %110) #9
  %1149 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %110, ptr noundef nonnull @.str.119, ptr noundef %1149)
          to label %1150 unwind label %1157

1150:                                             ; preds = %1148
  %1151 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %110)
          to label %1152 unwind label %1159

1152:                                             ; preds = %1150
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %111) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %111, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1153 unwind label %1162

1153:                                             ; preds = %1152
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %111)
          to label %1154 unwind label %1164

1154:                                             ; preds = %1153
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %112) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %112)
          to label %1155 unwind label %1167

1155:                                             ; preds = %1154
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #9
  %1156 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.182)
          to label %1169 unwind label %1131

1157:                                             ; preds = %1148
  %1158 = landingpad { ptr, i32 }
          cleanup
  br label %1161

1159:                                             ; preds = %1150
  %1160 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %110) #9
  br label %1161

1161:                                             ; preds = %1159, %1157
  %.pn780 = phi { ptr, i32 } [ %1160, %1159 ], [ %1158, %1157 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %110) #9
  br label %1170

1162:                                             ; preds = %1152
  %1163 = landingpad { ptr, i32 }
          cleanup
  br label %1166

1164:                                             ; preds = %1153
  %1165 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %111) #9
  br label %1166

1166:                                             ; preds = %1164, %1162
  %.pn782 = phi { ptr, i32 } [ %1165, %1164 ], [ %1163, %1162 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %111) #9
  br label %1170

1167:                                             ; preds = %1154
  %1168 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %112) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %112) #9
  br label %1170

1169:                                             ; preds = %1155, %1142
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #9
  br label %1172

1170:                                             ; preds = %1167, %1166, %1161, %1147, %1131
  %.pn784.pn = phi { ptr, i32 } [ %.pn784, %1147 ], [ %1132, %1131 ], [ %1168, %1167 ], [ %.pn782, %1166 ], [ %.pn780, %1161 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %107) #9
  br label %1171

1171:                                             ; preds = %1170, %1129
  %.pn784.pn.pn = phi { ptr, i32 } [ %.pn784.pn, %1170 ], [ %1130, %1129 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %107) #9
  br label %1753

1172:                                             ; preds = %1083, %1169
  %1173 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1070, i64 noundef %indvars.iv1107) #9
  %1174 = load double, ptr %1173, align 8, !tbaa !59
  %1175 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1071, i64 noundef %indvars.iv1107) #9
  %1176 = load double, ptr %1175, align 8, !tbaa !59
  %1177 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1072, i64 noundef %indvars.iv1107) #9
  %1178 = load double, ptr %1177, align 8, !tbaa !59
  br i1 %182, label %1179, label %1182

1179:                                             ; preds = %1172
  %1180 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1073, i64 noundef %indvars.iv1107) #9
  %1181 = load double, ptr %1180, align 8, !tbaa !59
  br label %1182

1182:                                             ; preds = %1172, %1179
  %1183 = phi double [ %1181, %1179 ], [ 0.000000e+00, %1172 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %113) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %114) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.176, ptr noundef nonnull align 1 dereferenceable(1) %114)
          to label %1184 unwind label %1189

1184:                                             ; preds = %1182
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %115) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %116) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %115, ptr noundef nonnull @.str.9, ptr noundef nonnull align 1 dereferenceable(1) %116)
          to label %1185 unwind label %1191

1185:                                             ; preds = %1184
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #9
  br i1 %184, label %1186, label %1209

1186:                                             ; preds = %1185
  %1187 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1074, i64 noundef %indvars.iv1107) #9
  %1188 = load i8, ptr %1187, align 1, !tbaa !73
  switch i8 %1188, label %1207 [
    i8 1, label %1193
    i8 0, label %1197
    i8 2, label %1201
    i8 3, label %1205
  ]

1189:                                             ; preds = %1182
  %1190 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %114) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %114) #9
  br label %1371

1191:                                             ; preds = %1184
  %1192 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %116) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %116) #9
  br label %1370

1193:                                             ; preds = %1186
  %1194 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.183)
          to label %.invoke1167 unwind label %1195

1195:                                             ; preds = %.invoke1167, %1207, %1205, %1201, %1197, %1193
  %1196 = landingpad { ptr, i32 }
          cleanup
  br label %1369

1197:                                             ; preds = %1186
  %1198 = fcmp oeq double %1174, %1176
  %.str.185..str.1864 = select i1 %1198, ptr @.str.185, ptr @.str.186
  %1199 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull %.str.185..str.1864)
          to label %1200 unwind label %1195

1200:                                             ; preds = %1197
  %.str.187..str.1885 = select i1 %1198, ptr @.str.187, ptr @.str.188
  br label %.invoke1167

1201:                                             ; preds = %1186
  %1202 = fcmp oeq double %1174, %1176
  %.str.185..str.1896 = select i1 %1202, ptr @.str.185, ptr @.str.189
  %1203 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull %.str.185..str.1896)
          to label %1204 unwind label %1195

1204:                                             ; preds = %1201
  %.str.187..str.1537 = select i1 %1202, ptr @.str.187, ptr @.str.153
  br label %.invoke1167

1205:                                             ; preds = %1186
  %1206 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.190)
          to label %.invoke1167 unwind label %1195

1207:                                             ; preds = %1186
  %1208 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %113, ptr noundef nonnull @.str.191)
          to label %.invoke1167 unwind label %1195

1209:                                             ; preds = %1185
  br i1 %395, label %1210, label %1216

1210:                                             ; preds = %1209
  %1211 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %252, i64 noundef %indvars.iv1107) #9
  %1212 = load i8, ptr %1211, align 1, !tbaa !64
  %.not790 = icmp eq i8 %1212, 0
  br i1 %.not790, label %1216, label %.invoke1167

.invoke1167:                                      ; preds = %1193, %1210, %1207, %1205, %1200, %1204
  %1213 = phi ptr [ %115, %1204 ], [ %115, %1200 ], [ %115, %1205 ], [ %115, %1207 ], [ %113, %1210 ], [ %115, %1193 ]
  %1214 = phi ptr [ %.str.187..str.1537, %1204 ], [ %.str.187..str.1885, %1200 ], [ @.str.155, %1205 ], [ @.str.145, %1207 ], [ @.str.201, %1210 ], [ @.str.184, %1193 ]
  %1215 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %1213, ptr noundef nonnull %1214)
          to label %1216 unwind label %1195

1216:                                             ; preds = %.invoke1167, %1209, %1210
  br i1 %7, label %1217, label %1241

1217:                                             ; preds = %1216
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %117) #9
  %1218 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %115) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %117, ptr noundef nonnull @.str.192, ptr noundef %1218)
          to label %1219 unwind label %1228

1219:                                             ; preds = %1217
  %1220 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %117)
          to label %1221 unwind label %1230

1221:                                             ; preds = %1219
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #9
  %1222 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1072, i64 noundef %indvars.iv1107) #9
  %1223 = load double, ptr %1222, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %118) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %118, double noundef %1223, double noundef 1.000000e-13)
          to label %1224 unwind label %1233

1224:                                             ; preds = %1221
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %119) #9
  %1225 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %118) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %119, ptr noundef nonnull @.str.192, ptr noundef %1225)
          to label %1226 unwind label %1235

1226:                                             ; preds = %1224
  %1227 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %119)
          to label %.thread921 unwind label %1237

1228:                                             ; preds = %1217
  %1229 = landingpad { ptr, i32 }
          cleanup
  br label %1232

1230:                                             ; preds = %1219
  %1231 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %117) #9
  br label %1232

1232:                                             ; preds = %1230, %1228
  %.pn803 = phi { ptr, i32 } [ %1231, %1230 ], [ %1229, %1228 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %117) #9
  br label %1369

1233:                                             ; preds = %1221
  %1234 = landingpad { ptr, i32 }
          cleanup
  br label %1240

1235:                                             ; preds = %1224
  %1236 = landingpad { ptr, i32 }
          cleanup
  br label %1239

1237:                                             ; preds = %1226
  %1238 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  br label %1239

1239:                                             ; preds = %1237, %1235
  %.pn805 = phi { ptr, i32 } [ %1238, %1237 ], [ %1236, %1235 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #9
  br label %1240

1240:                                             ; preds = %1239, %1233
  %.pn805.pn = phi { ptr, i32 } [ %.pn805, %1239 ], [ %1234, %1233 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #9
  br label %1369

1241:                                             ; preds = %1216
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %120) #9
  %1242 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %113) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %120, ptr noundef nonnull @.str.192, ptr noundef %1242)
          to label %1243 unwind label %1257

1243:                                             ; preds = %1241
  %1244 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %120)
          to label %1245 unwind label %1259

1245:                                             ; preds = %1243
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %121) #9
  %1246 = call double @llvm.fabs.f64(double %1178)
  %1247 = fcmp ole double %1246, 1.000000e-09
  %1248 = select i1 %1247, double 0.000000e+00, double %1178
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %121, ptr noundef nonnull @.str.193, double noundef %1248)
          to label %1249 unwind label %1262

1249:                                             ; preds = %1245
  %1250 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %121)
          to label %1251 unwind label %1264

1251:                                             ; preds = %1249
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #9
  %1252 = fcmp ueq double %1174, 0xFFF0000000000000
  br i1 %1252, label %1272, label %1253

1253:                                             ; preds = %1251
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %122) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %122, ptr noundef nonnull @.str.193, double noundef %1174)
          to label %1254 unwind label %1267

1254:                                             ; preds = %1253
  %1255 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %122)
          to label %1256 unwind label %1269

1256:                                             ; preds = %1254
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #9
  br label %1281

1257:                                             ; preds = %1241
  %1258 = landingpad { ptr, i32 }
          cleanup
  br label %1261

1259:                                             ; preds = %1243
  %1260 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %120) #9
  br label %1261

1261:                                             ; preds = %1259, %1257
  %.pn791 = phi { ptr, i32 } [ %1260, %1259 ], [ %1258, %1257 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %120) #9
  br label %1369

1262:                                             ; preds = %1245
  %1263 = landingpad { ptr, i32 }
          cleanup
  br label %1266

1264:                                             ; preds = %1249
  %1265 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %121) #9
  br label %1266

1266:                                             ; preds = %1264, %1262
  %.pn793 = phi { ptr, i32 } [ %1265, %1264 ], [ %1263, %1262 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %121) #9
  br label %1369

1267:                                             ; preds = %1253
  %1268 = landingpad { ptr, i32 }
          cleanup
  br label %1271

1269:                                             ; preds = %1254
  %1270 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %122) #9
  br label %1271

1271:                                             ; preds = %1269, %1267
  %.pn797 = phi { ptr, i32 } [ %1270, %1269 ], [ %1268, %1267 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %122) #9
  br label %1369

1272:                                             ; preds = %1251
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %123) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %123, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.9)
          to label %1273 unwind label %1276

1273:                                             ; preds = %1272
  %1274 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %123)
          to label %1275 unwind label %1278

1275:                                             ; preds = %1273
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #9
  br label %1281

1276:                                             ; preds = %1272
  %1277 = landingpad { ptr, i32 }
          cleanup
  br label %1280

1278:                                             ; preds = %1273
  %1279 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %123) #9
  br label %1280

1280:                                             ; preds = %1278, %1276
  %.pn795 = phi { ptr, i32 } [ %1279, %1278 ], [ %1277, %1276 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %123) #9
  br label %1369

1281:                                             ; preds = %1275, %1256
  %1282 = fcmp une double %1174, %1176
  %1283 = fcmp one double %1176, 0x7FF0000000000000
  %or.cond9 = and i1 %1282, %1283
  br i1 %or.cond9, label %1284, label %1293

1284:                                             ; preds = %1281
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %124) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %124, ptr noundef nonnull @.str.193, double noundef %1176)
          to label %1285 unwind label %1288

1285:                                             ; preds = %1284
  %1286 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %124)
          to label %1287 unwind label %1290

1287:                                             ; preds = %1285
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #9
  br label %1304

1288:                                             ; preds = %1284
  %1289 = landingpad { ptr, i32 }
          cleanup
  br label %1292

1290:                                             ; preds = %1285
  %1291 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %124) #9
  br label %1292

1292:                                             ; preds = %1290, %1288
  %.pn801 = phi { ptr, i32 } [ %1291, %1290 ], [ %1289, %1288 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %124) #9
  br label %1369

1293:                                             ; preds = %1281
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %125) #9
  %1294 = fcmp oeq double %1174, %1176
  %1295 = select i1 %1294, ptr @.str.195, ptr @.str.9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %125, ptr noundef nonnull @.str.194, ptr noundef nonnull %1295)
          to label %1296 unwind label %1299

1296:                                             ; preds = %1293
  %1297 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %125)
          to label %1298 unwind label %1301

1298:                                             ; preds = %1296
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #9
  br label %1304

1299:                                             ; preds = %1293
  %1300 = landingpad { ptr, i32 }
          cleanup
  br label %1303

1301:                                             ; preds = %1296
  %1302 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %125) #9
  br label %1303

1303:                                             ; preds = %1301, %1299
  %.pn799 = phi { ptr, i32 } [ %1302, %1301 ], [ %1300, %1299 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %125) #9
  br label %1369

1304:                                             ; preds = %1287, %1298
  br i1 %182, label %1320, label %1349

.thread921:                                       ; preds = %1226
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %119) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %119) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %118) #9
  br i1 %182, label %.thread922, label %1349

.thread922:                                       ; preds = %.thread921
  %1305 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNKSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1073, i64 noundef %indvars.iv1107) #9
  %1306 = load double, ptr %1305, align 8, !tbaa !59
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %126) #9
  invoke void @_Z19highsDoubleToStringdd(ptr dead_on_unwind nonnull writable sret(%"struct.std::array") align 1 %126, double noundef %1306, double noundef 1.000000e-13)
          to label %1307 unwind label %1312

1307:                                             ; preds = %.thread922
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %127) #9
  %1308 = call noundef ptr @_ZNSt5arrayIcLm32EE4dataEv(ptr noundef nonnull align 1 dereferenceable(32) %126) #11
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %127, ptr noundef nonnull @.str.171, ptr noundef %1308)
          to label %1309 unwind label %1314

1309:                                             ; preds = %1307
  %1310 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %127)
          to label %1311 unwind label %1316

1311:                                             ; preds = %1309
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  br label %1349

1312:                                             ; preds = %.thread922
  %1313 = landingpad { ptr, i32 }
          cleanup
  br label %1319

1314:                                             ; preds = %1307
  %1315 = landingpad { ptr, i32 }
          cleanup
  br label %1318

1316:                                             ; preds = %1309
  %1317 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %127) #9
  br label %1318

1318:                                             ; preds = %1316, %1314
  %.pn813 = phi { ptr, i32 } [ %1317, %1316 ], [ %1315, %1314 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %127) #9
  br label %1319

1319:                                             ; preds = %1318, %1312
  %.pn813.pn = phi { ptr, i32 } [ %.pn813, %1318 ], [ %1313, %1312 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %126) #9
  br label %1369

1320:                                             ; preds = %1304
  br i1 %184, label %1321, label %1326

1321:                                             ; preds = %1320
  %1322 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNKSt6vectorI16HighsBasisStatusSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %1074, i64 noundef %indvars.iv1107) #9
  %1323 = load i8, ptr %1322, align 1, !tbaa !73
  %1324 = icmp ne i8 %1323, 1
  %1325 = zext i1 %1324 to i8
  br label %1326

1326:                                             ; preds = %1321, %1320
  %.0433 = phi i8 [ %1325, %1321 ], [ %183, %1320 ]
  %1327 = trunc nuw i8 %.0433 to i1
  br i1 %1327, label %1328, label %1349

1328:                                             ; preds = %1326
  %1329 = call double @llvm.fabs.f64(double %1183)
  %1330 = fcmp ugt double %1329, 1.000000e-09
  br i1 %1330, label %1340, label %1331

1331:                                             ; preds = %1328
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %128) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %128, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.197)
          to label %1332 unwind label %1335

1332:                                             ; preds = %1331
  %1333 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %128)
          to label %1334 unwind label %1337

1334:                                             ; preds = %1332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #9
  br label %1349

1335:                                             ; preds = %1331
  %1336 = landingpad { ptr, i32 }
          cleanup
  br label %1339

1337:                                             ; preds = %1332
  %1338 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %128) #9
  br label %1339

1339:                                             ; preds = %1337, %1335
  %.pn810 = phi { ptr, i32 } [ %1338, %1337 ], [ %1336, %1335 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %128) #9
  br label %1369

1340:                                             ; preds = %1328
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %129) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %129, ptr noundef nonnull @.str.193, double noundef %1183)
          to label %1341 unwind label %1344

1341:                                             ; preds = %1340
  %1342 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %129)
          to label %1343 unwind label %1346

1343:                                             ; preds = %1341
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #9
  br label %1349

1344:                                             ; preds = %1340
  %1345 = landingpad { ptr, i32 }
          cleanup
  br label %1348

1346:                                             ; preds = %1341
  %1347 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %129) #9
  br label %1348

1348:                                             ; preds = %1346, %1344
  %.pn808 = phi { ptr, i32 } [ %1347, %1346 ], [ %1345, %1344 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %129) #9
  br label %1369

1349:                                             ; preds = %.thread921, %1326, %1343, %1334, %1311, %1304
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %130) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %130, ptr noundef nonnull @.str.82)
          to label %1350 unwind label %1359

1350:                                             ; preds = %1349
  %1351 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %130)
          to label %1352 unwind label %1361

1352:                                             ; preds = %1350
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %131) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %131, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1353 unwind label %1364

1353:                                             ; preds = %1352
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %131)
          to label %1354 unwind label %1366

1354:                                             ; preds = %1353
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #9
  %.pre1113 = add nuw nsw i64 %indvars.iv1107, 1
  br label %1355

1355:                                             ; preds = %1354, %1093
  %indvars.iv.next1108.pre-phi = phi i64 [ %.pre1113, %1354 ], [ %1079, %1093 ]
  %1356 = load i32, ptr %2, align 8, !tbaa !28
  %1357 = sext i32 %1356 to i64
  %1358 = icmp slt i64 %indvars.iv.next1108.pre-phi, %1357
  br i1 %1358, label %1075, label %._crit_edge1047, !llvm.loop !76

1359:                                             ; preds = %1349
  %1360 = landingpad { ptr, i32 }
          cleanup
  br label %1363

1361:                                             ; preds = %1350
  %1362 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %130) #9
  br label %1363

1363:                                             ; preds = %1361, %1359
  %.pn816 = phi { ptr, i32 } [ %1362, %1361 ], [ %1360, %1359 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %130) #9
  br label %1369

1364:                                             ; preds = %1352
  %1365 = landingpad { ptr, i32 }
          cleanup
  br label %1368

1366:                                             ; preds = %1353
  %1367 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %131) #9
  br label %1368

1368:                                             ; preds = %1366, %1364
  %.pn818 = phi { ptr, i32 } [ %1367, %1366 ], [ %1365, %1364 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %131) #9
  br label %1369

1369:                                             ; preds = %1339, %1348, %1368, %1363, %1319, %1303, %1292, %1280, %1271, %1266, %1261, %1240, %1232, %1195
  %.pn818.pn = phi { ptr, i32 } [ %.pn818, %1368 ], [ %.pn816, %1363 ], [ %.pn813.pn, %1319 ], [ %.pn805.pn, %1240 ], [ %.pn803, %1232 ], [ %.pn801, %1292 ], [ %.pn799, %1303 ], [ %.pn797, %1271 ], [ %.pn795, %1280 ], [ %.pn793, %1266 ], [ %.pn791, %1261 ], [ %1196, %1195 ], [ %.pn810, %1339 ], [ %.pn808, %1348 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %115) #9
  br label %1370

1370:                                             ; preds = %1369, %1191
  %.pn818.pn.pn = phi { ptr, i32 } [ %.pn818.pn, %1369 ], [ %1192, %1191 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %115) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %113) #9
  br label %1371

1371:                                             ; preds = %1370, %1189
  %.pn818.pn.pn.pn = phi { ptr, i32 } [ %.pn818.pn.pn, %1370 ], [ %1190, %1189 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %113) #9
  br label %1753

1372:                                             ; preds = %._crit_edge1047
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %132) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %133) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %132, ptr noundef nonnull @.str.202, ptr noundef nonnull align 1 dereferenceable(1) %133)
          to label %1373 unwind label %1375

1373:                                             ; preds = %1372
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %132)
          to label %1374 unwind label %1377

1374:                                             ; preds = %1373
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #9
  br label %1744

1375:                                             ; preds = %1372
  %1376 = landingpad { ptr, i32 }
          cleanup
  br label %1379

1377:                                             ; preds = %1373
  %1378 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %132) #9
  br label %1379

1379:                                             ; preds = %1377, %1375
  %.pn776 = phi { ptr, i32 } [ %1378, %1377 ], [ %1376, %1375 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %133) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %133) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %132) #9
  br label %1753

1380:                                             ; preds = %._crit_edge1047
  call void @llvm.lifetime.start.p0(i64 208, ptr nonnull %134) #9
  call void @llvm.lifetime.start.p0(i64 184, ptr nonnull %135) #9
  invoke void @_ZN9HighsInfoC2Ev(ptr noundef nonnull align 8 dereferenceable(184) %135)
          to label %1381 unwind label %1388

1381:                                             ; preds = %1380
  invoke void @_Z14getKktFailuresRK12HighsOptionsRK10HighsModelRK13HighsSolutionRK10HighsBasisR9HighsInfoR21HighsPrimalDualErrorsb(ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull align 8 dereferenceable(1000) %2, ptr noundef nonnull align 8 dereferenceable(104) %4, ptr noundef nonnull align 8 dereferenceable(96) %3, ptr noundef nonnull align 8 dereferenceable(184) %135, ptr noundef nonnull align 8 dereferenceable(208) %134, i1 noundef zeroext true)
          to label %1382 unwind label %1390

1382:                                             ; preds = %1381
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %136) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %137) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %137) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %136, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %137)
          to label %1383 unwind label %1392

1383:                                             ; preds = %1382
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %136)
          to label %1384 unwind label %1394

1384:                                             ; preds = %1383
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %137) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %137) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #9
  br i1 %395, label %1385, label %1402

1385:                                             ; preds = %1384
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %138) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %139) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %138, ptr noundef nonnull @.str.203, ptr noundef nonnull align 1 dereferenceable(1) %139)
          to label %1386 unwind label %1397

1386:                                             ; preds = %1385
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %138)
          to label %1387 unwind label %1399

1387:                                             ; preds = %1386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #9
  br label %1410

1388:                                             ; preds = %1380
  %1389 = landingpad { ptr, i32 }
          cleanup
  br label %1752

1390:                                             ; preds = %1455, %1381
  %1391 = landingpad { ptr, i32 }
          cleanup
  br label %1751

1392:                                             ; preds = %1382
  %1393 = landingpad { ptr, i32 }
          cleanup
  br label %1396

1394:                                             ; preds = %1383
  %1395 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %136) #9
  br label %1396

1396:                                             ; preds = %1394, %1392
  %.pn714 = phi { ptr, i32 } [ %1395, %1394 ], [ %1393, %1392 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %137) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %137) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %136) #9
  br label %1751

1397:                                             ; preds = %1385
  %1398 = landingpad { ptr, i32 }
          cleanup
  br label %1401

1399:                                             ; preds = %1386
  %1400 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %138) #9
  br label %1401

1401:                                             ; preds = %1399, %1397
  %.pn718 = phi { ptr, i32 } [ %1400, %1399 ], [ %1398, %1397 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %139) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %139) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %138) #9
  br label %1751

1402:                                             ; preds = %1384
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %140) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %141) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %140, ptr noundef nonnull @.str.204, ptr noundef nonnull align 1 dereferenceable(1) %141)
          to label %1403 unwind label %1405

1403:                                             ; preds = %1402
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %140)
          to label %1404 unwind label %1407

1404:                                             ; preds = %1403
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #9
  br label %1410

1405:                                             ; preds = %1402
  %1406 = landingpad { ptr, i32 }
          cleanup
  br label %1409

1407:                                             ; preds = %1403
  %1408 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %140) #9
  br label %1409

1409:                                             ; preds = %1407, %1405
  %.pn716 = phi { ptr, i32 } [ %1408, %1407 ], [ %1406, %1405 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %141) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %141) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %140) #9
  br label %1751

1410:                                             ; preds = %1404, %1387
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %142) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %143) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef nonnull @.str.82, ptr noundef nonnull align 1 dereferenceable(1) %143)
          to label %1411 unwind label %1423

1411:                                             ; preds = %1410
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %142)
          to label %1412 unwind label %1425

1412:                                             ; preds = %1411
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #9
  %1413 = getelementptr inbounds i8, ptr %134, i64 80
  %1414 = load double, ptr %1413, align 8, !tbaa !77
  %1415 = getelementptr inbounds i8, ptr %134, i64 88
  %1416 = load i32, ptr %1415, align 8, !tbaa !80
  %1417 = getelementptr inbounds i8, ptr %134, i64 96
  %1418 = load double, ptr %1417, align 8, !tbaa !81
  %1419 = getelementptr inbounds i8, ptr %134, i64 104
  %1420 = load i32, ptr %1419, align 8, !tbaa !82
  %1421 = add nsw i32 %1420, 1
  %1422 = fcmp une double %1418, 0.000000e+00
  %.0 = select i1 %1422, i32 %1421, i32 0
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %144) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %144)
          to label %1428 unwind label %1471

1423:                                             ; preds = %1410
  %1424 = landingpad { ptr, i32 }
          cleanup
  br label %1427

1425:                                             ; preds = %1411
  %1426 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %142) #9
  br label %1427

1427:                                             ; preds = %1425, %1423
  %.pn720 = phi { ptr, i32 } [ %1426, %1425 ], [ %1424, %1423 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %143) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %143) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %142) #9
  br label %1751

1428:                                             ; preds = %1412
  %1429 = fcmp une double %1414, 0.000000e+00
  %1430 = add nsw i32 %1416, 1
  %.0429 = select i1 %1429, i32 %1430, i32 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %145) #9
  %1431 = icmp eq i32 %.0429, 0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %145, ptr noundef nonnull @.str.205, double noundef %1414, i32 noundef %.0429)
          to label %1432 unwind label %1473

1432:                                             ; preds = %1428
  %1433 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %145)
          to label %1434 unwind label %1475

1434:                                             ; preds = %1432
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %146) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %146, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1435 unwind label %1478

1435:                                             ; preds = %1434
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %146)
          to label %1436 unwind label %1480

1436:                                             ; preds = %1435
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %147) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %147)
          to label %1437 unwind label %1483

1437:                                             ; preds = %1436
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %148) #9
  %1438 = select i1 %1431, i32 0, i32 %.0
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %148, ptr noundef nonnull @.str.206, double noundef %1418, i32 noundef %1438)
          to label %1439 unwind label %1485

1439:                                             ; preds = %1437
  %1440 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %148)
          to label %1441 unwind label %1487

1441:                                             ; preds = %1439
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %149) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %149, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1442 unwind label %1490

1442:                                             ; preds = %1441
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %149)
          to label %1443 unwind label %1492

1443:                                             ; preds = %1442
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %150) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %150)
          to label %1444 unwind label %1495

1444:                                             ; preds = %1443
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %151) #9
  %1445 = fcmp ugt double %1418, 1.000000e-09
  br i1 %1445, label %1446, label %1451

1446:                                             ; preds = %1444
  %1447 = fcmp ugt double %1418, 0x3EB0C6F7A0B5ED8D
  br i1 %1447, label %1448, label %1451

1448:                                             ; preds = %1446
  %1449 = fcmp ole double %1418, 1.000000e-03
  %1450 = select i1 %1449, ptr @.str.210, ptr @.str.211
  br label %1451

1451:                                             ; preds = %1448, %1446, %1444
  %1452 = phi ptr [ @.str.208, %1444 ], [ %1450, %1448 ], [ @.str.209, %1446 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %151, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.9, ptr noundef nonnull %1452)
          to label %1453 unwind label %1497

1453:                                             ; preds = %1451
  %1454 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %151)
          to label %1455 unwind label %1499

1455:                                             ; preds = %1453
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #9
  %1456 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.82)
          to label %1457 unwind label %1390

1457:                                             ; preds = %1455
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %152) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %152, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1458 unwind label %1502

1458:                                             ; preds = %1457
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %152)
          to label %1459 unwind label %1504

1459:                                             ; preds = %1458
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #9
  %1460 = getelementptr inbounds i8, ptr %134, i64 112
  %1461 = load double, ptr %1460, align 8, !tbaa !83
  %1462 = getelementptr inbounds i8, ptr %134, i64 120
  %1463 = load i32, ptr %1462, align 8, !tbaa !84
  %1464 = getelementptr inbounds i8, ptr %134, i64 128
  %1465 = load double, ptr %1464, align 8, !tbaa !85
  %1466 = getelementptr inbounds i8, ptr %134, i64 136
  %1467 = load i32, ptr %1466, align 8, !tbaa !86
  %1468 = add nsw i32 %1467, 1
  %1469 = fcmp une double %1465, 0.000000e+00
  %.1 = select i1 %1469, i32 %1468, i32 0
  %1470 = load i32, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %153) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %153)
          to label %1507 unwind label %1563

1471:                                             ; preds = %1412
  %1472 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %144) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %144) #9
  br label %1751

1473:                                             ; preds = %1428
  %1474 = landingpad { ptr, i32 }
          cleanup
  br label %1477

1475:                                             ; preds = %1432
  %1476 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %145) #9
  br label %1477

1477:                                             ; preds = %1475, %1473
  %.pn722 = phi { ptr, i32 } [ %1476, %1475 ], [ %1474, %1473 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %145) #9
  br label %1751

1478:                                             ; preds = %1434
  %1479 = landingpad { ptr, i32 }
          cleanup
  br label %1482

1480:                                             ; preds = %1435
  %1481 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %146) #9
  br label %1482

1482:                                             ; preds = %1480, %1478
  %.pn724 = phi { ptr, i32 } [ %1481, %1480 ], [ %1479, %1478 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %146) #9
  br label %1751

1483:                                             ; preds = %1436
  %1484 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %147) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %147) #9
  br label %1751

1485:                                             ; preds = %1437
  %1486 = landingpad { ptr, i32 }
          cleanup
  br label %1489

1487:                                             ; preds = %1439
  %1488 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %148) #9
  br label %1489

1489:                                             ; preds = %1487, %1485
  %.pn726 = phi { ptr, i32 } [ %1488, %1487 ], [ %1486, %1485 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %148) #9
  br label %1751

1490:                                             ; preds = %1441
  %1491 = landingpad { ptr, i32 }
          cleanup
  br label %1494

1492:                                             ; preds = %1442
  %1493 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %149) #9
  br label %1494

1494:                                             ; preds = %1492, %1490
  %.pn728 = phi { ptr, i32 } [ %1493, %1492 ], [ %1491, %1490 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %149) #9
  br label %1751

1495:                                             ; preds = %1443
  %1496 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %150) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %150) #9
  br label %1751

1497:                                             ; preds = %1451
  %1498 = landingpad { ptr, i32 }
          cleanup
  br label %1501

1499:                                             ; preds = %1453
  %1500 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %151) #9
  br label %1501

1501:                                             ; preds = %1499, %1497
  %.pn730 = phi { ptr, i32 } [ %1500, %1499 ], [ %1498, %1497 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %151) #9
  br label %1751

1502:                                             ; preds = %1457
  %1503 = landingpad { ptr, i32 }
          cleanup
  br label %1506

1504:                                             ; preds = %1458
  %1505 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %152) #9
  br label %1506

1506:                                             ; preds = %1504, %1502
  %.pn732 = phi { ptr, i32 } [ %1505, %1504 ], [ %1503, %1502 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %152) #9
  br label %1751

1507:                                             ; preds = %1459
  %1508 = fcmp une double %1461, 0.000000e+00
  %1509 = add nsw i32 %1463, 1
  %.1430 = select i1 %1508, i32 %1509, i32 0
  %1510 = icmp sgt i32 %.1430, 0
  %1511 = icmp sle i32 %.1430, %1470
  %1512 = select i1 %1510, i1 %1511, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %154) #9
  %1513 = select i1 %1512, ptr @.str.213, ptr @.str.214
  %1514 = load i32, ptr %2, align 8, !tbaa !28
  %.not734 = icmp sgt i32 %.1430, %1514
  %1515 = select i1 %.not734, i32 %1514, i32 0
  %1516 = sub nsw i32 %.1430, %1515
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %154, ptr noundef nonnull @.str.212, double noundef %1461, ptr noundef nonnull %1513, i32 noundef %1516)
          to label %1517 unwind label %1565

1517:                                             ; preds = %1507
  %1518 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %154)
          to label %1519 unwind label %1567

1519:                                             ; preds = %1517
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %155) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %155, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1520 unwind label %1570

1520:                                             ; preds = %1519
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %155)
          to label %1521 unwind label %1572

1521:                                             ; preds = %1520
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #9
  %1522 = load i32, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %156) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %156)
          to label %1523 unwind label %1575

1523:                                             ; preds = %1521
  %1524 = icmp sgt i32 %.1, 0
  %1525 = icmp sle i32 %.1, %1522
  %1526 = select i1 %1524, i1 %1525, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %157) #9
  %1527 = select i1 %1526, ptr @.str.213, ptr @.str.214
  %1528 = load i32, ptr %2, align 8, !tbaa !28
  %.not739 = icmp sgt i32 %.1, %1528
  %1529 = select i1 %.not739, i32 %1528, i32 0
  %1530 = sub nsw i32 %.1, %1529
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %157, ptr noundef nonnull @.str.215, double noundef %1465, ptr noundef nonnull %1527, i32 noundef %1530)
          to label %1531 unwind label %1577

1531:                                             ; preds = %1523
  %1532 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %157)
          to label %1533 unwind label %1579

1533:                                             ; preds = %1531
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %158) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %158, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1534 unwind label %1582

1534:                                             ; preds = %1533
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %158)
          to label %1535 unwind label %1584

1535:                                             ; preds = %1534
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %159) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %159)
          to label %1536 unwind label %1587

1536:                                             ; preds = %1535
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %160) #9
  %1537 = fcmp ugt double %1465, 1.000000e-09
  br i1 %1537, label %1538, label %1543

1538:                                             ; preds = %1536
  %1539 = fcmp ugt double %1465, 0x3EB0C6F7A0B5ED8D
  br i1 %1539, label %1540, label %1543

1540:                                             ; preds = %1538
  %1541 = fcmp ole double %1465, 1.000000e-03
  %1542 = select i1 %1541, ptr @.str.210, ptr @.str.216
  br label %1543

1543:                                             ; preds = %1540, %1538, %1536
  %1544 = phi ptr [ @.str.208, %1536 ], [ %1542, %1540 ], [ @.str.209, %1538 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %160, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.9, ptr noundef nonnull %1544)
          to label %1545 unwind label %1589

1545:                                             ; preds = %1543
  %1546 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %160)
          to label %1547 unwind label %1591

1547:                                             ; preds = %1545
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #9
  %1548 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.82)
          to label %1549 unwind label %1594

1549:                                             ; preds = %1547
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %161) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %161, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1550 unwind label %1596

1550:                                             ; preds = %1549
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %161)
          to label %1551 unwind label %1598

1551:                                             ; preds = %1550
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #9
  br i1 %182, label %1552, label %1741

1552:                                             ; preds = %1551
  %1553 = getelementptr inbounds i8, ptr %134, i64 144
  %1554 = load double, ptr %1553, align 8, !tbaa !87
  %1555 = getelementptr inbounds i8, ptr %134, i64 152
  %1556 = load i32, ptr %1555, align 8, !tbaa !88
  %1557 = getelementptr inbounds i8, ptr %134, i64 160
  %1558 = load double, ptr %1557, align 8, !tbaa !89
  %1559 = getelementptr inbounds i8, ptr %134, i64 168
  %1560 = load i32, ptr %1559, align 8, !tbaa !90
  %1561 = add nsw i32 %1560, 1
  %1562 = fcmp une double %1558, 0.000000e+00
  %.2 = select i1 %1562, i32 %1561, i32 0
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %162) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %162)
          to label %1601 unwind label %1636

1563:                                             ; preds = %1459
  %1564 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %153) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %153) #9
  br label %1751

1565:                                             ; preds = %1507
  %1566 = landingpad { ptr, i32 }
          cleanup
  br label %1569

1567:                                             ; preds = %1517
  %1568 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %154) #9
  br label %1569

1569:                                             ; preds = %1567, %1565
  %.pn735 = phi { ptr, i32 } [ %1568, %1567 ], [ %1566, %1565 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %154) #9
  br label %1751

1570:                                             ; preds = %1519
  %1571 = landingpad { ptr, i32 }
          cleanup
  br label %1574

1572:                                             ; preds = %1520
  %1573 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %155) #9
  br label %1574

1574:                                             ; preds = %1572, %1570
  %.pn737 = phi { ptr, i32 } [ %1573, %1572 ], [ %1571, %1570 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %155) #9
  br label %1751

1575:                                             ; preds = %1521
  %1576 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %156) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %156) #9
  br label %1751

1577:                                             ; preds = %1523
  %1578 = landingpad { ptr, i32 }
          cleanup
  br label %1581

1579:                                             ; preds = %1531
  %1580 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %157) #9
  br label %1581

1581:                                             ; preds = %1579, %1577
  %.pn740 = phi { ptr, i32 } [ %1580, %1579 ], [ %1578, %1577 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %157) #9
  br label %1751

1582:                                             ; preds = %1533
  %1583 = landingpad { ptr, i32 }
          cleanup
  br label %1586

1584:                                             ; preds = %1534
  %1585 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %158) #9
  br label %1586

1586:                                             ; preds = %1584, %1582
  %.pn742 = phi { ptr, i32 } [ %1585, %1584 ], [ %1583, %1582 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %158) #9
  br label %1751

1587:                                             ; preds = %1535
  %1588 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %159) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %159) #9
  br label %1751

1589:                                             ; preds = %1543
  %1590 = landingpad { ptr, i32 }
          cleanup
  br label %1593

1591:                                             ; preds = %1545
  %1592 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %160) #9
  br label %1593

1593:                                             ; preds = %1591, %1589
  %.pn744 = phi { ptr, i32 } [ %1592, %1591 ], [ %1590, %1589 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %160) #9
  br label %1751

1594:                                             ; preds = %1620, %1547
  %1595 = landingpad { ptr, i32 }
          cleanup
  br label %1751

1596:                                             ; preds = %1549
  %1597 = landingpad { ptr, i32 }
          cleanup
  br label %1600

1598:                                             ; preds = %1550
  %1599 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %161) #9
  br label %1600

1600:                                             ; preds = %1598, %1596
  %.pn746 = phi { ptr, i32 } [ %1599, %1598 ], [ %1597, %1596 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %161) #9
  br label %1751

1601:                                             ; preds = %1552
  %1602 = fcmp une double %1554, 0.000000e+00
  %1603 = add nsw i32 %1556, 1
  %.2431 = select i1 %1602, i32 %1603, i32 0
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %163) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %163, ptr noundef nonnull @.str.217, double noundef %1554, i32 noundef %.2431)
          to label %1604 unwind label %1638

1604:                                             ; preds = %1601
  %1605 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %163)
          to label %1606 unwind label %1640

1606:                                             ; preds = %1604
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %164) #9
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %164, ptr noundef nonnull @.str.218, double noundef %1558, i32 noundef %.2)
          to label %1607 unwind label %1643

1607:                                             ; preds = %1606
  %1608 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %164)
          to label %1609 unwind label %1645

1609:                                             ; preds = %1607
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %165) #9
  %1610 = fcmp ugt double %1558, 1.000000e-09
  br i1 %1610, label %1611, label %1616

1611:                                             ; preds = %1609
  %1612 = fcmp ugt double %1558, 0x3EB0C6F7A0B5ED8D
  br i1 %1612, label %1613, label %1616

1613:                                             ; preds = %1611
  %1614 = fcmp ole double %1558, 1.000000e-03
  %1615 = select i1 %1614, ptr @.str.210, ptr @.str.219
  br label %1616

1616:                                             ; preds = %1613, %1611, %1609
  %1617 = phi ptr [ @.str.208, %1609 ], [ %1615, %1613 ], [ @.str.209, %1611 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %165, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.9, ptr noundef nonnull %1617)
          to label %1618 unwind label %1648

1618:                                             ; preds = %1616
  %1619 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %165)
          to label %1620 unwind label %1650

1620:                                             ; preds = %1618
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #9
  %1621 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.82)
          to label %1622 unwind label %1594

1622:                                             ; preds = %1620
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %166) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %166, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1623 unwind label %1653

1623:                                             ; preds = %1622
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %166)
          to label %1624 unwind label %1655

1624:                                             ; preds = %1623
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #9
  %1625 = getelementptr inbounds i8, ptr %134, i64 176
  %1626 = load double, ptr %1625, align 8, !tbaa !91
  %1627 = getelementptr inbounds i8, ptr %134, i64 184
  %1628 = load i32, ptr %1627, align 8, !tbaa !92
  %1629 = getelementptr inbounds i8, ptr %134, i64 192
  %1630 = load double, ptr %1629, align 8, !tbaa !93
  %1631 = getelementptr inbounds i8, ptr %134, i64 200
  %1632 = load i32, ptr %1631, align 8, !tbaa !94
  %1633 = add nsw i32 %1632, 1
  %1634 = fcmp une double %1630, 0.000000e+00
  %.3 = select i1 %1634, i32 %1633, i32 0
  %1635 = load i32, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %167) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %167)
          to label %1658 unwind label %1703

1636:                                             ; preds = %1552
  %1637 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %162) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %162) #9
  br label %1751

1638:                                             ; preds = %1601
  %1639 = landingpad { ptr, i32 }
          cleanup
  br label %1642

1640:                                             ; preds = %1604
  %1641 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %163) #9
  br label %1642

1642:                                             ; preds = %1640, %1638
  %.pn748 = phi { ptr, i32 } [ %1641, %1640 ], [ %1639, %1638 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %163) #9
  br label %1751

1643:                                             ; preds = %1606
  %1644 = landingpad { ptr, i32 }
          cleanup
  br label %1647

1645:                                             ; preds = %1607
  %1646 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %164) #9
  br label %1647

1647:                                             ; preds = %1645, %1643
  %.pn750 = phi { ptr, i32 } [ %1646, %1645 ], [ %1644, %1643 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %164) #9
  br label %1751

1648:                                             ; preds = %1616
  %1649 = landingpad { ptr, i32 }
          cleanup
  br label %1652

1650:                                             ; preds = %1618
  %1651 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %165) #9
  br label %1652

1652:                                             ; preds = %1650, %1648
  %.pn752 = phi { ptr, i32 } [ %1651, %1650 ], [ %1649, %1648 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %165) #9
  br label %1751

1653:                                             ; preds = %1622
  %1654 = landingpad { ptr, i32 }
          cleanup
  br label %1657

1655:                                             ; preds = %1623
  %1656 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %166) #9
  br label %1657

1657:                                             ; preds = %1655, %1653
  %.pn754 = phi { ptr, i32 } [ %1656, %1655 ], [ %1654, %1653 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %166) #9
  br label %1751

1658:                                             ; preds = %1624
  %1659 = fcmp une double %1626, 0.000000e+00
  %1660 = add nsw i32 %1628, 1
  %.3432 = select i1 %1659, i32 %1660, i32 0
  %1661 = icmp sgt i32 %.3432, 0
  %1662 = icmp sle i32 %.3432, %1635
  %1663 = select i1 %1661, i1 %1662, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %168) #9
  %1664 = select i1 %1663, ptr @.str.213, ptr @.str.214
  %1665 = load i32, ptr %2, align 8, !tbaa !28
  %.not756 = icmp sgt i32 %.3432, %1665
  %1666 = select i1 %.not756, i32 %1665, i32 0
  %1667 = sub nsw i32 %.3432, %1666
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %168, ptr noundef nonnull @.str.220, double noundef %1626, ptr noundef nonnull %1664, i32 noundef %1667)
          to label %1668 unwind label %1705

1668:                                             ; preds = %1658
  %1669 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %168)
          to label %1670 unwind label %1707

1670:                                             ; preds = %1668
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %169) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %169, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1671 unwind label %1710

1671:                                             ; preds = %1670
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %169)
          to label %1672 unwind label %1712

1672:                                             ; preds = %1671
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #9
  %1673 = load i32, ptr %2, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %170) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %170)
          to label %1674 unwind label %1715

1674:                                             ; preds = %1672
  %1675 = icmp sgt i32 %.3, 0
  %1676 = icmp sle i32 %.3, %1673
  %1677 = select i1 %1675, i1 %1676, i1 false
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %171) #9
  %1678 = select i1 %1677, ptr @.str.213, ptr @.str.214
  %1679 = load i32, ptr %2, align 8, !tbaa !28
  %.not761 = icmp sgt i32 %.3, %1679
  %1680 = select i1 %.not761, i32 %1679, i32 0
  %1681 = sub nsw i32 %.3, %1680
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %171, ptr noundef nonnull @.str.215, double noundef %1630, ptr noundef nonnull %1678, i32 noundef %1681)
          to label %1682 unwind label %1717

1682:                                             ; preds = %1674
  %1683 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %171)
          to label %1684 unwind label %1719

1684:                                             ; preds = %1682
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %172) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %172, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1685 unwind label %1722

1685:                                             ; preds = %1684
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %172)
          to label %1686 unwind label %1724

1686:                                             ; preds = %1685
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %173) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #9
  invoke void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strERKNS_12basic_stringIcS2_S3_EE(ptr noundef nonnull align 8 dereferenceable(128) %15, ptr noundef nonnull align 8 dereferenceable(32) %173)
          to label %1687 unwind label %1727

1687:                                             ; preds = %1686
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #9
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %174) #9
  %1688 = fcmp ugt double %1630, 1.000000e-09
  br i1 %1688, label %1689, label %1694

1689:                                             ; preds = %1687
  %1690 = fcmp ugt double %1630, 0x3EB0C6F7A0B5ED8D
  br i1 %1690, label %1691, label %1694

1691:                                             ; preds = %1689
  %1692 = fcmp ole double %1630, 1.000000e-03
  %1693 = select i1 %1692, ptr @.str.210, ptr @.str.221
  br label %1694

1694:                                             ; preds = %1691, %1689, %1687
  %1695 = phi ptr [ @.str.208, %1687 ], [ %1693, %1691 ], [ @.str.209, %1689 ]
  invoke void (ptr, ptr, ...) @_Z19highsFormatToStringB5cxx11PKcz(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %174, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.9, ptr noundef nonnull %1695)
          to label %1696 unwind label %1729

1696:                                             ; preds = %1694
  %1697 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsIcSt11char_traitsIcESaIcEERSt13basic_ostreamIT_T0_ES7_RKNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull align 8 dereferenceable(32) %174)
          to label %1698 unwind label %1731

1698:                                             ; preds = %1696
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #9
  %1699 = invoke noundef nonnull align 8 dereferenceable(8) ptr @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc(ptr noundef nonnull align 8 dereferenceable(8) %296, ptr noundef nonnull @.str.82)
          to label %1700 unwind label %1734

1700:                                             ; preds = %1698
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %175) #9
  invoke void @_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %175, ptr noundef nonnull align 8 dereferenceable(128) %15)
          to label %1701 unwind label %1736

1701:                                             ; preds = %1700
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %175)
          to label %1702 unwind label %1738

1702:                                             ; preds = %1701
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #9
  br label %1741

1703:                                             ; preds = %1624
  %1704 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %167) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %167) #9
  br label %1751

1705:                                             ; preds = %1658
  %1706 = landingpad { ptr, i32 }
          cleanup
  br label %1709

1707:                                             ; preds = %1668
  %1708 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %168) #9
  br label %1709

1709:                                             ; preds = %1707, %1705
  %.pn757 = phi { ptr, i32 } [ %1708, %1707 ], [ %1706, %1705 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %168) #9
  br label %1751

1710:                                             ; preds = %1670
  %1711 = landingpad { ptr, i32 }
          cleanup
  br label %1714

1712:                                             ; preds = %1671
  %1713 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %169) #9
  br label %1714

1714:                                             ; preds = %1712, %1710
  %.pn759 = phi { ptr, i32 } [ %1713, %1712 ], [ %1711, %1710 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %169) #9
  br label %1751

1715:                                             ; preds = %1672
  %1716 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %170) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %170) #9
  br label %1751

1717:                                             ; preds = %1674
  %1718 = landingpad { ptr, i32 }
          cleanup
  br label %1721

1719:                                             ; preds = %1682
  %1720 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %171) #9
  br label %1721

1721:                                             ; preds = %1719, %1717
  %.pn762 = phi { ptr, i32 } [ %1720, %1719 ], [ %1718, %1717 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %171) #9
  br label %1751

1722:                                             ; preds = %1684
  %1723 = landingpad { ptr, i32 }
          cleanup
  br label %1726

1724:                                             ; preds = %1685
  %1725 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %172) #9
  br label %1726

1726:                                             ; preds = %1724, %1722
  %.pn764 = phi { ptr, i32 } [ %1725, %1724 ], [ %1723, %1722 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %172) #9
  br label %1751

1727:                                             ; preds = %1686
  %1728 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %173) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %173) #9
  br label %1751

1729:                                             ; preds = %1694
  %1730 = landingpad { ptr, i32 }
          cleanup
  br label %1733

1731:                                             ; preds = %1696
  %1732 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %174) #9
  br label %1733

1733:                                             ; preds = %1731, %1729
  %.pn766 = phi { ptr, i32 } [ %1732, %1731 ], [ %1730, %1729 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %174) #9
  br label %1751

1734:                                             ; preds = %1698
  %1735 = landingpad { ptr, i32 }
          cleanup
  br label %1751

1736:                                             ; preds = %1700
  %1737 = landingpad { ptr, i32 }
          cleanup
  br label %1740

1738:                                             ; preds = %1701
  %1739 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %175) #9
  br label %1740

1740:                                             ; preds = %1738, %1736
  %.pn768 = phi { ptr, i32 } [ %1739, %1738 ], [ %1737, %1736 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %175) #9
  br label %1751

1741:                                             ; preds = %1702, %1551
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %176) #9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %177) #9
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %176, ptr noundef nonnull @.str.222, ptr noundef nonnull align 1 dereferenceable(1) %177)
          to label %1742 unwind label %1746

1742:                                             ; preds = %1741
  invoke void @_Z18highsFprintfStringP8_IO_FILERK15HighsLogOptionsRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE(ptr noundef %0, ptr noundef nonnull align 8 dereferenceable(89) %185, ptr noundef nonnull align 8 dereferenceable(32) %176)
          to label %1743 unwind label %1748

1743:                                             ; preds = %1742
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #9
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %177) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %176) #9
  call void @_ZN9HighsInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %135) #9
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %135) #9
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %134) #9
  br label %1744

1744:                                             ; preds = %.thread917, %1374, %1743, %597
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #9
  br label %1745

1745:                                             ; preds = %404, %1744
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15) #9
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %15) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #9
  ret void

1746:                                             ; preds = %1741
  %1747 = landingpad { ptr, i32 }
          cleanup
  br label %1750

1748:                                             ; preds = %1742
  %1749 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %176) #9
  br label %1750

1750:                                             ; preds = %1748, %1746
  %.pn771 = phi { ptr, i32 } [ %1749, %1748 ], [ %1747, %1746 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %177) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %177) #9
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %176) #9
  br label %1751

1751:                                             ; preds = %1563, %1569, %1574, %1575, %1581, %1586, %1587, %1593, %1594, %1600, %1636, %1642, %1647, %1652, %1657, %1750, %1740, %1734, %1733, %1727, %1726, %1721, %1715, %1714, %1709, %1703, %1506, %1501, %1495, %1494, %1489, %1483, %1482, %1477, %1471, %1427, %1409, %1401, %1396, %1390
  %.pn771.pn.pn = phi { ptr, i32 } [ %.pn732, %1506 ], [ %1391, %1390 ], [ %.pn730, %1501 ], [ %1496, %1495 ], [ %.pn728, %1494 ], [ %.pn726, %1489 ], [ %1484, %1483 ], [ %.pn724, %1482 ], [ %.pn722, %1477 ], [ %1472, %1471 ], [ %.pn720, %1427 ], [ %.pn718, %1401 ], [ %.pn716, %1409 ], [ %.pn714, %1396 ], [ %.pn771, %1750 ], [ %.pn754, %1657 ], [ %1595, %1594 ], [ %.pn752, %1652 ], [ %.pn750, %1647 ], [ %.pn748, %1642 ], [ %1637, %1636 ], [ %.pn746, %1600 ], [ %.pn744, %1593 ], [ %1588, %1587 ], [ %.pn742, %1586 ], [ %.pn740, %1581 ], [ %1576, %1575 ], [ %.pn737, %1574 ], [ %.pn735, %1569 ], [ %1564, %1563 ], [ %.pn768, %1740 ], [ %1735, %1734 ], [ %.pn766, %1733 ], [ %1728, %1727 ], [ %.pn764, %1726 ], [ %.pn762, %1721 ], [ %1716, %1715 ], [ %.pn759, %1714 ], [ %.pn757, %1709 ], [ %1704, %1703 ]
  call void @_ZN9HighsInfoD2Ev(ptr noundef nonnull align 8 dereferenceable(184) %135) #9
  br label %1752

1752:                                             ; preds = %1751, %1388
  %.pn771.pn.pn.pn = phi { ptr, i32 } [ %.pn771.pn.pn, %1751 ], [ %1389, %1388 ]
  call void @llvm.lifetime.end.p0(i64 184, ptr nonnull %135) #9
  call void @llvm.lifetime.end.p0(i64 208, ptr nonnull %134) #9
  br label %1753

1753:                                             ; preds = %446, %457, %476, %477, %483, %488, %500, %509, %518, %527, %542, %547, %556, %565, %574, %596, %606, %612, %617, %636, %641, %642, %648, %653, %664, %669, %1094, %1100, %1113, %1128, %1171, %1371, %688, %690, %708, %714, %727, %740, %781, %976, %1752, %1379, %1065, %1060, %1050, %1045, %1039, %1038, %1033, %1014, %1009, %1003, %993, %984, %982, %420
  %.pn875.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %421, %420 ], [ %.pn694, %669 ], [ %.pn692, %664 ], [ %.pn690, %653 ], [ %.pn688, %648 ], [ %643, %642 ], [ %.pn686, %641 ], [ %.pn684, %636 ], [ %.pn682, %617 ], [ %.pn680, %612 ], [ %607, %606 ], [ %.pn677.pn, %596 ], [ %.pn673, %488 ], [ %.pn671, %547 ], [ %.pn669, %556 ], [ %.pn667, %565 ], [ %.pn665, %574 ], [ %.pn663, %542 ], [ %.pn661, %500 ], [ %.pn659, %509 ], [ %.pn657, %518 ], [ %.pn655, %527 ], [ %.pn653, %483 ], [ %478, %477 ], [ %.pn651, %476 ], [ %447, %446 ], [ %.pn648.pn915, %457 ], [ %.pn776, %1379 ], [ %.pn771.pn.pn.pn, %1752 ], [ %983, %982 ], [ %.pn712, %1065 ], [ %.pn710, %1060 ], [ %.pn708, %1050 ], [ %.pn706, %1045 ], [ %1040, %1039 ], [ %.pn704, %1038 ], [ %.pn702, %1033 ], [ %.pn700, %1014 ], [ %.pn698, %1009 ], [ %1004, %1003 ], [ %.pn696, %993 ], [ %985, %984 ], [ %.pn875.pn, %727 ], [ %.pn868.pn.pn.pn, %976 ], [ %.pn839, %714 ], [ %.pn835.pn.pn, %781 ], [ %.pn829, %740 ], [ %709, %708 ], [ %691, %690 ], [ %689, %688 ], [ %.pn825.pn, %1113 ], [ %.pn818.pn.pn.pn, %1371 ], [ %.pn788, %1100 ], [ %.pn784.pn.pn, %1171 ], [ %.pn778, %1128 ], [ %1095, %1094 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #9
  br label %1754

1754:                                             ; preds = %1753, %418
  %.pn875.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn, %1753 ], [ %419, %418 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #9
  br label %1755

1755:                                             ; preds = %1754, %412, %365
  %.pn875.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn, %1754 ], [ %.pn645, %412 ], [ %366, %365 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #9
  br label %1756

1756:                                             ; preds = %1755, %359
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn, %1755 ], [ %360, %359 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #9
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #9
  br label %1757

1757:                                             ; preds = %1756, %357
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn, %1756 ], [ %358, %357 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #9
  br label %1758

1758:                                             ; preds = %1757, %356, %351, %346, %330, %325, %319
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1757 ], [ %.pn643, %356 ], [ %.pn641, %351 ], [ %.pn639, %346 ], [ %.pn637, %330 ], [ %.pn635, %325 ], [ %320, %319 ]
  call void @_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(128) %15) #9
  br label %1759

1759:                                             ; preds = %1758, %317
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1758 ], [ %318, %317 ]
  call void @llvm.lifetime.end.p0(i64 392, ptr nonnull %15) #9
  br label %1760

1760:                                             ; preds = %1759, %316, %311, %283
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1759 ], [ %.pn633, %316 ], [ %.pn, %311 ], [ %284, %283 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #9
  br label %1761

1761:                                             ; preds = %1760, %281
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1760 ], [ %282, %281 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #9
  br label %1762

1762:                                             ; preds = %249, %1761, %218
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %219, %218 ], [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1761 ], [ %250, %249 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #9
  br label %1763

1763:                                             ; preds = %1762, %216
  %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn, %1762 ], [ %217, %216 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %9) #9
  resume { ptr, i32 } %.pn875.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn.pn
}

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

declare noundef i32 @_ZNK17HighsSparseMatrix5numNzEv(ptr noundef nonnull align 8 dereferenceable(112)) local_unnamed_addr #4

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(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_EERKS8_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: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2 align 2

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

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

declare void @_Z14getKktFailuresRK12HighsOptionsRK10HighsModelRK13HighsSolutionRK10HighsBasisR9HighsInfoR21HighsPrimalDualErrorsb(ptr noundef nonnull align 8 dereferenceable(1020), ptr noundef nonnull align 8 dereferenceable(1000), ptr noundef nonnull align 8 dereferenceable(104), ptr noundef nonnull align 8 dereferenceable(96), ptr noundef nonnull align 8 dereferenceable(184), ptr noundef nonnull align 8 dereferenceable(208), i1 noundef zeroext) local_unnamed_addr #4

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

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

!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 = !{!"_ZTS13HighsSolution", !7, i64 0, !7, i64 1, !10, i64 8, !10, i64 32, !10, i64 56, !10, i64 80}
!7 = !{!"bool", !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 = !{i8 0, i8 2}
!16 = !{}
!17 = !{!6, !7, i64 1}
!18 = !{!19, !7, i64 0}
!19 = !{!"_ZTS10HighsBasis", !7, i64 0, !7, i64 1, !7, i64 2, !7, i64 3, !20, i64 4, !20, i64 8, !21, i64 16, !24, i64 48, !24, i64 72}
!20 = !{!"int", !8, i64 0}
!21 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !22, i64 0, !23, i64 8, !8, i64 16}
!22 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !14, i64 0}
!23 = !{!"long", !8, i64 0}
!24 = !{!"_ZTSSt6vectorI16HighsBasisStatusSaIS0_EE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseI16HighsBasisStatusSaIS0_EE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseI16HighsBasisStatusSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!28 = !{!29, !20, i64 0}
!29 = !{!"_ZTS7HighsLp", !20, i64 0, !20, i64 4, !10, i64 8, !10, i64 32, !10, i64 56, !10, i64 80, !10, i64 104, !30, i64 128, !36, i64 240, !37, i64 248, !21, i64 256, !21, i64 288, !20, i64 320, !20, i64 324, !38, i64 328, !38, i64 352, !42, i64 376, !46, i64 400, !46, i64 456, !20, i64 512, !20, i64 516, !52, i64 520, !7, i64 592, !7, i64 593, !20, i64 596, !7, i64 600, !53, i64 608}
!30 = !{!"_ZTS17HighsSparseMatrix", !31, i64 0, !20, i64 4, !20, i64 8, !32, i64 16, !32, i64 40, !32, i64 64, !10, i64 88}
!31 = !{!"_ZTS12MatrixFormat", !8, i64 0}
!32 = !{!"_ZTSSt6vectorIiSaIiEE", !33, i64 0}
!33 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!36 = !{!"_ZTS8ObjSense", !8, i64 0}
!37 = !{!"double", !8, i64 0}
!38 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !39, i64 0}
!39 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!42 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !43, i64 0}
!43 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !45, i64 0}
!45 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!46 = !{!"_ZTS13HighsNameHash", !47, i64 0}
!47 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !48, i64 0}
!48 = !{!"_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, !23, i64 8, !49, i64 16, !23, i64 24, !50, i64 32, !14, i64 48}
!49 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !14, i64 0}
!50 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !51, i64 0, !23, i64 8}
!51 = !{!"float", !8, i64 0}
!52 = !{!"_ZTS10HighsScale", !20, i64 0, !7, i64 4, !20, i64 8, !20, i64 12, !37, i64 16, !10, i64 24, !10, i64 48}
!53 = !{!"_ZTS11HighsLpMods", !32, i64 0, !32, i64 24, !10, i64 48, !10, i64 72, !42, i64 96, !32, i64 120, !10, i64 144, !32, i64 168, !10, i64 192, !32, i64 216, !10, i64 240, !10, i64 264, !10, i64 288}
!54 = !{!55, !20, i64 432}
!55 = !{!"_ZTS18HighsOptionsStruct", !21, i64 8, !21, i64 40, !21, i64 72, !21, i64 104, !37, i64 136, !21, i64 144, !21, i64 176, !20, i64 208, !21, i64 216, !37, i64 248, !37, i64 256, !37, i64 264, !37, i64 272, !37, i64 280, !37, i64 288, !37, i64 296, !37, i64 304, !37, i64 312, !37, i64 320, !37, i64 328, !20, i64 336, !20, i64 340, !20, i64 344, !20, i64 348, !20, i64 352, !20, i64 356, !20, i64 360, !20, i64 364, !20, i64 368, !20, i64 372, !20, i64 376, !20, i64 380, !20, i64 384, !20, i64 388, !21, i64 392, !7, i64 424, !7, i64 425, !7, i64 426, !20, i64 428, !20, i64 432, !21, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !20, i64 476, !7, i64 480, !7, i64 481, !20, i64 484, !20, i64 488, !37, i64 496, !20, i64 504, !20, i64 508, !20, i64 512, !7, i64 516, !20, i64 520, !7, i64 524, !7, i64 525, !7, i64 526, !7, i64 527, !7, i64 528, !7, i64 529, !7, i64 530, !20, i64 532, !20, i64 536, !20, i64 540, !20, i64 544, !20, i64 548, !20, i64 552, !20, i64 556, !20, i64 560, !20, i64 564, !20, i64 568, !20, i64 572, !20, i64 576, !20, i64 580, !20, i64 584, !20, i64 588, !7, i64 592, !7, i64 593, !7, i64 594, !7, i64 595, !37, i64 600, !37, i64 608, !37, i64 616, !37, i64 624, !37, i64 632, !37, i64 640, !37, i64 648, !37, i64 656, !37, i64 664, !37, i64 672, !37, i64 680, !7, i64 688, !7, i64 689, !7, i64 690, !7, i64 691, !20, i64 692, !37, i64 696, !7, i64 704, !7, i64 705, !21, i64 712, !37, i64 744, !20, i64 752, !20, i64 756, !7, i64 760, !7, i64 761, !7, i64 762, !7, i64 763, !20, i64 764, !20, i64 768, !20, i64 772, !20, i64 776, !20, i64 780, !20, i64 784, !20, i64 788, !20, i64 792, !20, i64 796, !20, i64 800, !20, i64 804, !37, i64 808, !37, i64 816, !37, i64 824, !37, i64 832, !37, i64 840, !7, i64 848, !7, i64 849, !21, i64 856, !7, i64 888, !20, i64 892, !56, i64 896}
!56 = !{!"_ZTS15HighsLogOptions", !14, i64 0, !14, i64 8, !14, i64 16, !14, i64 24, !14, i64 32, !14, i64 40, !57, i64 48, !14, i64 80, !7, i64 88}
!57 = !{!"_ZTSSt8functionIFviRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPK20HighsCallbackDataOutP19HighsCallbackDataInPvEE", !58, i64 0, !14, i64 24}
!58 = !{!"_ZTSSt14_Function_base", !8, i64 0, !14, i64 16}
!59 = !{!37, !37, i64 0}
!60 = distinct !{!60, !61}
!61 = !{!"llvm.loop.mustprogress"}
!62 = !{!29, !20, i64 4}
!63 = !{!29, !20, i64 596}
!64 = !{!65, !65, i64 0}
!65 = !{!"_ZTS12HighsVarType", !8, i64 0}
!66 = distinct !{!66, !61}
!67 = !{!68, !20, i64 36}
!68 = !{!"_ZTS15HighsInfoStruct", !7, i64 0, !23, i64 8, !20, i64 16, !20, i64 20, !20, i64 24, !20, i64 28, !20, i64 32, !20, i64 36, !20, i64 40, !20, i64 44, !37, i64 48, !37, i64 56, !37, i64 64, !37, i64 72, !20, i64 80, !37, i64 88, !37, i64 96, !20, i64 104, !37, i64 112, !37, i64 120, !37, i64 128, !37, i64 136, !37, i64 144}
!69 = !{!68, !7, i64 0}
!70 = !{!29, !36, i64 240}
!71 = !{!68, !20, i64 40}
!72 = !{!68, !37, i64 48}
!73 = !{!74, !74, i64 0}
!74 = !{!"_ZTS16HighsBasisStatus", !8, i64 0}
!75 = distinct !{!75, !61}
!76 = distinct !{!76, !61}
!77 = !{!78, !37, i64 80}
!78 = !{!"_ZTS21HighsPrimalDualErrors", !20, i64 0, !20, i64 4, !37, i64 8, !37, i64 16, !20, i64 24, !37, i64 32, !37, i64 40, !20, i64 48, !37, i64 56, !20, i64 64, !37, i64 72, !79, i64 80, !79, i64 112, !79, i64 144, !79, i64 176}
!79 = !{!"_ZTS10HighsError", !37, i64 0, !20, i64 8, !37, i64 16, !20, i64 24}
!80 = !{!78, !20, i64 88}
!81 = !{!78, !37, i64 96}
!82 = !{!78, !20, i64 104}
!83 = !{!78, !37, i64 112}
!84 = !{!78, !20, i64 120}
!85 = !{!78, !37, i64 128}
!86 = !{!78, !20, i64 136}
!87 = !{!78, !37, i64 144}
!88 = !{!78, !20, i64 152}
!89 = !{!78, !37, i64 160}
!90 = !{!78, !20, i64 168}
!91 = !{!78, !37, i64 176}
!92 = !{!78, !20, i64 184}
!93 = !{!78, !37, i64 192}
!94 = !{!78, !20, i64 200}


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