; LLVM IR from ERGO-Code/HiGHS :: src/io/HMpsFF.ll (ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector.18" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::_Bit_reference" = type { ptr, i64 }
%"class.free_format_parser::HMpsFF" = type { double, i8, double, i32, i32, i32, %"class.std::__cxx11::basic_string", i32, double, %"class.std::vector", %"class.std::vector", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.3", %"class.std::vector.8", %"class.std::vector.8", %"class.std::vector.13", i32, %"class.std::vector", %"class.std::vector", %"class.std::vector.3", %"class.std::vector.18", i32, i8, i8, %"class.std::__cxx11::basic_string", i32, i32, %"class.std::__cxx11::basic_string", i32, i32, i8, %"class.std::vector.18", i8, %"class.std::__cxx11::basic_string", %"class.std::vector.22", %"class.std::vector", %"class.std::vector.27", %"class.std::vector.27", %"class.std::vector.32", %"class.std::vector.37", %"class.std::vector.8", %"class.std::vector.42", %"class.std::vector.47", %"class.std::vector.8", %"class.std::vector.52", %"class.std::vector.3", %"class.std::vector.57", %"class.std::unordered_map", %"class.std::unordered_map", %"class.std::__cxx11::basic_string" }
%"class.std::vector.13" = type { %"struct.std::_Vector_base.14" }
%"struct.std::_Vector_base.14" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.22" = type { %"struct.std::_Vector_base.23" }
%"struct.std::_Vector_base.23" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::Boundtype, std::allocator<free_format_parser::HMpsFF::Boundtype>>::_Vector_impl" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::Boundtype, std::allocator<free_format_parser::HMpsFF::Boundtype>>::_Vector_impl" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::Boundtype, std::allocator<free_format_parser::HMpsFF::Boundtype>>::_Vector_impl_data" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::Boundtype, std::allocator<free_format_parser::HMpsFF::Boundtype>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = 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.27" = type { %"struct.std::_Vector_base.28" }
%"struct.std::_Vector_base.28" = type { %"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.37" = type { %"struct.std::_Vector_base.38" }
%"struct.std::_Vector_base.38" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.42" = type { %"struct.std::_Vector_base.43" }
%"struct.std::_Vector_base.43" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.47" = type { %"struct.std::_Vector_base.48" }
%"struct.std::_Vector_base.48" = type { %"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<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.52" = type { %"struct.std::_Vector_base.53" }
%"struct.std::_Vector_base.53" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_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<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.57" = type { %"struct.std::_Vector_base.58" }
%"struct.std::_Vector_base.58" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }

@.str.10 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZL17default_non_charsB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.64 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [22 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [98 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [51 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; 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(8) ptr @_ZNSt6vectorIdSaIdEEixEm(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_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104)) #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) #3 align 2

declare noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2) #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca %"class.std::vector.18", align 8
  %18 = alloca %"class.std::vector.18", align 8
  %19 = alloca i8, align 1
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca i8, align 1
  %23 = alloca i8, align 1
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i32, align 4
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca %"class.std::__cxx11::basic_string", align 8
  %32 = alloca i32, align 4
  %33 = alloca i8, align 1
  %34 = alloca i8, align 1
  %35 = alloca i8, align 1
  %36 = alloca i8, align 1
  %37 = alloca i8, align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i64, align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca i64, align 8
  %43 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %44 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %45 = alloca %"class.std::__cxx11::basic_string", align 8
  %46 = alloca i32, align 4
  %47 = alloca %"struct.std::_Bit_reference", align 8
  %48 = alloca %"struct.std::_Bit_reference", align 8
  %49 = alloca %"struct.std::_Bit_reference", align 8
  %50 = alloca %"struct.std::_Bit_reference", align 8
  %51 = alloca %"struct.std::_Bit_reference", align 8
  %52 = alloca %"struct.std::_Bit_reference", align 8
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca i8, align 1
  %55 = alloca double, align 8
  %56 = alloca i32, align 4
  %57 = alloca double, align 8
  %58 = alloca %"struct.std::_Bit_reference", align 8
  %59 = alloca %"struct.std::_Bit_reference", align 8
  %60 = alloca %"struct.std::_Bit_reference", align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %61 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #6
  store i32 0, ptr %10, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  store i32 0, ptr %11, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #6
  store i32 0, ptr %12, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #6
  store i32 0, ptr %13, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #6
  store i32 0, ptr %14, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #6
  store i32 0, ptr %15, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  store i32 0, ptr %16, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 40, ptr %17) #6
  call void @_ZNSt6vectorIbSaIbEEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr %18) #6
  call void @_ZNSt6vectorIbSaIbEEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #6
  %62 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 4
  %63 = load i32, ptr %62, align 4, !tbaa !11
  %64 = sext i32 %63 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  store i8 0, ptr %19, align 1, !tbaa !78
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %17, i64 noundef %64, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %65 unwind label %78

65:                                               ; preds = %3
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  %66 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 4
  %67 = load i32, ptr %66, align 4, !tbaa !11
  %68 = sext i32 %67 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  store i8 0, ptr %22, align 1, !tbaa !78
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %18, i64 noundef %68, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %69 unwind label %82

69:                                               ; preds = %65
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  store i64 0, ptr %24, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  store i64 1, ptr %25, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  store i64 0, ptr %26, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  store i64 1, ptr %27, align 8, !tbaa !79
  br label %70

70:                                               ; preds = %697, %695, %77, %69
  %71 = load ptr, ptr %7, align 8, !tbaa !5
  %72 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %61, ptr noundef nonnull align 8 dereferenceable(16) %71, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 1 dereferenceable(1) %23)
          to label %73 unwind label %86

73:                                               ; preds = %70
  br i1 %72, label %74, label %710

74:                                               ; preds = %73
  %75 = load i8, ptr %23, align 1, !tbaa !78, !range !80, !noundef !81
  %76 = trunc i8 %75 to i1
  br i1 %76, label %77, label %90

77:                                               ; preds = %74
  br label %70, !llvm.loop !82

78:                                               ; preds = %3
  %79 = landingpad { ptr, i32 }
          cleanup
  %80 = extractvalue { ptr, i32 } %79, 0
  store ptr %80, ptr %20, align 8
  %81 = extractvalue { ptr, i32 } %79, 1
  store i32 %81, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  br label %714

82:                                               ; preds = %65
  %83 = landingpad { ptr, i32 }
          cleanup
  %84 = extractvalue { ptr, i32 } %83, 0
  store ptr %84, ptr %20, align 8
  %85 = extractvalue { ptr, i32 } %83, 1
  store i32 %85, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  br label %714

86:                                               ; preds = %90, %70
  %87 = landingpad { ptr, i32 }
          cleanup
  %88 = extractvalue { ptr, i32 } %87, 0
  store ptr %88, ptr %20, align 8
  %89 = extractvalue { ptr, i32 } %87, 1
  store i32 %89, ptr %21, align 4
  br label %713

90:                                               ; preds = %74
  %91 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %61)
          to label %92 unwind label %86

92:                                               ; preds = %90
  br i1 %91, label %93, label %94

93:                                               ; preds = %92
  store i32 29, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %711

94:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  store i64 0, ptr %29, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  store i64 0, ptr %30, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 32, ptr %31) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #6
  %95 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %61, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %96 unwind label %106

96:                                               ; preds = %94
  store i32 %95, ptr %32, align 4, !tbaa !84
  %97 = load i32, ptr %32, align 4, !tbaa !84
  %98 = icmp ne i32 %97, 24
  br i1 %98, label %99, label %176

99:                                               ; preds = %96
  %100 = load i32, ptr %10, align 4, !tbaa !9
  %101 = icmp ne i32 %100, 0
  br i1 %101, label %102, label %110

102:                                              ; preds = %99
  %103 = load ptr, ptr %6, align 8, !tbaa !5
  %104 = load i32, ptr %10, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %103, i32 noundef 1, ptr noundef @.str.141, i32 noundef %104)
          to label %105 unwind label %106

105:                                              ; preds = %102
  br label %110

106:                                              ; preds = %172, %165, %148, %141, %134, %127, %120, %113, %102, %94
  %107 = landingpad { ptr, i32 }
          cleanup
  %108 = extractvalue { ptr, i32 } %107, 0
  store ptr %108, ptr %20, align 8
  %109 = extractvalue { ptr, i32 } %107, 1
  store i32 %109, ptr %21, align 4
  br label %709

110:                                              ; preds = %105, %99
  %111 = load i32, ptr %11, align 4, !tbaa !9
  %112 = icmp ne i32 %111, 0
  br i1 %112, label %113, label %117

113:                                              ; preds = %110
  %114 = load ptr, ptr %6, align 8, !tbaa !5
  %115 = load i32, ptr %11, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %114, i32 noundef 1, ptr noundef @.str.142, i32 noundef %115)
          to label %116 unwind label %106

116:                                              ; preds = %113
  br label %117

117:                                              ; preds = %116, %110
  %118 = load i32, ptr %12, align 4, !tbaa !9
  %119 = icmp ne i32 %118, 0
  br i1 %119, label %120, label %124

120:                                              ; preds = %117
  %121 = load ptr, ptr %6, align 8, !tbaa !5
  %122 = load i32, ptr %12, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %121, i32 noundef 1, ptr noundef @.str.143, i32 noundef %122)
          to label %123 unwind label %106

123:                                              ; preds = %120
  br label %124

124:                                              ; preds = %123, %117
  %125 = load i32, ptr %13, align 4, !tbaa !9
  %126 = icmp ne i32 %125, 0
  br i1 %126, label %127, label %131

127:                                              ; preds = %124
  %128 = load ptr, ptr %6, align 8, !tbaa !5
  %129 = load i32, ptr %13, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %128, i32 noundef 1, ptr noundef @.str.144, i32 noundef %129)
          to label %130 unwind label %106

130:                                              ; preds = %127
  br label %131

131:                                              ; preds = %130, %124
  %132 = load i32, ptr %14, align 4, !tbaa !9
  %133 = icmp ne i32 %132, 0
  br i1 %133, label %134, label %138

134:                                              ; preds = %131
  %135 = load ptr, ptr %6, align 8, !tbaa !5
  %136 = load i32, ptr %14, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %135, i32 noundef 1, ptr noundef @.str.145, i32 noundef %136)
          to label %137 unwind label %106

137:                                              ; preds = %134
  br label %138

138:                                              ; preds = %137, %131
  %139 = load i32, ptr %15, align 4, !tbaa !9
  %140 = icmp ne i32 %139, 0
  br i1 %140, label %141, label %145

141:                                              ; preds = %138
  %142 = load ptr, ptr %6, align 8, !tbaa !5
  %143 = load i32, ptr %15, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %142, i32 noundef 1, ptr noundef @.str.146, i32 noundef %143)
          to label %144 unwind label %106

144:                                              ; preds = %141
  br label %145

145:                                              ; preds = %144, %138
  %146 = load i32, ptr %16, align 4, !tbaa !9
  %147 = icmp ne i32 %146, 0
  br i1 %147, label %148, label %152

148:                                              ; preds = %145
  %149 = load ptr, ptr %6, align 8, !tbaa !5
  %150 = load i32, ptr %16, align 4, !tbaa !9
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %149, i32 noundef 1, ptr noundef @.str.147, i32 noundef %150)
          to label %151 unwind label %106

151:                                              ; preds = %148
  br label %152

152:                                              ; preds = %151, %145
  %153 = load i64, ptr %24, align 8, !tbaa !79
  %154 = icmp ne i64 %153, 0
  br i1 %154, label %158, label %155

155:                                              ; preds = %152
  %156 = load i64, ptr %26, align 8, !tbaa !79
  %157 = icmp ugt i64 %156, 0
  br label %158

158:                                              ; preds = %155, %152
  %159 = phi i1 [ true, %152 ], [ %157, %155 ]
  %160 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 1
  %161 = zext i1 %159 to i8
  store i8 %161, ptr %160, align 8, !tbaa !86
  %162 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 1
  %163 = load i8, ptr %162, align 8, !tbaa !86, !range !80, !noundef !81
  %164 = trunc i8 %163 to i1
  br i1 %164, label %165, label %172

165:                                              ; preds = %158
  %166 = load ptr, ptr %6, align 8, !tbaa !5
  %167 = load i64, ptr %24, align 8, !tbaa !79
  %168 = trunc i64 %167 to i32
  %169 = load i64, ptr %26, align 8, !tbaa !79
  %170 = trunc i64 %169 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %166, i32 noundef 4, ptr noundef @.str.148, i32 noundef %168, i32 noundef %170)
          to label %171 unwind label %106

171:                                              ; preds = %165
  br label %172

172:                                              ; preds = %171, %158
  %173 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %173, i32 noundef 1, ptr noundef @.str.149)
          to label %174 unwind label %106

174:                                              ; preds = %172
  %175 = load i32, ptr %32, align 4, !tbaa !84
  store i32 %175, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %695

176:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #6
  store i8 0, ptr %33, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #6
  store i8 0, ptr %34, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #6
  store i8 0, ptr %35, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #6
  store i8 0, ptr %36, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 1, ptr %37) #6
  store i8 0, ptr %37, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef nonnull align 8 dereferenceable(32) %31)
          to label %177 unwind label %181

177:                                              ; preds = %176
  %178 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.150)
          to label %179 unwind label %185

179:                                              ; preds = %177
  br i1 %178, label %180, label %189

180:                                              ; preds = %179
  store i8 1, ptr %34, align 1, !tbaa !78
  br label %259

181:                                              ; preds = %176
  %182 = landingpad { ptr, i32 }
          cleanup
  %183 = extractvalue { ptr, i32 } %182, 0
  store ptr %183, ptr %20, align 8
  %184 = extractvalue { ptr, i32 } %182, 1
  store i32 %184, ptr %21, align 4
  br label %708

185:                                              ; preds = %245, %243, %237, %231, %227, %221, %215, %209, %203, %197, %193, %189, %177
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %20, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %21, align 4
  br label %707

189:                                              ; preds = %179
  %190 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.151)
          to label %191 unwind label %185

191:                                              ; preds = %189
  br i1 %190, label %192, label %193

192:                                              ; preds = %191
  store i8 1, ptr %33, align 1, !tbaa !78
  br label %258

193:                                              ; preds = %191
  %194 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.152)
          to label %195 unwind label %185

195:                                              ; preds = %193
  br i1 %194, label %196, label %197

196:                                              ; preds = %195
  store i8 1, ptr %33, align 1, !tbaa !78
  store i8 1, ptr %34, align 1, !tbaa !78
  br label %257

197:                                              ; preds = %195
  %198 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.153)
          to label %199 unwind label %185

199:                                              ; preds = %197
  br i1 %198, label %200, label %203

200:                                              ; preds = %199
  store i8 1, ptr %33, align 1, !tbaa !78
  store i8 1, ptr %37, align 1, !tbaa !78
  %201 = load i32, ptr %10, align 4, !tbaa !9
  %202 = add nsw i32 %201, 1
  store i32 %202, ptr %10, align 4, !tbaa !9
  br label %256

203:                                              ; preds = %199
  %204 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.154)
          to label %205 unwind label %185

205:                                              ; preds = %203
  br i1 %204, label %206, label %209

206:                                              ; preds = %205
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %37, align 1, !tbaa !78
  %207 = load i32, ptr %11, align 4, !tbaa !9
  %208 = add nsw i32 %207, 1
  store i32 %208, ptr %11, align 4, !tbaa !9
  br label %255

209:                                              ; preds = %205
  %210 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.155)
          to label %211 unwind label %185

211:                                              ; preds = %209
  br i1 %210, label %212, label %215

212:                                              ; preds = %211
  store i8 1, ptr %33, align 1, !tbaa !78
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %35, align 1, !tbaa !78
  store i8 1, ptr %37, align 1, !tbaa !78
  %213 = load i32, ptr %12, align 4, !tbaa !9
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr %12, align 4, !tbaa !9
  br label %254

215:                                              ; preds = %211
  %216 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.156)
          to label %217 unwind label %185

217:                                              ; preds = %215
  br i1 %216, label %218, label %221

218:                                              ; preds = %217
  store i8 1, ptr %33, align 1, !tbaa !78
  store i8 1, ptr %35, align 1, !tbaa !78
  %219 = load i32, ptr %13, align 4, !tbaa !9
  %220 = add nsw i32 %219, 1
  store i32 %220, ptr %13, align 4, !tbaa !9
  br label %253

221:                                              ; preds = %217
  %222 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.157)
          to label %223 unwind label %185

223:                                              ; preds = %221
  br i1 %222, label %224, label %227

224:                                              ; preds = %223
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %35, align 1, !tbaa !78
  %225 = load i32, ptr %14, align 4, !tbaa !9
  %226 = add nsw i32 %225, 1
  store i32 %226, ptr %14, align 4, !tbaa !9
  br label %252

227:                                              ; preds = %223
  %228 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.158)
          to label %229 unwind label %185

229:                                              ; preds = %227
  br i1 %228, label %230, label %231

230:                                              ; preds = %229
  store i8 1, ptr %33, align 1, !tbaa !78
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %37, align 1, !tbaa !78
  br label %251

231:                                              ; preds = %229
  %232 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.159)
          to label %233 unwind label %185

233:                                              ; preds = %231
  br i1 %232, label %234, label %237

234:                                              ; preds = %233
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %35, align 1, !tbaa !78
  store i8 1, ptr %36, align 1, !tbaa !78
  %235 = load i32, ptr %15, align 4, !tbaa !9
  %236 = add nsw i32 %235, 1
  store i32 %236, ptr %15, align 4, !tbaa !9
  br label %250

237:                                              ; preds = %233
  %238 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.160)
          to label %239 unwind label %185

239:                                              ; preds = %237
  br i1 %238, label %240, label %243

240:                                              ; preds = %239
  store i8 1, ptr %34, align 1, !tbaa !78
  store i8 1, ptr %36, align 1, !tbaa !78
  %241 = load i32, ptr %16, align 4, !tbaa !9
  %242 = add nsw i32 %241, 1
  store i32 %242, ptr %16, align 4, !tbaa !9
  br label %249

243:                                              ; preds = %239
  %244 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %245 unwind label %185

245:                                              ; preds = %243
  %246 = load ptr, ptr %6, align 8, !tbaa !5
  %247 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %246, i32 noundef 5, ptr noundef @.str.161, ptr noundef %247)
          to label %248 unwind label %185

248:                                              ; preds = %245
  store i32 26, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %694

249:                                              ; preds = %240
  br label %250

250:                                              ; preds = %249, %234
  br label %251

251:                                              ; preds = %250, %230
  br label %252

252:                                              ; preds = %251, %224
  br label %253

253:                                              ; preds = %252, %218
  br label %254

254:                                              ; preds = %253, %212
  br label %255

255:                                              ; preds = %254, %206
  br label %256

256:                                              ; preds = %255, %200
  br label %257

257:                                              ; preds = %256, %196
  br label %258

258:                                              ; preds = %257, %192
  br label %259

259:                                              ; preds = %258, %180
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %260 = load i64, ptr %30, align 8, !tbaa !79
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %260)
          to label %261 unwind label %279

261:                                              ; preds = %259
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #6
  %262 = load i64, ptr %30, align 8, !tbaa !79
  %263 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %262)
          to label %264 unwind label %283

264:                                              ; preds = %261
  store i64 %263, ptr %40, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #6
  %265 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 52
  %266 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %265, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %267 unwind label %287

267:                                              ; preds = %264
  %268 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %43, i32 0, i32 0
  %269 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %268, i32 0, i32 0
  store ptr %266, ptr %269, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  %270 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 52
  %271 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %270) #6
  %272 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %44, i32 0, i32 0
  %273 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %272, i32 0, i32 0
  store ptr %271, ptr %273, align 8
  %274 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %43, ptr noundef nonnull align 8 dereferenceable(8) %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  br i1 %274, label %275, label %295

275:                                              ; preds = %267
  %276 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %277 unwind label %291

277:                                              ; preds = %275
  %278 = load i64, ptr %40, align 8, !tbaa !79
  store i64 %278, ptr %42, align 8, !tbaa !79
  br label %306

279:                                              ; preds = %259
  %280 = landingpad { ptr, i32 }
          cleanup
  %281 = extractvalue { ptr, i32 } %280, 0
  store ptr %281, ptr %20, align 8
  %282 = extractvalue { ptr, i32 } %280, 1
  store i32 %282, ptr %21, align 4
  br label %706

283:                                              ; preds = %261
  %284 = landingpad { ptr, i32 }
          cleanup
  %285 = extractvalue { ptr, i32 } %284, 0
  store ptr %285, ptr %20, align 8
  %286 = extractvalue { ptr, i32 } %284, 1
  store i32 %286, ptr %21, align 4
  br label %705

287:                                              ; preds = %264
  %288 = landingpad { ptr, i32 }
          cleanup
  %289 = extractvalue { ptr, i32 } %288, 0
  store ptr %289, ptr %20, align 8
  %290 = extractvalue { ptr, i32 } %288, 1
  store i32 %290, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #6
  br label %704

291:                                              ; preds = %297, %275
  %292 = landingpad { ptr, i32 }
          cleanup
  %293 = extractvalue { ptr, i32 } %292, 0
  store ptr %293, ptr %20, align 8
  %294 = extractvalue { ptr, i32 } %292, 1
  store i32 %294, ptr %21, align 4
  br label %704

295:                                              ; preds = %267
  call void @llvm.lifetime.start.p0(i64 32, ptr %45) #6
  %296 = load i64, ptr %40, align 8, !tbaa !79
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %45, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %296)
          to label %297 unwind label %302

297:                                              ; preds = %295
  %298 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %45) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  %299 = load i64, ptr %40, align 8, !tbaa !79
  %300 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %299)
          to label %301 unwind label %291

301:                                              ; preds = %297
  store i64 %300, ptr %42, align 8, !tbaa !79
  br label %306

302:                                              ; preds = %295
  %303 = landingpad { ptr, i32 }
          cleanup
  %304 = extractvalue { ptr, i32 } %303, 0
  store ptr %304, ptr %20, align 8
  %305 = extractvalue { ptr, i32 } %303, 1
  store i32 %305, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %45) #6
  br label %704

306:                                              ; preds = %301, %277
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #6
  %307 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %61, ptr noundef nonnull align 8 dereferenceable(32) %41, i1 noundef zeroext false)
          to label %308 unwind label %321

308:                                              ; preds = %306
  store i32 %307, ptr %46, align 4, !tbaa !9
  %309 = load i32, ptr %46, align 4, !tbaa !9
  %310 = icmp slt i32 %309, 0
  br i1 %310, label %311, label %329

311:                                              ; preds = %308
  %312 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %61, ptr noundef nonnull align 8 dereferenceable(32) %41, i1 noundef zeroext true)
          to label %313 unwind label %321

313:                                              ; preds = %311
  store i32 %312, ptr %46, align 4, !tbaa !9
  %314 = load i32, ptr %46, align 4, !tbaa !9
  %315 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 4
  %316 = load i32, ptr %315, align 4, !tbaa !11
  %317 = sub nsw i32 %316, 1
  %318 = icmp eq i32 %314, %317
  br i1 %318, label %319, label %320

319:                                              ; preds = %313
  br label %326

320:                                              ; preds = %313
  call void @__assert_fail(ptr noundef @.str.162, ptr noundef @.str.64, i32 noundef 1425, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

321:                                              ; preds = %547, %545, %542, %538, %534, %403, %401, %373, %327, %326, %311, %306
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %20, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %21, align 4
  br label %703

325:                                              ; No predecessors!
  br label %326

326:                                              ; preds = %325, %319
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %17, i1 noundef zeroext false)
          to label %327 unwind label %321

327:                                              ; preds = %326
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %18, i1 noundef zeroext false)
          to label %328 unwind label %321

328:                                              ; preds = %327
  br label %329

329:                                              ; preds = %328, %308
  %330 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %331 = trunc i8 %330 to i1
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #6
  br i1 %331, label %332, label %342

332:                                              ; preds = %329
  %333 = load i32, ptr %46, align 4, !tbaa !9
  %334 = sext i32 %333 to i64
  %335 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %17, i64 noundef %334)
          to label %336 unwind label %379

336:                                              ; preds = %332
  %337 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 0
  %338 = extractvalue { ptr, i64 } %335, 0
  store ptr %338, ptr %337, align 8
  %339 = getelementptr inbounds { ptr, i64 }, ptr %47, i32 0, i32 1
  %340 = extractvalue { ptr, i64 } %335, 1
  store i64 %340, ptr %339, align 8
  %341 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %47) #6
  br i1 %341, label %357, label %342

342:                                              ; preds = %336, %329
  %343 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %344 = trunc i8 %343 to i1
  br i1 %344, label %345, label %355

345:                                              ; preds = %342
  %346 = load i32, ptr %46, align 4, !tbaa !9
  %347 = sext i32 %346 to i64
  %348 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %18, i64 noundef %347)
          to label %349 unwind label %383

349:                                              ; preds = %345
  %350 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0
  %351 = extractvalue { ptr, i64 } %348, 0
  store ptr %351, ptr %350, align 8
  %352 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1
  %353 = extractvalue { ptr, i64 } %348, 1
  store i64 %353, ptr %352, align 8
  %354 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %48) #6
  br label %355

355:                                              ; preds = %349, %342
  %356 = phi i1 [ false, %342 ], [ %354, %349 ]
  br label %357

357:                                              ; preds = %355, %336
  %358 = phi i1 [ true, %336 ], [ %356, %355 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #6
  br i1 %358, label %359, label %389

359:                                              ; preds = %357
  %360 = load i64, ptr %24, align 8, !tbaa !79
  %361 = add i64 %360, 1
  store i64 %361, ptr %24, align 8, !tbaa !79
  %362 = load i64, ptr %24, align 8, !tbaa !79
  %363 = load i64, ptr %25, align 8, !tbaa !79
  %364 = urem i64 %362, %363
  %365 = icmp eq i64 %364, 0
  br i1 %365, label %366, label %388

366:                                              ; preds = %359
  %367 = load ptr, ptr %6, align 8, !tbaa !5
  %368 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  %369 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %370 = trunc i8 %369 to i1
  br i1 %370, label %371, label %372

371:                                              ; preds = %366
  br label %373

372:                                              ; preds = %366
  br label %373

373:                                              ; preds = %372, %371
  %374 = phi ptr [ @.str.164, %371 ], [ @.str.165, %372 ]
  %375 = getelementptr inbounds [6 x i8], ptr %374, i64 0, i64 0
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %367, i32 noundef 4, ptr noundef @.str.163, ptr noundef %368, ptr noundef %375)
          to label %376 unwind label %321

376:                                              ; preds = %373
  %377 = load i64, ptr %25, align 8, !tbaa !79
  %378 = mul i64 %377, 2
  store i64 %378, ptr %25, align 8, !tbaa !79
  br label %388

379:                                              ; preds = %332
  %380 = landingpad { ptr, i32 }
          cleanup
  %381 = extractvalue { ptr, i32 } %380, 0
  store ptr %381, ptr %20, align 8
  %382 = extractvalue { ptr, i32 } %380, 1
  store i32 %382, ptr %21, align 4
  br label %387

383:                                              ; preds = %345
  %384 = landingpad { ptr, i32 }
          cleanup
  %385 = extractvalue { ptr, i32 } %384, 0
  store ptr %385, ptr %20, align 8
  %386 = extractvalue { ptr, i32 } %384, 1
  store i32 %386, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #6
  br label %387

387:                                              ; preds = %383, %379
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #6
  br label %703

388:                                              ; preds = %376, %359
  store i32 2, ptr %28, align 4
  br label %693, !llvm.loop !82

389:                                              ; preds = %357
  %390 = load i8, ptr %37, align 1, !tbaa !78, !range !80, !noundef !81
  %391 = trunc i8 %390 to i1
  br i1 %391, label %392, label %534

392:                                              ; preds = %389
  %393 = load i8, ptr %35, align 1, !tbaa !78, !range !80, !noundef !81
  %394 = trunc i8 %393 to i1
  br i1 %394, label %395, label %468

395:                                              ; preds = %392
  %396 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %397 = trunc i8 %396 to i1
  br i1 %397, label %398, label %401

398:                                              ; preds = %395
  %399 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %400 = trunc i8 %399 to i1
  br i1 %400, label %424, label %401

401:                                              ; preds = %398, %395
  %402 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %403 unwind label %321

403:                                              ; preds = %401
  %404 = load ptr, ptr %6, align 8, !tbaa !5
  %405 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  %406 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %407 = trunc i8 %406 to i1
  %408 = zext i1 %407 to i32
  %409 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %410 = trunc i8 %409 to i1
  %411 = zext i1 %410 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %404, i32 noundef 5, ptr noundef @.str.166, ptr noundef %405, i32 noundef %408, i32 noundef %411)
          to label %412 unwind label %321

412:                                              ; preds = %403
  %413 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %414 = trunc i8 %413 to i1
  br i1 %414, label %415, label %418

415:                                              ; preds = %412
  %416 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %417 = trunc i8 %416 to i1
  br label %418

418:                                              ; preds = %415, %412
  %419 = phi i1 [ false, %412 ], [ %417, %415 ]
  br i1 %419, label %420, label %421

420:                                              ; preds = %418
  br label %423

421:                                              ; preds = %418
  call void @__assert_fail(ptr noundef @.str.167, ptr noundef @.str.64, i32 noundef 1458, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

422:                                              ; No predecessors!
  br label %423

423:                                              ; preds = %422, %420
  store i32 26, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %693

424:                                              ; preds = %398
  %425 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %426 = trunc i8 %425 to i1
  br i1 %426, label %427, label %430

427:                                              ; preds = %424
  %428 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %429 = trunc i8 %428 to i1
  br label %430

430:                                              ; preds = %427, %424
  %431 = phi i1 [ false, %424 ], [ %429, %427 ]
  br i1 %431, label %432, label %433

432:                                              ; preds = %430
  br label %435

433:                                              ; preds = %430
  call void @__assert_fail(ptr noundef @.str.167, ptr noundef @.str.64, i32 noundef 1461, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

434:                                              ; No predecessors!
  br label %435

435:                                              ; preds = %434, %432
  %436 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 19
  %437 = load i32, ptr %46, align 4, !tbaa !9
  %438 = sext i32 %437 to i64
  %439 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %436, i64 noundef %438) #6
  store i8 1, ptr %439, align 1, !tbaa !87
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #6
  %440 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 24
  %441 = load i32, ptr %46, align 4, !tbaa !9
  %442 = sext i32 %441 to i64
  %443 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %440, i64 noundef %442)
          to label %444 unwind label %458

444:                                              ; preds = %435
  %445 = getelementptr inbounds { ptr, i64 }, ptr %49, i32 0, i32 0
  %446 = extractvalue { ptr, i64 } %443, 0
  store ptr %446, ptr %445, align 8
  %447 = getelementptr inbounds { ptr, i64 }, ptr %49, i32 0, i32 1
  %448 = extractvalue { ptr, i64 } %443, 1
  store i64 %448, ptr %447, align 8
  %449 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %49, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #6
  %450 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 13
  %451 = load i32, ptr %46, align 4, !tbaa !9
  %452 = sext i32 %451 to i64
  %453 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %450, i64 noundef %452) #6
  %454 = load double, ptr %453, align 8, !tbaa !89
  %455 = fcmp oeq double %454, 0.000000e+00
  br i1 %455, label %456, label %457

456:                                              ; preds = %444
  br label %463

457:                                              ; preds = %444
  call void @__assert_fail(ptr noundef @.str.168, ptr noundef @.str.64, i32 noundef 1465, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

458:                                              ; preds = %435
  %459 = landingpad { ptr, i32 }
          cleanup
  %460 = extractvalue { ptr, i32 } %459, 0
  store ptr %460, ptr %20, align 8
  %461 = extractvalue { ptr, i32 } %459, 1
  store i32 %461, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #6
  br label %703

462:                                              ; No predecessors!
  br label %463

463:                                              ; preds = %462, %456
  %464 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 14
  %465 = load i32, ptr %46, align 4, !tbaa !9
  %466 = sext i32 %465 to i64
  %467 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %464, i64 noundef %466) #6
  store double 1.000000e+00, ptr %467, align 8, !tbaa !89
  br label %499

468:                                              ; preds = %392
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #6
  %469 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 24
  %470 = load i32, ptr %46, align 4, !tbaa !9
  %471 = sext i32 %470 to i64
  %472 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %469, i64 noundef %471)
          to label %473 unwind label %486

473:                                              ; preds = %468
  %474 = getelementptr inbounds { ptr, i64 }, ptr %50, i32 0, i32 0
  %475 = extractvalue { ptr, i64 } %472, 0
  store ptr %475, ptr %474, align 8
  %476 = getelementptr inbounds { ptr, i64 }, ptr %50, i32 0, i32 1
  %477 = extractvalue { ptr, i64 } %472, 1
  store i64 %477, ptr %476, align 8
  %478 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %50, i1 noundef zeroext false) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  %479 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %480 = trunc i8 %479 to i1
  br i1 %480, label %481, label %490

481:                                              ; preds = %473
  %482 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 13
  %483 = load i32, ptr %46, align 4, !tbaa !9
  %484 = sext i32 %483 to i64
  %485 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %482, i64 noundef %484) #6
  store double 0xFFF0000000000000, ptr %485, align 8, !tbaa !89
  br label %490

486:                                              ; preds = %468
  %487 = landingpad { ptr, i32 }
          cleanup
  %488 = extractvalue { ptr, i32 } %487, 0
  store ptr %488, ptr %20, align 8
  %489 = extractvalue { ptr, i32 } %487, 1
  store i32 %489, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #6
  br label %703

490:                                              ; preds = %481, %473
  %491 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %492 = trunc i8 %491 to i1
  br i1 %492, label %493, label %498

493:                                              ; preds = %490
  %494 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 14
  %495 = load i32, ptr %46, align 4, !tbaa !9
  %496 = sext i32 %495 to i64
  %497 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %494, i64 noundef %496) #6
  store double 0x7FF0000000000000, ptr %497, align 8, !tbaa !89
  br label %498

498:                                              ; preds = %493, %490
  br label %499

499:                                              ; preds = %498, %463
  %500 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %501 = trunc i8 %500 to i1
  br i1 %501, label %502, label %516

502:                                              ; preds = %499
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #6
  %503 = load i32, ptr %46, align 4, !tbaa !9
  %504 = sext i32 %503 to i64
  %505 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %17, i64 noundef %504)
          to label %506 unwind label %512

506:                                              ; preds = %502
  %507 = getelementptr inbounds { ptr, i64 }, ptr %51, i32 0, i32 0
  %508 = extractvalue { ptr, i64 } %505, 0
  store ptr %508, ptr %507, align 8
  %509 = getelementptr inbounds { ptr, i64 }, ptr %51, i32 0, i32 1
  %510 = extractvalue { ptr, i64 } %505, 1
  store i64 %510, ptr %509, align 8
  %511 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %51, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #6
  br label %516

512:                                              ; preds = %502
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %20, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #6
  br label %703

516:                                              ; preds = %506, %499
  %517 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %518 = trunc i8 %517 to i1
  br i1 %518, label %519, label %533

519:                                              ; preds = %516
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #6
  %520 = load i32, ptr %46, align 4, !tbaa !9
  %521 = sext i32 %520 to i64
  %522 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %18, i64 noundef %521)
          to label %523 unwind label %529

523:                                              ; preds = %519
  %524 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 0
  %525 = extractvalue { ptr, i64 } %522, 0
  store ptr %525, ptr %524, align 8
  %526 = getelementptr inbounds { ptr, i64 }, ptr %52, i32 0, i32 1
  %527 = extractvalue { ptr, i64 } %522, 1
  store i64 %527, ptr %526, align 8
  %528 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %52, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #6
  br label %533

529:                                              ; preds = %519
  %530 = landingpad { ptr, i32 }
          cleanup
  %531 = extractvalue { ptr, i32 } %530, 0
  store ptr %531, ptr %20, align 8
  %532 = extractvalue { ptr, i32 } %530, 1
  store i32 %532, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #6
  br label %703

533:                                              ; preds = %523, %516
  store i32 2, ptr %28, align 4
  br label %693, !llvm.loop !82

534:                                              ; preds = %389
  %535 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.10)
          to label %536 unwind label %321

536:                                              ; preds = %534
  call void @llvm.lifetime.start.p0(i64 32, ptr %53) #6
  %537 = load i64, ptr %42, align 8, !tbaa !79
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %53, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %537)
          to label %538 unwind label %552

538:                                              ; preds = %536
  %539 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  %540 = load i64, ptr %42, align 8, !tbaa !79
  %541 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %540)
          to label %542 unwind label %321

542:                                              ; preds = %538
  store i64 %541, ptr %30, align 8, !tbaa !79
  %543 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef @.str.10)
          to label %544 unwind label %321

544:                                              ; preds = %542
  br i1 %543, label %545, label %556

545:                                              ; preds = %544
  %546 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %547 unwind label %321

547:                                              ; preds = %545
  %548 = load ptr, ptr %6, align 8, !tbaa !5
  %549 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  %550 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %548, i32 noundef 5, ptr noundef @.str.169, ptr noundef %549, ptr noundef %550)
          to label %551 unwind label %321

551:                                              ; preds = %547
  store i32 26, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %693

552:                                              ; preds = %536
  %553 = landingpad { ptr, i32 }
          cleanup
  %554 = extractvalue { ptr, i32 } %553, 0
  store ptr %554, ptr %20, align 8
  %555 = extractvalue { ptr, i32 } %553, 1
  store i32 %555, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %53) #6
  br label %703

556:                                              ; preds = %544
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #6
  store i8 0, ptr %54, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #6
  %557 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %61, ptr noundef nonnull align 8 dereferenceable(32) %31, ptr noundef nonnull align 1 dereferenceable(1) %54, i32 noundef -1)
          to label %558 unwind label %565

558:                                              ; preds = %556
  store double %557, ptr %55, align 8, !tbaa !89
  %559 = load i8, ptr %54, align 1, !tbaa !78, !range !80, !noundef !81
  %560 = trunc i8 %559 to i1
  br i1 %560, label %561, label %569

561:                                              ; preds = %558
  %562 = load ptr, ptr %6, align 8, !tbaa !5
  %563 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %562, i32 noundef 5, ptr noundef @.str.170, ptr noundef %563)
          to label %564 unwind label %565

564:                                              ; preds = %561
  store i32 26, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %692

565:                                              ; preds = %561, %556
  %566 = landingpad { ptr, i32 }
          cleanup
  %567 = extractvalue { ptr, i32 } %566, 0
  store ptr %567, ptr %20, align 8
  %568 = extractvalue { ptr, i32 } %566, 1
  store i32 %568, ptr %21, align 4
  br label %702

569:                                              ; preds = %558
  %570 = load i8, ptr %35, align 1, !tbaa !78, !range !80, !noundef !81
  %571 = trunc i8 %570 to i1
  br i1 %571, label %572, label %628

572:                                              ; preds = %569
  %573 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %574 = trunc i8 %573 to i1
  br i1 %574, label %581, label %575

575:                                              ; preds = %572
  %576 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %577 = trunc i8 %576 to i1
  br i1 %577, label %581, label %578

578:                                              ; preds = %575
  %579 = load i8, ptr %36, align 1, !tbaa !78, !range !80, !noundef !81
  %580 = trunc i8 %579 to i1
  br label %581

581:                                              ; preds = %578, %575, %572
  %582 = phi i1 [ true, %575 ], [ true, %572 ], [ %580, %578 ]
  br i1 %582, label %583, label %584

583:                                              ; preds = %581
  br label %586

584:                                              ; preds = %581
  call void @__assert_fail(ptr noundef @.str.171, ptr noundef @.str.64, i32 noundef 1498, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

585:                                              ; No predecessors!
  br label %586

586:                                              ; preds = %585, %583
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #6
  %587 = load double, ptr %55, align 8, !tbaa !89
  %588 = fptosi double %587 to i32
  store i32 %588, ptr %56, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #6
  %589 = load double, ptr %55, align 8, !tbaa !89
  %590 = load i32, ptr %56, align 4, !tbaa !9
  %591 = sitofp i32 %590 to double
  %592 = fsub double %589, %591
  store double %592, ptr %57, align 8, !tbaa !89
  %593 = load double, ptr %57, align 8, !tbaa !89
  %594 = fcmp une double %593, 0.000000e+00
  br i1 %594, label %595, label %614

595:                                              ; preds = %586
  %596 = load i64, ptr %26, align 8, !tbaa !79
  %597 = add i64 %596, 1
  store i64 %597, ptr %26, align 8, !tbaa !79
  %598 = load i64, ptr %26, align 8, !tbaa !79
  %599 = load i64, ptr %27, align 8, !tbaa !79
  %600 = urem i64 %598, %599
  %601 = icmp eq i64 %600, 0
  br i1 %601, label %602, label %613

602:                                              ; preds = %595
  %603 = load ptr, ptr %6, align 8, !tbaa !5
  %604 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  %605 = load double, ptr %55, align 8, !tbaa !89
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %603, i32 noundef 4, ptr noundef @.str.172, ptr noundef %604, double noundef %605)
          to label %606 unwind label %609

606:                                              ; preds = %602
  %607 = load i64, ptr %27, align 8, !tbaa !79
  %608 = mul i64 %607, 2
  store i64 %608, ptr %27, align 8, !tbaa !79
  br label %613

609:                                              ; preds = %602
  %610 = landingpad { ptr, i32 }
          cleanup
  %611 = extractvalue { ptr, i32 } %610, 0
  store ptr %611, ptr %20, align 8
  %612 = extractvalue { ptr, i32 } %610, 1
  store i32 %612, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  br label %702

613:                                              ; preds = %606, %595
  br label %614

614:                                              ; preds = %613, %586
  %615 = load i8, ptr %36, align 1, !tbaa !78, !range !80, !noundef !81
  %616 = trunc i8 %615 to i1
  br i1 %616, label %617, label %622

617:                                              ; preds = %614
  %618 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 19
  %619 = load i32, ptr %46, align 4, !tbaa !9
  %620 = sext i32 %619 to i64
  %621 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %618, i64 noundef %620) #6
  store i8 3, ptr %621, align 1, !tbaa !87
  br label %627

622:                                              ; preds = %614
  %623 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 19
  %624 = load i32, ptr %46, align 4, !tbaa !9
  %625 = sext i32 %624 to i64
  %626 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %623, i64 noundef %625) #6
  store i8 1, ptr %626, align 1, !tbaa !87
  br label %627

627:                                              ; preds = %622, %617
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #6
  br label %637

628:                                              ; preds = %569
  %629 = load i8, ptr %36, align 1, !tbaa !78, !range !80, !noundef !81
  %630 = trunc i8 %629 to i1
  br i1 %630, label %631, label %636

631:                                              ; preds = %628
  %632 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 19
  %633 = load i32, ptr %46, align 4, !tbaa !9
  %634 = sext i32 %633 to i64
  %635 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %632, i64 noundef %634) #6
  store i8 2, ptr %635, align 1, !tbaa !87
  br label %636

636:                                              ; preds = %631, %628
  br label %637

637:                                              ; preds = %636, %627
  %638 = load i8, ptr %33, align 1, !tbaa !78, !range !80, !noundef !81
  %639 = trunc i8 %638 to i1
  br i1 %639, label %640, label %659

640:                                              ; preds = %637
  %641 = load double, ptr %55, align 8, !tbaa !89
  %642 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 13
  %643 = load i32, ptr %46, align 4, !tbaa !9
  %644 = sext i32 %643 to i64
  %645 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %642, i64 noundef %644) #6
  store double %641, ptr %645, align 8, !tbaa !89
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #6
  %646 = load i32, ptr %46, align 4, !tbaa !9
  %647 = sext i32 %646 to i64
  %648 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %17, i64 noundef %647)
          to label %649 unwind label %655

649:                                              ; preds = %640
  %650 = getelementptr inbounds { ptr, i64 }, ptr %58, i32 0, i32 0
  %651 = extractvalue { ptr, i64 } %648, 0
  store ptr %651, ptr %650, align 8
  %652 = getelementptr inbounds { ptr, i64 }, ptr %58, i32 0, i32 1
  %653 = extractvalue { ptr, i64 } %648, 1
  store i64 %653, ptr %652, align 8
  %654 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %58, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #6
  br label %659

655:                                              ; preds = %640
  %656 = landingpad { ptr, i32 }
          cleanup
  %657 = extractvalue { ptr, i32 } %656, 0
  store ptr %657, ptr %20, align 8
  %658 = extractvalue { ptr, i32 } %656, 1
  store i32 %658, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #6
  br label %702

659:                                              ; preds = %649, %637
  %660 = load i8, ptr %34, align 1, !tbaa !78, !range !80, !noundef !81
  %661 = trunc i8 %660 to i1
  br i1 %661, label %662, label %681

662:                                              ; preds = %659
  %663 = load double, ptr %55, align 8, !tbaa !89
  %664 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 14
  %665 = load i32, ptr %46, align 4, !tbaa !9
  %666 = sext i32 %665 to i64
  %667 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %664, i64 noundef %666) #6
  store double %663, ptr %667, align 8, !tbaa !89
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #6
  %668 = load i32, ptr %46, align 4, !tbaa !9
  %669 = sext i32 %668 to i64
  %670 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %18, i64 noundef %669)
          to label %671 unwind label %677

671:                                              ; preds = %662
  %672 = getelementptr inbounds { ptr, i64 }, ptr %59, i32 0, i32 0
  %673 = extractvalue { ptr, i64 } %670, 0
  store ptr %673, ptr %672, align 8
  %674 = getelementptr inbounds { ptr, i64 }, ptr %59, i32 0, i32 1
  %675 = extractvalue { ptr, i64 } %670, 1
  store i64 %675, ptr %674, align 8
  %676 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %59, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #6
  br label %681

677:                                              ; preds = %662
  %678 = landingpad { ptr, i32 }
          cleanup
  %679 = extractvalue { ptr, i32 } %678, 0
  store ptr %679, ptr %20, align 8
  %680 = extractvalue { ptr, i32 } %678, 1
  store i32 %680, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #6
  br label %702

681:                                              ; preds = %671, %659
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #6
  %682 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %61, i32 0, i32 24
  %683 = load i32, ptr %46, align 4, !tbaa !9
  %684 = sext i32 %683 to i64
  %685 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %682, i64 noundef %684)
          to label %686 unwind label %698

686:                                              ; preds = %681
  %687 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 0
  %688 = extractvalue { ptr, i64 } %685, 0
  store ptr %688, ptr %687, align 8
  %689 = getelementptr inbounds { ptr, i64 }, ptr %60, i32 0, i32 1
  %690 = extractvalue { ptr, i64 } %685, 1
  store i64 %690, ptr %689, align 8
  %691 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %60, i1 noundef zeroext false) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #6
  store i32 0, ptr %28, align 4
  br label %692

692:                                              ; preds = %686, %564
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  br label %693

693:                                              ; preds = %692, %551, %533, %423, %388
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %694

694:                                              ; preds = %693, %248
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #6
  br label %695

695:                                              ; preds = %694, %174
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  %696 = load i32, ptr %28, align 4
  switch i32 %696, label %711 [
    i32 0, label %697
    i32 2, label %70
  ]

697:                                              ; preds = %695
  br label %70, !llvm.loop !82

698:                                              ; preds = %681
  %699 = landingpad { ptr, i32 }
          cleanup
  %700 = extractvalue { ptr, i32 } %699, 0
  store ptr %700, ptr %20, align 8
  %701 = extractvalue { ptr, i32 } %699, 1
  store i32 %701, ptr %21, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #6
  br label %702

702:                                              ; preds = %698, %677, %655, %609, %565
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  br label %703

703:                                              ; preds = %702, %552, %529, %512, %486, %458, %387, %321
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #6
  br label %704

704:                                              ; preds = %703, %302, %291, %287
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #6
  br label %705

705:                                              ; preds = %704, %283
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  br label %706

706:                                              ; preds = %705, %279
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %707

707:                                              ; preds = %706, %185
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  br label %708

708:                                              ; preds = %707, %181
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #6
  br label %709

709:                                              ; preds = %708, %106
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %31) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  br label %713

710:                                              ; preds = %73
  store i32 26, ptr %4, align 4
  store i32 1, ptr %28, align 4
  br label %711

711:                                              ; preds = %710, %695, %93
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %18) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  %712 = load i32, ptr %4, align 4
  ret i32 %712

713:                                              ; preds = %709, %86
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  br label %714

714:                                              ; preds = %713, %82, %78
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %18) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %18) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %17) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #6
  br label %715

715:                                              ; preds = %714
  %716 = load ptr, ptr %20, align 8
  %717 = load i32, ptr %21, align 4
  %718 = insertvalue { ptr, i32 } poison, ptr %716, 0
  %719 = insertvalue { ptr, i32 } %718, i32 %717, 1
  resume { ptr, i32 } %719
}

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

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

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

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

declare noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #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 #3 align 2

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

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

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

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

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

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

declare void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #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) #3 align 2

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 28}
!12 = !{!"_ZTSN18free_format_parser6HMpsFFE", !13, i64 0, !14, i64 8, !13, i64 16, !10, i64 24, !10, i64 28, !10, i64 32, !15, i64 40, !18, i64 72, !13, i64 80, !19, i64 88, !19, i64 112, !23, i64 136, !23, i64 160, !23, i64 184, !23, i64 208, !23, i64 232, !23, i64 256, !27, i64 280, !27, i64 304, !31, i64 328, !10, i64 352, !19, i64 360, !19, i64 384, !23, i64 408, !35, i64 432, !10, i64 472, !14, i64 476, !14, i64 477, !15, i64 480, !10, i64 512, !10, i64 516, !15, i64 520, !10, i64 552, !10, i64 556, !14, i64 560, !35, i64 568, !14, i64 608, !15, i64 616, !41, i64 648, !19, i64 672, !45, i64 696, !45, i64 720, !49, i64 744, !53, i64 768, !27, i64 792, !57, i64 816, !61, i64 840, !27, i64 864, !65, i64 888, !23, i64 912, !69, i64 936, !73, i64 960, !73, i64 1016, !15, i64 1072}
!13 = !{!"double", !7, i64 0}
!14 = !{!"bool", !7, i64 0}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !16, i64 0, !17, i64 8, !7, i64 16}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!17 = !{!"long", !7, i64 0}
!18 = !{!"_ZTS8ObjSense", !7, i64 0}
!19 = !{!"_ZTSSt6vectorIiSaIiEE", !20, i64 0}
!20 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !21, i64 0}
!21 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !22, i64 0}
!22 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!23 = !{!"_ZTSSt6vectorIdSaIdEE", !24, i64 0}
!24 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!27 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !32, i64 0}
!32 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !33, i64 0}
!33 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !34, i64 0}
!34 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!35 = !{!"_ZTSSt6vectorIbSaIbEE", !36, i64 0}
!36 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !37, i64 0}
!37 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !38, i64 0}
!38 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !39, i64 0, !39, i64 16, !6, i64 32}
!39 = !{!"_ZTSSt13_Bit_iterator", !40, i64 0}
!40 = !{!"_ZTSSt18_Bit_iterator_base", !6, i64 0, !10, i64 8}
!41 = !{!"_ZTSSt6vectorIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE", !42, i64 0}
!42 = !{!"_ZTSSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE12_Vector_implE", !44, i64 0}
!44 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!45 = !{!"_ZTSSt6vectorISt5tupleIJiidEESaIS1_EE", !46, i64 0}
!46 = !{!"_ZTSSt12_Vector_baseISt5tupleIJiidEESaIS1_EE", !47, i64 0}
!47 = !{!"_ZTSNSt12_Vector_baseISt5tupleIJiidEESaIS1_EE12_Vector_implE", !48, i64 0}
!48 = !{!"_ZTSNSt12_Vector_baseISt5tupleIJiidEESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!49 = !{!"_ZTSSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE", !50, i64 0}
!50 = !{!"_ZTSSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE", !51, i64 0}
!51 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE12_Vector_implE", !52, i64 0}
!52 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!53 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !54, i64 0}
!54 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !55, i64 0}
!55 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !56, i64 0}
!56 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!57 = !{!"_ZTSSt6vectorIsSaIsEE", !58, i64 0}
!58 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !59, i64 0}
!59 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !60, i64 0}
!60 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!61 = !{!"_ZTSSt6vectorIS_ISt4pairIidESaIS1_EESaIS3_EE", !62, i64 0}
!62 = !{!"_ZTSSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE", !63, i64 0}
!63 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE12_Vector_implE", !64, i64 0}
!64 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!65 = !{!"_ZTSSt6vectorIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE", !66, i64 0}
!66 = !{!"_ZTSSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE", !67, i64 0}
!67 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE12_Vector_implE", !68, i64 0}
!68 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!69 = !{!"_ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !70, i64 0}
!70 = !{!"_ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !71, i64 0}
!71 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !72, i64 0}
!72 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!73 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !74, i64 0}
!74 = !{!"_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, !17, i64 8, !75, i64 16, !17, i64 24, !76, i64 32, !6, i64 48}
!75 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!76 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !77, i64 0, !17, i64 8}
!77 = !{!"float", !7, i64 0}
!78 = !{!14, !14, i64 0}
!79 = !{!17, !17, i64 0}
!80 = !{i8 0, i8 2}
!81 = !{}
!82 = distinct !{!82, !83}
!83 = !{!"llvm.loop.mustprogress"}
!84 = !{!85, !85, i64 0}
!85 = !{!"_ZTSN18free_format_parser6HMpsFF8ParsekeyE", !7, i64 0}
!86 = !{!12, !14, i64 8}
!87 = !{!88, !88, i64 0}
!88 = !{!"_ZTS12HighsVarType", !7, i64 0}
!89 = !{!13, !13, i64 0}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::vector.18" = type { %"struct.std::_Bvector_base" }
%"struct.std::_Bvector_base" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl" = type { %"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" }
%"struct.std::_Bvector_base<std::allocator<bool>>::_Bvector_impl_data" = type { %"struct.std::_Bit_iterator", %"struct.std::_Bit_iterator", ptr }
%"struct.std::_Bit_iterator" = type { %"struct.std::_Bit_iterator_base.base", [4 x i8] }
%"struct.std::_Bit_iterator_base.base" = type <{ ptr, i32 }>
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::_Bit_reference" = type { ptr, i64 }

@.str.10 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZL17default_non_charsB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.64 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [22 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [98 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [15 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [51 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; 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(8) ptr @_ZNSt6vectorIdSaIdEEixEm(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_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104), ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #3 align 2

declare noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::vector.18", align 8
  %7 = alloca %"class.std::vector.18", align 8
  %8 = alloca i8, align 1
  %9 = alloca i8, align 1
  %10 = alloca i8, align 1
  %11 = alloca i64, align 8
  %12 = alloca i64, align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %18 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"struct.std::_Bit_reference", align 8
  %21 = alloca %"struct.std::_Bit_reference", align 8
  %22 = alloca %"struct.std::_Bit_reference", align 8
  %23 = alloca %"struct.std::_Bit_reference", align 8
  %24 = alloca %"struct.std::_Bit_reference", align 8
  %25 = alloca %"struct.std::_Bit_reference", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca i8, align 1
  %28 = alloca %"struct.std::_Bit_reference", align 8
  %29 = alloca %"struct.std::_Bit_reference", align 8
  %30 = alloca %"struct.std::_Bit_reference", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #6
  call void @_ZNSt6vectorIbSaIbEEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %6) #6
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #6
  call void @_ZNSt6vectorIbSaIbEEC2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  %31 = getelementptr inbounds i8, ptr %0, i64 28
  %32 = load i32, ptr %31, align 4, !tbaa !5
  %33 = sext i32 %32 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #6
  store i8 0, ptr %8, align 1, !tbaa !76
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %6, i64 noundef %33, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %34 unwind label %58

34:                                               ; preds = %3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #6
  %35 = load i32, ptr %31, align 4, !tbaa !5
  %36 = sext i32 %35 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #6
  store i8 0, ptr %9, align 1, !tbaa !76
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %7, i64 noundef %36, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %37 unwind label %60

37:                                               ; preds = %34
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #6
  %38 = getelementptr inbounds i8, ptr %0, i64 1016
  %39 = getelementptr inbounds i8, ptr %20, i64 8
  %40 = getelementptr inbounds i8, ptr %21, i64 8
  %41 = getelementptr inbounds i8, ptr %0, i64 328
  %42 = getelementptr inbounds i8, ptr %0, i64 184
  %43 = getelementptr inbounds i8, ptr %28, i64 8
  %44 = getelementptr inbounds i8, ptr %0, i64 208
  %45 = getelementptr inbounds i8, ptr %29, i64 8
  %46 = getelementptr inbounds i8, ptr %0, i64 432
  %47 = getelementptr inbounds i8, ptr %30, i64 8
  %48 = getelementptr inbounds i8, ptr %23, i64 8
  %49 = getelementptr inbounds i8, ptr %22, i64 8
  %50 = getelementptr inbounds i8, ptr %24, i64 8
  %51 = getelementptr inbounds i8, ptr %25, i64 8
  br label %.outer

.outer:                                           ; preds = %.outer.backedge, %37
  %.0192.ph = phi i32 [ 0, %37 ], [ %.1193, %.outer.backedge ]
  %.0188.ph = phi i32 [ 0, %37 ], [ %.1189, %.outer.backedge ]
  %.0184.ph = phi i32 [ 0, %37 ], [ %.1185, %.outer.backedge ]
  %.0162.ph = phi i64 [ 0, %37 ], [ %.1163, %.outer.backedge ]
  %.0157.ph = phi i64 [ 1, %37 ], [ %.2159, %.outer.backedge ]
  %.0150.ph = phi i64 [ 0, %37 ], [ %.4154, %.outer.backedge ]
  %.0144.ph = phi i64 [ 1, %37 ], [ %.4148, %.outer.backedge ]
  %.0136.ph = phi i32 [ 0, %37 ], [ %.1137, %.outer.backedge ]
  %.0127.ph = phi i32 [ 0, %37 ], [ %.1128, %.outer.backedge ]
  %.0121.ph = phi i32 [ 0, %37 ], [ %.1122, %.outer.backedge ]
  %.0117.ph = phi i32 [ 0, %37 ], [ %.1118, %.outer.backedge ]
  br label %52

52:                                               ; preds = %.outer, %55
  %53 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %54 unwind label %.loopexit250

54:                                               ; preds = %52
  br i1 %53, label %55, label %.loopexit

55:                                               ; preds = %54
  %56 = load i8, ptr %10, align 1, !tbaa !76, !range !77, !noundef !78
  %57 = trunc nuw i8 %56 to i1
  br i1 %57, label %52, label %62, !llvm.loop !79

58:                                               ; preds = %3
  %59 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #6
  br label %350

60:                                               ; preds = %34
  %61 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #6
  br label %350

.loopexit250:                                     ; preds = %52
  %lpad.loopexit252 = landingpad { ptr, i32 }
          cleanup
  br label %349

.loopexit.split-lp251:                            ; preds = %62
  %lpad.loopexit.split-lp253 = landingpad { ptr, i32 }
          cleanup
  br label %349

62:                                               ; preds = %55
  %63 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %0)
          to label %64 unwind label %.loopexit.split-lp251

64:                                               ; preds = %62
  br i1 %63, label %.loopexit, label %65

65:                                               ; preds = %64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #6
  store i64 0, ptr %11, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  store i64 0, ptr %12, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %13) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  %66 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %67 unwind label %.loopexit249

67:                                               ; preds = %65
  %.not = icmp eq i32 %66, 24
  br i1 %.not, label %92, label %68

68:                                               ; preds = %67
  %.not209 = icmp eq i32 %.0117.ph, 0
  br i1 %.not209, label %70, label %69

69:                                               ; preds = %68
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.141, i32 noundef %.0117.ph)
          to label %70 unwind label %.loopexit.split-lp

.loopexit249:                                     ; preds = %65
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %348

.loopexit.split-lp:                               ; preds = %69, %71, %73, %75, %77, %79, %81, %88, %91
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %348

70:                                               ; preds = %69, %68
  %.not210 = icmp eq i32 %.0121.ph, 0
  br i1 %.not210, label %72, label %71

71:                                               ; preds = %70
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.142, i32 noundef %.0121.ph)
          to label %72 unwind label %.loopexit.split-lp

72:                                               ; preds = %71, %70
  %.not211 = icmp eq i32 %.0127.ph, 0
  br i1 %.not211, label %74, label %73

73:                                               ; preds = %72
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.143, i32 noundef %.0127.ph)
          to label %74 unwind label %.loopexit.split-lp

74:                                               ; preds = %73, %72
  %.not212 = icmp eq i32 %.0136.ph, 0
  br i1 %.not212, label %76, label %75

75:                                               ; preds = %74
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.144, i32 noundef %.0136.ph)
          to label %76 unwind label %.loopexit.split-lp

76:                                               ; preds = %75, %74
  %.not213 = icmp eq i32 %.0192.ph, 0
  br i1 %.not213, label %78, label %77

77:                                               ; preds = %76
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.145, i32 noundef %.0192.ph)
          to label %78 unwind label %.loopexit.split-lp

78:                                               ; preds = %77, %76
  %.not214 = icmp eq i32 %.0188.ph, 0
  br i1 %.not214, label %80, label %79

79:                                               ; preds = %78
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.146, i32 noundef %.0188.ph)
          to label %80 unwind label %.loopexit.split-lp

80:                                               ; preds = %79, %78
  %.not215 = icmp eq i32 %.0184.ph, 0
  br i1 %.not215, label %82, label %81

81:                                               ; preds = %80
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.147, i32 noundef %.0184.ph)
          to label %82 unwind label %.loopexit.split-lp

82:                                               ; preds = %81, %80
  %83 = icmp ne i64 %.0162.ph, 0
  %84 = icmp ne i64 %.0150.ph, 0
  %85 = select i1 %83, i1 true, i1 %84
  %86 = getelementptr inbounds i8, ptr %0, i64 8
  %87 = zext i1 %85 to i8
  store i8 %87, ptr %86, align 8, !tbaa !82
  br i1 %85, label %88, label %91

88:                                               ; preds = %82
  %89 = trunc i64 %.0162.ph to i32
  %90 = trunc i64 %.0150.ph to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.148, i32 noundef %89, i32 noundef %90)
          to label %91 unwind label %.loopexit.split-lp

91:                                               ; preds = %88, %82
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.149)
          to label %.thread unwind label %.loopexit.split-lp

.thread:                                          ; preds = %91
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  br label %.loopexit

92:                                               ; preds = %67
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %14) #6
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %93 unwind label %95

93:                                               ; preds = %92
  %94 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.150)
  br i1 %94, label %137, label %99

95:                                               ; preds = %92
  %96 = landingpad { ptr, i32 }
          cleanup
  br label %347

97:                                               ; preds = %135, %133
  %98 = landingpad { ptr, i32 }
          cleanup
  br label %346

99:                                               ; preds = %93
  %100 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.151)
  br i1 %100, label %137, label %101

101:                                              ; preds = %99
  %102 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.152)
  br i1 %102, label %137, label %103

103:                                              ; preds = %101
  %104 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.153)
  br i1 %104, label %105, label %107

105:                                              ; preds = %103
  %106 = add nsw i32 %.0117.ph, 1
  br label %137

107:                                              ; preds = %103
  %108 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.154)
  br i1 %108, label %109, label %111

109:                                              ; preds = %107
  %110 = add nsw i32 %.0121.ph, 1
  br label %137

111:                                              ; preds = %107
  %112 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.155)
  br i1 %112, label %113, label %115

113:                                              ; preds = %111
  %114 = add nsw i32 %.0127.ph, 1
  br label %137

115:                                              ; preds = %111
  %116 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.156)
  br i1 %116, label %117, label %119

117:                                              ; preds = %115
  %118 = add nsw i32 %.0136.ph, 1
  br label %137

119:                                              ; preds = %115
  %120 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.157)
  br i1 %120, label %121, label %123

121:                                              ; preds = %119
  %122 = add nsw i32 %.0192.ph, 1
  br label %137

123:                                              ; preds = %119
  %124 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.158)
  br i1 %124, label %137, label %125

125:                                              ; preds = %123
  %126 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.159)
  br i1 %126, label %127, label %129

127:                                              ; preds = %125
  %128 = add nsw i32 %.0188.ph, 1
  br label %137

129:                                              ; preds = %125
  %130 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.160)
  br i1 %130, label %131, label %133

131:                                              ; preds = %129
  %132 = add nsw i32 %.0184.ph, 1
  br label %137

133:                                              ; preds = %129
  %134 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %135 unwind label %97

135:                                              ; preds = %133
  %136 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.161, ptr noundef %136)
          to label %.thread235 unwind label %97

.thread235:                                       ; preds = %135
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  br label %.loopexit

137:                                              ; preds = %123, %101, %99, %93, %105, %113, %121, %127, %131, %117, %109
  %.1193 = phi i32 [ %.0192.ph, %105 ], [ %.0192.ph, %109 ], [ %.0192.ph, %113 ], [ %.0192.ph, %117 ], [ %122, %121 ], [ %.0192.ph, %127 ], [ %.0192.ph, %131 ], [ %.0192.ph, %93 ], [ %.0192.ph, %99 ], [ %.0192.ph, %101 ], [ %.0192.ph, %123 ]
  %.1189 = phi i32 [ %.0188.ph, %105 ], [ %.0188.ph, %109 ], [ %.0188.ph, %113 ], [ %.0188.ph, %117 ], [ %.0188.ph, %121 ], [ %128, %127 ], [ %.0188.ph, %131 ], [ %.0188.ph, %93 ], [ %.0188.ph, %99 ], [ %.0188.ph, %101 ], [ %.0188.ph, %123 ]
  %.1185 = phi i32 [ %.0184.ph, %105 ], [ %.0184.ph, %109 ], [ %.0184.ph, %113 ], [ %.0184.ph, %117 ], [ %.0184.ph, %121 ], [ %.0184.ph, %127 ], [ %132, %131 ], [ %.0184.ph, %93 ], [ %.0184.ph, %99 ], [ %.0184.ph, %101 ], [ %.0184.ph, %123 ]
  %.1137 = phi i32 [ %.0136.ph, %105 ], [ %.0136.ph, %109 ], [ %.0136.ph, %113 ], [ %118, %117 ], [ %.0136.ph, %121 ], [ %.0136.ph, %127 ], [ %.0136.ph, %131 ], [ %.0136.ph, %93 ], [ %.0136.ph, %99 ], [ %.0136.ph, %101 ], [ %.0136.ph, %123 ]
  %.0135 = phi i1 [ true, %105 ], [ false, %109 ], [ true, %113 ], [ true, %117 ], [ false, %121 ], [ false, %127 ], [ false, %131 ], [ false, %93 ], [ true, %99 ], [ true, %101 ], [ true, %123 ]
  %.0134 = phi i1 [ false, %105 ], [ true, %109 ], [ true, %113 ], [ false, %117 ], [ true, %121 ], [ true, %127 ], [ true, %131 ], [ true, %93 ], [ false, %99 ], [ true, %101 ], [ true, %123 ]
  %.0133 = phi i1 [ false, %105 ], [ false, %109 ], [ true, %113 ], [ true, %117 ], [ true, %121 ], [ true, %127 ], [ false, %131 ], [ false, %93 ], [ false, %99 ], [ false, %101 ], [ false, %123 ]
  %.0132 = phi i1 [ false, %105 ], [ false, %109 ], [ false, %113 ], [ false, %117 ], [ false, %121 ], [ true, %127 ], [ true, %131 ], [ false, %93 ], [ false, %99 ], [ false, %101 ], [ false, %123 ]
  %.0131 = phi i1 [ true, %105 ], [ true, %109 ], [ true, %113 ], [ false, %117 ], [ false, %121 ], [ false, %127 ], [ false, %131 ], [ false, %93 ], [ false, %99 ], [ false, %101 ], [ true, %123 ]
  %.1128 = phi i32 [ %.0127.ph, %105 ], [ %.0127.ph, %109 ], [ %114, %113 ], [ %.0127.ph, %117 ], [ %.0127.ph, %121 ], [ %.0127.ph, %127 ], [ %.0127.ph, %131 ], [ %.0127.ph, %93 ], [ %.0127.ph, %99 ], [ %.0127.ph, %101 ], [ %.0127.ph, %123 ]
  %.1122 = phi i32 [ %.0121.ph, %105 ], [ %110, %109 ], [ %.0121.ph, %113 ], [ %.0121.ph, %117 ], [ %.0121.ph, %121 ], [ %.0121.ph, %127 ], [ %.0121.ph, %131 ], [ %.0121.ph, %93 ], [ %.0121.ph, %99 ], [ %.0121.ph, %101 ], [ %.0121.ph, %123 ]
  %.1118 = phi i32 [ %106, %105 ], [ %.0117.ph, %109 ], [ %.0117.ph, %113 ], [ %.0117.ph, %117 ], [ %.0117.ph, %121 ], [ %.0117.ph, %127 ], [ %.0117.ph, %131 ], [ %.0117.ph, %93 ], [ %.0117.ph, %99 ], [ %.0117.ph, %101 ], [ %.0117.ph, %123 ]
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %15) #6
  %138 = load i64, ptr %12, align 8, !tbaa !81
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %15, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %138)
          to label %139 unwind label %149

139:                                              ; preds = %137
  %140 = load i64, ptr %12, align 8, !tbaa !81
  %141 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %140)
          to label %142 unwind label %151

142:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #6
  %143 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %38, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %144 unwind label %153

144:                                              ; preds = %142
  store ptr %143, ptr %17, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #6
  %145 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %38) #6
  store ptr %145, ptr %18, align 8
  %146 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(8) %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  br i1 %146, label %147, label %157

147:                                              ; preds = %144
  %148 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %163 unwind label %155

149:                                              ; preds = %137
  %150 = landingpad { ptr, i32 }
          cleanup
  br label %345

151:                                              ; preds = %139
  %152 = landingpad { ptr, i32 }
          cleanup
  br label %344

153:                                              ; preds = %142
  %154 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  br label %343

155:                                              ; preds = %158, %147
  %156 = landingpad { ptr, i32 }
          cleanup
  br label %343

157:                                              ; preds = %144
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %19) #6
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %19, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %141)
          to label %158 unwind label %161

158:                                              ; preds = %157
  %159 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  %160 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %141)
          to label %163 unwind label %155

161:                                              ; preds = %157
  %162 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %19) #6
  br label %343

163:                                              ; preds = %158, %147
  %.0126 = phi i64 [ %141, %147 ], [ %160, %158 ]
  %164 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %16, i1 noundef zeroext false)
          to label %165 unwind label %.loopexit829

165:                                              ; preds = %163
  %166 = icmp slt i32 %164, 0
  br i1 %166, label %167, label %176

167:                                              ; preds = %165
  %168 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %16, i1 noundef zeroext true)
          to label %169 unwind label %.loopexit829

169:                                              ; preds = %167
  %170 = load i32, ptr %31, align 4, !tbaa !5
  %171 = add nsw i32 %170, -1
  %172 = icmp eq i32 %168, %171
  br i1 %172, label %174, label %173

173:                                              ; preds = %169
  call void @__assert_fail(ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.64, i32 noundef 1425, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

.loopexit829:                                     ; preds = %163, %167, %174, %175, %196, %262, %265, %270, %272
  %lpad.loopexit831 = landingpad { ptr, i32 }
          cleanup
  br label %343

.loopexit.split-lp830:                            ; preds = %208, %210
  %lpad.loopexit.split-lp832 = landingpad { ptr, i32 }
          cleanup
  br label %343

174:                                              ; preds = %169
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %6, i1 noundef zeroext false)
          to label %175 unwind label %.loopexit829

175:                                              ; preds = %174
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %7, i1 noundef zeroext false)
          to label %176 unwind label %.loopexit829

176:                                              ; preds = %175, %165
  %.0125 = phi i32 [ %168, %175 ], [ %164, %165 ]
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #6
  br i1 %.0135, label %177, label %184

177:                                              ; preds = %176
  %178 = sext i32 %.0125 to i64
  %179 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %6, i64 noundef %178)
          to label %180 unwind label %200

180:                                              ; preds = %177
  %181 = extractvalue { ptr, i64 } %179, 0
  store ptr %181, ptr %20, align 8
  %182 = extractvalue { ptr, i64 } %179, 1
  store i64 %182, ptr %39, align 8
  %183 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %20) #6
  br i1 %183, label %.critedge, label %184

184:                                              ; preds = %180, %176
  br i1 %.0134, label %185, label %.critedge2

185:                                              ; preds = %184
  %186 = sext i32 %.0125 to i64
  %187 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %7, i64 noundef %186)
          to label %188 unwind label %202

188:                                              ; preds = %185
  %189 = extractvalue { ptr, i64 } %187, 0
  store ptr %189, ptr %21, align 8
  %190 = extractvalue { ptr, i64 } %187, 1
  store i64 %190, ptr %40, align 8
  %191 = call noundef zeroext i1 @_ZNKSt14_Bit_referencecvbEv(ptr noundef nonnull align 8 dereferenceable(16) %21) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  br i1 %191, label %192, label %205

.critedge:                                        ; preds = %180
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  br label %192

192:                                              ; preds = %.critedge, %188
  %193 = add i64 %.0162.ph, 1
  %194 = urem i64 %193, %.0157.ph
  %195 = icmp eq i64 %194, 0
  br i1 %195, label %196, label %339, !llvm.loop !79

196:                                              ; preds = %192
  %197 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  %.str.164..str.165 = select i1 %.0135, ptr @.str.164, ptr @.str.165
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.163, ptr noundef %197, ptr noundef nonnull %.str.164..str.165)
          to label %198 unwind label %.loopexit829

198:                                              ; preds = %196
  %199 = shl i64 %.0157.ph, 1
  br label %339, !llvm.loop !79

200:                                              ; preds = %177
  %201 = landingpad { ptr, i32 }
          cleanup
  br label %204

202:                                              ; preds = %185
  %203 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #6
  br label %204

204:                                              ; preds = %202, %200
  %.pn = phi { ptr, i32 } [ %203, %202 ], [ %201, %200 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  br label %343

.critedge2:                                       ; preds = %184
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #6
  br label %205

205:                                              ; preds = %.critedge2, %188
  br i1 %.0131, label %206, label %262

206:                                              ; preds = %205
  br i1 %.0133, label %207, label %229

207:                                              ; preds = %206
  %brmerge.demorgan = and i1 %.0135, %.0134
  br i1 %brmerge.demorgan, label %215, label %208

208:                                              ; preds = %207
  %209 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %210 unwind label %.loopexit.split-lp830

210:                                              ; preds = %208
  %211 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  %212 = zext i1 %.0135 to i32
  %213 = zext i1 %.0134 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.166, ptr noundef %211, i32 noundef %212, i32 noundef %213)
          to label %214 unwind label %.loopexit.split-lp830

214:                                              ; preds = %210
  call void @__assert_fail(ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.64, i32 noundef 1458, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

215:                                              ; preds = %207
  %216 = sext i32 %.0125 to i64
  %217 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %216) #6
  store i8 1, ptr %217, align 1, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %22) #6
  %218 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %46, i64 noundef %216)
          to label %219 unwind label %227

219:                                              ; preds = %215
  %220 = extractvalue { ptr, i64 } %218, 0
  store ptr %220, ptr %22, align 8
  %221 = extractvalue { ptr, i64 } %218, 1
  store i64 %221, ptr %49, align 8
  %222 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %22, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #6
  %223 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %216) #6
  %224 = load double, ptr %223, align 8, !tbaa !85
  %225 = fcmp oeq double %224, 0.000000e+00
  br i1 %225, label %.sink.split, label %226

226:                                              ; preds = %219
  call void @__assert_fail(ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.64, i32 noundef 1465, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

227:                                              ; preds = %215
  %228 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %22) #6
  br label %343

229:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %23) #6
  %230 = sext i32 %.0125 to i64
  %231 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %46, i64 noundef %230)
          to label %232 unwind label %238

232:                                              ; preds = %229
  %233 = extractvalue { ptr, i64 } %231, 0
  store ptr %233, ptr %23, align 8
  %234 = extractvalue { ptr, i64 } %231, 1
  store i64 %234, ptr %48, align 8
  %235 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %23, i1 noundef zeroext false) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #6
  br i1 %.0135, label %236, label %240

236:                                              ; preds = %232
  %237 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %230) #6
  store double 0xFFF0000000000000, ptr %237, align 8, !tbaa !85
  br label %240

238:                                              ; preds = %229
  %239 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %23) #6
  br label %343

240:                                              ; preds = %236, %232
  br i1 %.0134, label %.sink.split, label %242

.sink.split:                                      ; preds = %240, %219
  %.sink1161 = phi i64 [ %216, %219 ], [ %230, %240 ]
  %.sink = phi double [ 1.000000e+00, %219 ], [ 0x7FF0000000000000, %240 ]
  %241 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef %.sink1161) #6
  store double %.sink, ptr %241, align 8, !tbaa !85
  br label %242

242:                                              ; preds = %.sink.split, %240
  br i1 %.0135, label %243, label %252

243:                                              ; preds = %242
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #6
  %244 = sext i32 %.0125 to i64
  %245 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %6, i64 noundef %244)
          to label %246 unwind label %250

246:                                              ; preds = %243
  %247 = extractvalue { ptr, i64 } %245, 0
  store ptr %247, ptr %24, align 8
  %248 = extractvalue { ptr, i64 } %245, 1
  store i64 %248, ptr %50, align 8
  %249 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %24, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #6
  br label %252

250:                                              ; preds = %243
  %251 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #6
  br label %343

252:                                              ; preds = %246, %242
  br i1 %.0134, label %253, label %339, !llvm.loop !79

253:                                              ; preds = %252
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #6
  %254 = sext i32 %.0125 to i64
  %255 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %7, i64 noundef %254)
          to label %256 unwind label %260

256:                                              ; preds = %253
  %257 = extractvalue { ptr, i64 } %255, 0
  store ptr %257, ptr %25, align 8
  %258 = extractvalue { ptr, i64 } %255, 1
  store i64 %258, ptr %51, align 8
  %259 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %25, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #6
  br label %339, !llvm.loop !79

260:                                              ; preds = %253
  %261 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #6
  br label %343

262:                                              ; preds = %205
  %263 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.10)
          to label %264 unwind label %.loopexit829

264:                                              ; preds = %262
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #6
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0126)
          to label %265 unwind label %275

265:                                              ; preds = %264
  %266 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  %267 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %.0126)
          to label %268 unwind label %.loopexit829

268:                                              ; preds = %265
  store i64 %267, ptr %12, align 8, !tbaa !81
  %269 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.10)
  br i1 %269, label %270, label %277

270:                                              ; preds = %268
  %271 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %272 unwind label %.loopexit829

272:                                              ; preds = %270
  %273 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  %274 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.169, ptr noundef %273, ptr noundef %274)
          to label %339 unwind label %.loopexit829

275:                                              ; preds = %264
  %276 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #6
  br label %343

277:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #6
  store i8 0, ptr %27, align 1, !tbaa !76
  %278 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 1 dereferenceable(1) %27, i32 noundef -1)
          to label %279 unwind label %284

279:                                              ; preds = %277
  %280 = load i8, ptr %27, align 1, !tbaa !76, !range !77, !noundef !78
  %281 = trunc nuw i8 %280 to i1
  br i1 %281, label %282, label %286

282:                                              ; preds = %279
  %283 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.170, ptr noundef %283)
          to label %338 unwind label %284

284:                                              ; preds = %282, %277
  %285 = landingpad { ptr, i32 }
          cleanup
  br label %342

286:                                              ; preds = %279
  br i1 %.0133, label %287, label %307

287:                                              ; preds = %286
  %brmerge220 = or i1 %.0135, %.0134
  %brmerge221 = or i1 %brmerge220, %.0132
  br i1 %brmerge221, label %.critedge4, label %288

288:                                              ; preds = %287
  call void @__assert_fail(ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.64, i32 noundef 1498, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF11parseBoundsERK15HighsLogOptionsRSi) #7
  unreachable

.critedge4:                                       ; preds = %287
  %289 = fptosi double %278 to i32
  %290 = sitofp i32 %289 to double
  %291 = fcmp une double %278, %290
  br i1 %291, label %292, label %302

292:                                              ; preds = %.critedge4
  %293 = add i64 %.0150.ph, 1
  %294 = urem i64 %293, %.0144.ph
  %295 = icmp eq i64 %294, 0
  br i1 %295, label %296, label %302

296:                                              ; preds = %292
  %297 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.172, ptr noundef %297, double noundef %278)
          to label %298 unwind label %300

298:                                              ; preds = %296
  %299 = shl i64 %.0144.ph, 1
  br label %302

300:                                              ; preds = %296
  %301 = landingpad { ptr, i32 }
          cleanup
  br label %342

302:                                              ; preds = %292, %298, %.critedge4
  %.1151 = phi i64 [ %293, %298 ], [ %293, %292 ], [ %.0150.ph, %.critedge4 ]
  %.1145 = phi i64 [ %299, %298 ], [ %.0144.ph, %292 ], [ %.0144.ph, %.critedge4 ]
  %303 = sext i32 %.0125 to i64
  %304 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %303) #6
  br i1 %.0132, label %305, label %306

305:                                              ; preds = %302
  store i8 3, ptr %304, align 1, !tbaa !83
  br label %311

306:                                              ; preds = %302
  store i8 1, ptr %304, align 1, !tbaa !83
  br label %311

307:                                              ; preds = %286
  br i1 %.0132, label %308, label %311

308:                                              ; preds = %307
  %309 = sext i32 %.0125 to i64
  %310 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %41, i64 noundef %309) #6
  store i8 2, ptr %310, align 1, !tbaa !83
  br label %311

311:                                              ; preds = %305, %306, %307, %308
  %.2152 = phi i64 [ %.0150.ph, %308 ], [ %.0150.ph, %307 ], [ %.1151, %306 ], [ %.1151, %305 ]
  %.2146 = phi i64 [ %.0144.ph, %308 ], [ %.0144.ph, %307 ], [ %.1145, %306 ], [ %.1145, %305 ]
  br i1 %.0135, label %312, label %322

312:                                              ; preds = %311
  %313 = sext i32 %.0125 to i64
  %314 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %42, i64 noundef %313) #6
  store double %278, ptr %314, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %28) #6
  %315 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %6, i64 noundef %313)
          to label %316 unwind label %320

316:                                              ; preds = %312
  %317 = extractvalue { ptr, i64 } %315, 0
  store ptr %317, ptr %28, align 8
  %318 = extractvalue { ptr, i64 } %315, 1
  store i64 %318, ptr %43, align 8
  %319 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %28, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #6
  br label %322

320:                                              ; preds = %312
  %321 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %28) #6
  br label %342

322:                                              ; preds = %316, %311
  %323 = sext i32 %.0125 to i64
  br i1 %.0134, label %324, label %._crit_edge827

324:                                              ; preds = %322
  %325 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %44, i64 noundef %323) #6
  store double %278, ptr %325, align 8, !tbaa !85
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #6
  %326 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %7, i64 noundef %323)
          to label %327 unwind label %331

327:                                              ; preds = %324
  %328 = extractvalue { ptr, i64 } %326, 0
  store ptr %328, ptr %29, align 8
  %329 = extractvalue { ptr, i64 } %326, 1
  store i64 %329, ptr %45, align 8
  %330 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %29, i1 noundef zeroext true) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #6
  br label %._crit_edge827

331:                                              ; preds = %324
  %332 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #6
  br label %342

._crit_edge827:                                   ; preds = %322, %327
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #6
  %333 = invoke { ptr, i64 } @_ZNSt6vectorIbSaIbEEixEm(ptr noundef nonnull align 8 dereferenceable(40) %46, i64 noundef %323)
          to label %334 unwind label %340

334:                                              ; preds = %._crit_edge827
  %335 = extractvalue { ptr, i64 } %333, 0
  store ptr %335, ptr %30, align 8
  %336 = extractvalue { ptr, i64 } %333, 1
  store i64 %336, ptr %47, align 8
  %337 = call noundef nonnull align 8 dereferenceable(16) ptr @_ZNSt14_Bit_referenceaSEb(ptr noundef nonnull align 8 dereferenceable(16) %30, i1 noundef zeroext false) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #6
  br label %338

338:                                              ; preds = %282, %334
  %.3153 = phi i64 [ %.2152, %334 ], [ %.0150.ph, %282 ]
  %.3147 = phi i64 [ %.2146, %334 ], [ %.0144.ph, %282 ]
  %.0140 = phi i32 [ 0, %334 ], [ 1, %282 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #6
  br label %339

339:                                              ; preds = %338, %198, %192, %256, %252, %272
  %.1163 = phi i64 [ %.0162.ph, %338 ], [ %193, %198 ], [ %193, %192 ], [ %.0162.ph, %256 ], [ %.0162.ph, %252 ], [ %.0162.ph, %272 ]
  %.2159 = phi i64 [ %.0157.ph, %338 ], [ %199, %198 ], [ %.0157.ph, %192 ], [ %.0157.ph, %256 ], [ %.0157.ph, %252 ], [ %.0157.ph, %272 ]
  %.4154 = phi i64 [ %.3153, %338 ], [ %.0150.ph, %198 ], [ %.0150.ph, %192 ], [ %.0150.ph, %256 ], [ %.0150.ph, %252 ], [ %.0150.ph, %272 ]
  %.4148 = phi i64 [ %.3147, %338 ], [ %.0144.ph, %198 ], [ %.0144.ph, %192 ], [ %.0144.ph, %256 ], [ %.0144.ph, %252 ], [ %.0144.ph, %272 ]
  %.1141 = phi i32 [ %.0140, %338 ], [ 2, %198 ], [ 2, %192 ], [ 2, %256 ], [ 2, %252 ], [ 1, %272 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  switch i32 %.1141, label %.loopexit [
    i32 0, label %.outer.backedge
    i32 2, label %.outer.backedge
  ]

.outer.backedge:                                  ; preds = %339, %339
  br label %.outer, !llvm.loop !79

340:                                              ; preds = %._crit_edge827
  %341 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #6
  br label %342

342:                                              ; preds = %340, %331, %320, %300, %284
  %.pn200 = phi { ptr, i32 } [ %285, %284 ], [ %341, %340 ], [ %332, %331 ], [ %321, %320 ], [ %301, %300 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #6
  br label %343

343:                                              ; preds = %.loopexit829, %.loopexit.split-lp830, %204, %227, %238, %250, %260, %275, %342, %161, %155, %153
  %.pn202.pn = phi { ptr, i32 } [ %156, %155 ], [ %162, %161 ], [ %154, %153 ], [ %261, %260 ], [ %251, %250 ], [ %228, %227 ], [ %239, %238 ], [ %.pn200, %342 ], [ %276, %275 ], [ %.pn, %204 ], [ %lpad.loopexit831, %.loopexit829 ], [ %lpad.loopexit.split-lp832, %.loopexit.split-lp830 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #6
  br label %344

344:                                              ; preds = %343, %151
  %.pn202.pn.pn = phi { ptr, i32 } [ %.pn202.pn, %343 ], [ %152, %151 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  br label %345

345:                                              ; preds = %344, %149
  %.pn202.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn, %344 ], [ %150, %149 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %15) #6
  br label %346

346:                                              ; preds = %345, %97
  %.pn202.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn.pn, %345 ], [ %98, %97 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  br label %347

347:                                              ; preds = %346, %95
  %.pn202.pn.pn.pn.pn.pn = phi { ptr, i32 } [ %.pn202.pn.pn.pn.pn, %346 ], [ %96, %95 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %14) #6
  br label %348

348:                                              ; preds = %.loopexit249, %.loopexit.split-lp, %347
  %.pn216 = phi { ptr, i32 } [ %.pn202.pn.pn.pn.pn.pn, %347 ], [ %lpad.loopexit, %.loopexit249 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  br label %349

.loopexit:                                        ; preds = %64, %339, %54, %.thread235, %.thread
  %.5 = phi i32 [ %66, %.thread ], [ 26, %.thread235 ], [ 26, %54 ], [ 26, %339 ], [ 29, %64 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %6) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  ret i32 %.5

349:                                              ; preds = %.loopexit250, %.loopexit.split-lp251, %348
  %.pn216.pn = phi { ptr, i32 } [ %.pn216, %348 ], [ %lpad.loopexit252, %.loopexit250 ], [ %lpad.loopexit.split-lp253, %.loopexit.split-lp251 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #6
  br label %350

350:                                              ; preds = %349, %60, %58
  %.pn216.pn.pn = phi { ptr, i32 } [ %.pn216.pn, %349 ], [ %61, %60 ], [ %59, %58 ]
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %7) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #6
  call void @_ZNSt13_Bvector_baseISaIbEED2Ev(ptr noundef nonnull align 8 dereferenceable(40) %6) #6
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  resume { ptr, i32 } %.pn216.pn.pn
}

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

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

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

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

declare noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #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 #3 align 2

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40), i1 noundef zeroext) local_unnamed_addr #3 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

declare void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #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 #3 align 2

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !11, i64 28}
!6 = !{!"_ZTSN18free_format_parser6HMpsFFE", !7, i64 0, !10, i64 8, !7, i64 16, !11, i64 24, !11, i64 28, !11, i64 32, !12, i64 40, !16, i64 72, !7, i64 80, !17, i64 88, !17, i64 112, !21, i64 136, !21, i64 160, !21, i64 184, !21, i64 208, !21, i64 232, !21, i64 256, !25, i64 280, !25, i64 304, !29, i64 328, !11, i64 352, !17, i64 360, !17, i64 384, !21, i64 408, !33, i64 432, !11, i64 472, !10, i64 476, !10, i64 477, !12, i64 480, !11, i64 512, !11, i64 516, !12, i64 520, !11, i64 552, !11, i64 556, !10, i64 560, !33, i64 568, !10, i64 608, !12, i64 616, !39, i64 648, !17, i64 672, !43, i64 696, !43, i64 720, !47, i64 744, !51, i64 768, !25, i64 792, !55, i64 816, !59, i64 840, !25, i64 864, !63, i64 888, !21, i64 912, !67, i64 936, !71, i64 960, !71, i64 1016, !12, i64 1072}
!7 = !{!"double", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"bool", !8, i64 0}
!11 = !{!"int", !8, i64 0}
!12 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !13, i64 0, !15, i64 8, !8, i64 16}
!13 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !14, i64 0}
!14 = !{!"any pointer", !8, i64 0}
!15 = !{!"long", !8, i64 0}
!16 = !{!"_ZTS8ObjSense", !8, i64 0}
!17 = !{!"_ZTSSt6vectorIiSaIiEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!21 = !{!"_ZTSSt6vectorIdSaIdEE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!25 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !26, i64 0}
!26 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !28, i64 0}
!28 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!29 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !30, i64 0}
!30 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !31, i64 0}
!31 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !32, i64 0}
!32 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!33 = !{!"_ZTSSt6vectorIbSaIbEE", !34, i64 0}
!34 = !{!"_ZTSSt13_Bvector_baseISaIbEE", !35, i64 0}
!35 = !{!"_ZTSNSt13_Bvector_baseISaIbEE13_Bvector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt13_Bvector_baseISaIbEE18_Bvector_impl_dataE", !37, i64 0, !37, i64 16, !14, i64 32}
!37 = !{!"_ZTSSt13_Bit_iterator", !38, i64 0}
!38 = !{!"_ZTSSt18_Bit_iterator_base", !14, i64 0, !11, i64 8}
!39 = !{!"_ZTSSt6vectorIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE", !40, i64 0}
!40 = !{!"_ZTSSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE", !41, i64 0}
!41 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE12_Vector_implE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF9BoundtypeESaIS2_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!43 = !{!"_ZTSSt6vectorISt5tupleIJiidEESaIS1_EE", !44, i64 0}
!44 = !{!"_ZTSSt12_Vector_baseISt5tupleIJiidEESaIS1_EE", !45, i64 0}
!45 = !{!"_ZTSNSt12_Vector_baseISt5tupleIJiidEESaIS1_EE12_Vector_implE", !46, i64 0}
!46 = !{!"_ZTSNSt12_Vector_baseISt5tupleIJiidEESaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!47 = !{!"_ZTSSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE", !48, i64 0}
!48 = !{!"_ZTSSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE", !49, i64 0}
!49 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE12_Vector_implE", !50, i64 0}
!50 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt5tupleIJiidEESaIS2_EESaIS4_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!51 = !{!"_ZTSSt6vectorISt4pairIidESaIS1_EE", !52, i64 0}
!52 = !{!"_ZTSSt12_Vector_baseISt4pairIidESaIS1_EE", !53, i64 0}
!53 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE12_Vector_implE", !54, i64 0}
!54 = !{!"_ZTSNSt12_Vector_baseISt4pairIidESaIS1_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!55 = !{!"_ZTSSt6vectorIsSaIsEE", !56, i64 0}
!56 = !{!"_ZTSSt12_Vector_baseIsSaIsEE", !57, i64 0}
!57 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE12_Vector_implE", !58, i64 0}
!58 = !{!"_ZTSNSt12_Vector_baseIsSaIsEE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!59 = !{!"_ZTSSt6vectorIS_ISt4pairIidESaIS1_EESaIS3_EE", !60, i64 0}
!60 = !{!"_ZTSSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE", !61, i64 0}
!61 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE12_Vector_implE", !62, i64 0}
!62 = !{!"_ZTSNSt12_Vector_baseISt6vectorISt4pairIidESaIS2_EESaIS4_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!63 = !{!"_ZTSSt6vectorIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE", !64, i64 0}
!64 = !{!"_ZTSSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE", !65, i64 0}
!65 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE12_Vector_implE", !66, i64 0}
!66 = !{!"_ZTSNSt12_Vector_baseIN18free_format_parser6HMpsFF8ConeTypeESaIS2_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!67 = !{!"_ZTSSt6vectorIS_IiSaIiEESaIS1_EE", !68, i64 0}
!68 = !{!"_ZTSSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE", !69, i64 0}
!69 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE12_Vector_implE", !70, i64 0}
!70 = !{!"_ZTSNSt12_Vector_baseISt6vectorIiSaIiEESaIS2_EE17_Vector_impl_dataE", !14, i64 0, !14, i64 8, !14, i64 16}
!71 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !72, i64 0}
!72 = !{!"_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, !15, i64 8, !73, i64 16, !15, i64 24, !74, i64 32, !14, i64 48}
!73 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !14, i64 0}
!74 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !75, i64 0, !15, i64 8}
!75 = !{!"float", !8, i64 0}
!76 = !{!10, !10, i64 0}
!77 = !{i8 0, i8 2}
!78 = !{}
!79 = distinct !{!79, !80}
!80 = !{!"llvm.loop.mustprogress"}
!81 = !{!15, !15, i64 0}
!82 = !{!6, !10, i64 8}
!83 = !{!84, !84, i64 0}
!84 = !{!"_ZTS12HighsVarType", !8, i64 0}
!85 = !{!7, !7, i64 0}


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