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

; 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::allocator" = type { i8 }
%"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" = 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.anon = type { ptr, ptr }
%"struct.std::pair" = type { i32, double }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Tuple_impl.base", %"struct.std::_Head_base.70" }
%"struct.std::_Tuple_impl.base" = type <{ %"struct.std::_Tuple_impl.68", %"struct.std::_Head_base.69" }>
%"struct.std::_Tuple_impl.68" = type { %"struct.std::_Head_base" }
%"struct.std::_Head_base" = type { double }
%"struct.std::_Head_base.69" = type { i32 }
%"struct.std::_Head_base.70" = type { i32 }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"struct.std::pair.74" = type <{ %"struct.std::__detail::_Node_iterator", i8, [7 x i8] }>
%"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.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 }>
%"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.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.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 }
%"struct.std::pair.72" = type <{ %"class.std::__cxx11::basic_string", i32, [4 x i8] }>

@.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
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.114 = external hidden unnamed_addr constant [13 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [105 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [21 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: 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, ...) #3

; 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 uwtable
declare dso_local void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 8 dereferenceable(8)) #2 align 2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #4

; 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)) #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2) #2 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::allocator", align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca i32, align 4
  %15 = alloca i64, align 8
  %16 = alloca i64, align 8
  %17 = alloca i8, align 1
  %18 = alloca %"class.std::vector.3", align 8
  %19 = alloca %"class.std::vector", align 8
  %20 = alloca i32, align 4
  %21 = alloca double, align 8
  %22 = alloca double, align 8
  %23 = alloca %class.anon, align 8
  %24 = alloca i8, align 1
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %"struct.std::pair", align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca %"class.std::tuple", align 8
  %38 = alloca i32, align 4
  %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 %"struct.std::__detail::_Node_iterator", align 8
  %43 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %"struct.std::pair", align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca %"class.std::tuple", align 8
  %50 = alloca i32, align 4
  %51 = alloca %"struct.std::pair.74", align 8
  %52 = alloca i32, align 4
  %53 = alloca { ptr, i8 }, align 8
  %54 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %55 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %56 = alloca i8, align 1
  %57 = alloca double, align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %60 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %61 = alloca i8, align 1
  %62 = alloca double, align 8
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::__cxx11::basic_string", align 8
  %66 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %67 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %68 = alloca i8, align 1
  %69 = alloca double, align 8
  %70 = alloca %"class.std::__cxx11::basic_string", 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
  %71 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %9) #8
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %72 unwind label %78

72:                                               ; preds = %3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %12) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #8
  store i8 0, ptr %17, align 1, !tbaa !9
  %73 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %74 = load i32, ptr %73, align 4, !tbaa !11
  %75 = icmp eq i32 %74, 0
  br i1 %75, label %76, label %77

76:                                               ; preds = %72
  br label %83

77:                                               ; preds = %72
  call void @__assert_fail(ptr noundef @.str.114, ptr noundef @.str.64, i32 noundef 720, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

78:                                               ; preds = %3
  %79 = landingpad { ptr, i32 }
          cleanup
  %80 = extractvalue { ptr, i32 } %79, 0
  store ptr %80, ptr %10, align 8
  %81 = extractvalue { ptr, i32 } %79, 1
  store i32 %81, ptr %11, align 4
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %9) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %9) #8
  br label %808

82:                                               ; No predecessors!
  br label %83

83:                                               ; preds = %82, %76
  call void @llvm.lifetime.start.p0(i64 24, ptr %18) #8
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #8
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #8
  store i32 0, ptr %20, align 4, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  store double 0.000000e+00, ptr %21, align 8, !tbaa !79
  %84 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 3
  %85 = load i32, ptr %84, align 8, !tbaa !80
  %86 = sext i32 %85 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  store double 0.000000e+00, ptr %22, align 8, !tbaa !79
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %86, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %87 unwind label %102

87:                                               ; preds = %83
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  %88 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 3
  %89 = load i32, ptr %88, align 8, !tbaa !80
  %90 = sext i32 %89 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %90)
          to label %91 unwind label %106

91:                                               ; preds = %87
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #8
  %92 = getelementptr inbounds %class.anon, ptr %23, i32 0, i32 0
  store ptr %14, ptr %92, align 8, !tbaa !5
  %93 = getelementptr inbounds %class.anon, ptr %23, i32 0, i32 1
  store ptr %71, ptr %93, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  store i64 0, ptr %25, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  store i64 1, ptr %26, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #8
  store i64 0, ptr %27, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #8
  store i64 1, ptr %28, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  store i64 0, ptr %29, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #8
  store i64 1, ptr %30, align 8, !tbaa !83
  br label %94

94:                                               ; preds = %798, %796, %101, %91
  %95 = load ptr, ptr %7, align 8, !tbaa !5
  %96 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %71, ptr noundef nonnull align 8 dereferenceable(16) %95, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %97 unwind label %110

97:                                               ; preds = %94
  br i1 %96, label %98, label %803

98:                                               ; preds = %97
  %99 = load i8, ptr %24, align 1, !tbaa !9, !range !84, !noundef !85
  %100 = trunc i8 %99 to i1
  br i1 %100, label %101, label %114

101:                                              ; preds = %98
  br label %94, !llvm.loop !86

102:                                              ; preds = %83
  %103 = landingpad { ptr, i32 }
          cleanup
  %104 = extractvalue { ptr, i32 } %103, 0
  store ptr %104, ptr %10, align 8
  %105 = extractvalue { ptr, i32 } %103, 1
  store i32 %105, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  br label %807

106:                                              ; preds = %87
  %107 = landingpad { ptr, i32 }
          cleanup
  %108 = extractvalue { ptr, i32 } %107, 0
  store ptr %108, ptr %10, align 8
  %109 = extractvalue { ptr, i32 } %107, 1
  store i32 %109, ptr %11, align 4
  br label %807

110:                                              ; preds = %114, %94
  %111 = landingpad { ptr, i32 }
          cleanup
  %112 = extractvalue { ptr, i32 } %111, 0
  store ptr %112, ptr %10, align 8
  %113 = extractvalue { ptr, i32 } %111, 1
  store i32 %113, ptr %11, align 4
  br label %806

114:                                              ; preds = %98
  %115 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %71)
          to label %116 unwind label %110

116:                                              ; preds = %114
  br i1 %115, label %117, label %118

117:                                              ; preds = %116
  store i32 29, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %804

118:                                              ; preds = %116
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #8
  %119 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %71, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(8) %15, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %120 unwind label %142

120:                                              ; preds = %118
  store i32 %119, ptr %32, align 4, !tbaa !88
  %121 = load i32, ptr %32, align 4, !tbaa !88
  %122 = icmp ne i32 %121, 24
  br i1 %122, label %123, label %219

123:                                              ; preds = %120
  %124 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %125 = load i32, ptr %124, align 4, !tbaa !11
  %126 = icmp ne i32 %125, 0
  br i1 %126, label %127, label %190

127:                                              ; preds = %123
  %128 = load double, ptr %21, align 8, !tbaa !79
  %129 = fcmp une double %128, 0.000000e+00
  br i1 %129, label %130, label %150

130:                                              ; preds = %127
  %131 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 43
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #8
  %132 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %133 = load i32, ptr %132, align 4, !tbaa !11
  %134 = sub nsw i32 %133, 1
  store i32 %134, ptr %34, align 4, !tbaa !78
  %135 = invoke { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %34, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %136 unwind label %146

136:                                              ; preds = %130
  %137 = getelementptr inbounds { i32, double }, ptr %33, i32 0, i32 0
  %138 = extractvalue { i32, double } %135, 0
  store i32 %138, ptr %137, align 8
  %139 = getelementptr inbounds { i32, double }, ptr %33, i32 0, i32 1
  %140 = extractvalue { i32, double } %135, 1
  store double %140, ptr %139, align 8
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %131, ptr noundef nonnull align 8 dereferenceable(16) %33)
          to label %141 unwind label %146

141:                                              ; preds = %136
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  store double 0.000000e+00, ptr %21, align 8, !tbaa !79
  br label %150

142:                                              ; preds = %215, %206, %118
  %143 = landingpad { ptr, i32 }
          cleanup
  %144 = extractvalue { ptr, i32 } %143, 0
  store ptr %144, ptr %10, align 8
  %145 = extractvalue { ptr, i32 } %143, 1
  store i32 %145, ptr %11, align 4
  br label %802

146:                                              ; preds = %136, %130
  %147 = landingpad { ptr, i32 }
          cleanup
  %148 = extractvalue { ptr, i32 } %147, 0
  store ptr %148, ptr %10, align 8
  %149 = extractvalue { ptr, i32 } %147, 1
  store i32 %149, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #8
  br label %802

150:                                              ; preds = %141, %127
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #8
  store i32 0, ptr %35, align 4, !tbaa !78
  br label %151

151:                                              ; preds = %182, %150
  %152 = load i32, ptr %35, align 4, !tbaa !78
  %153 = load i32, ptr %20, align 4, !tbaa !78
  %154 = icmp slt i32 %152, %153
  br i1 %154, label %156, label %155

155:                                              ; preds = %151
  store i32 4, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  br label %189

156:                                              ; preds = %151
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #8
  %157 = load i32, ptr %35, align 4, !tbaa !78
  %158 = sext i32 %157 to i64
  %159 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %158) #8
  %160 = load i32, ptr %159, align 4, !tbaa !78
  store i32 %160, ptr %36, align 4, !tbaa !78
  %161 = load i32, ptr %36, align 4, !tbaa !78
  %162 = sext i32 %161 to i64
  %163 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %162) #8
  %164 = load double, ptr %163, align 8, !tbaa !79
  %165 = fcmp une double %164, 0.000000e+00
  br i1 %165, label %166, label %167

166:                                              ; preds = %156
  br label %169

167:                                              ; preds = %156
  call void @__assert_fail(ptr noundef @.str.115, ptr noundef @.str.64, i32 noundef 763, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

168:                                              ; No predecessors!
  br label %169

169:                                              ; preds = %168, %166
  %170 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 40
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #8
  %171 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %172 = load i32, ptr %171, align 4, !tbaa !11
  %173 = sub nsw i32 %172, 1
  store i32 %173, ptr %38, align 4, !tbaa !78
  %174 = load i32, ptr %36, align 4, !tbaa !78
  %175 = sext i32 %174 to i64
  %176 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %175) #8
  invoke void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 8 %37, ptr noundef nonnull align 4 dereferenceable(4) %38, ptr noundef nonnull align 4 dereferenceable(4) %36, ptr noundef nonnull align 8 dereferenceable(8) %176)
          to label %177 unwind label %185

177:                                              ; preds = %169
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %170, ptr noundef nonnull align 8 dereferenceable(16) %37)
          to label %178 unwind label %185

178:                                              ; preds = %177
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  %179 = load i32, ptr %36, align 4, !tbaa !78
  %180 = sext i32 %179 to i64
  %181 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %180) #8
  store double 0.000000e+00, ptr %181, align 8, !tbaa !79
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  br label %182

182:                                              ; preds = %178
  %183 = load i32, ptr %35, align 4, !tbaa !78
  %184 = add nsw i32 %183, 1
  store i32 %184, ptr %35, align 4, !tbaa !78
  br label %151, !llvm.loop !90

185:                                              ; preds = %177, %169
  %186 = landingpad { ptr, i32 }
          cleanup
  %187 = extractvalue { ptr, i32 } %186, 0
  store ptr %187, ptr %10, align 8
  %188 = extractvalue { ptr, i32 } %186, 1
  store i32 %188, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #8
  br label %802

189:                                              ; preds = %155
  store i32 0, ptr %20, align 4, !tbaa !78
  br label %190

190:                                              ; preds = %189, %123
  %191 = load i64, ptr %25, align 8, !tbaa !83
  %192 = icmp ugt i64 %191, 0
  br i1 %192, label %199, label %193

193:                                              ; preds = %190
  %194 = load i64, ptr %27, align 8, !tbaa !83
  %195 = icmp ugt i64 %194, 0
  br i1 %195, label %199, label %196

196:                                              ; preds = %193
  %197 = load i64, ptr %29, align 8, !tbaa !83
  %198 = icmp ugt i64 %197, 0
  br label %199

199:                                              ; preds = %196, %193, %190
  %200 = phi i1 [ true, %193 ], [ true, %190 ], [ %198, %196 ]
  %201 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 1
  %202 = zext i1 %200 to i8
  store i8 %202, ptr %201, align 8, !tbaa !91
  %203 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 1
  %204 = load i8, ptr %203, align 8, !tbaa !91, !range !84, !noundef !85
  %205 = trunc i8 %204 to i1
  br i1 %205, label %206, label %215

206:                                              ; preds = %199
  %207 = load ptr, ptr %6, align 8, !tbaa !5
  %208 = load i64, ptr %25, align 8, !tbaa !83
  %209 = trunc i64 %208 to i32
  %210 = load i64, ptr %27, align 8, !tbaa !83
  %211 = trunc i64 %210 to i32
  %212 = load i64, ptr %29, align 8, !tbaa !83
  %213 = trunc i64 %212 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %207, i32 noundef 4, ptr noundef @.str.116, i32 noundef %209, i32 noundef %211, i32 noundef %213)
          to label %214 unwind label %142

214:                                              ; preds = %206
  br label %215

215:                                              ; preds = %214, %199
  %216 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %216, i32 noundef 1, ptr noundef @.str.117)
          to label %217 unwind label %142

217:                                              ; preds = %215
  %218 = load i32, ptr %32, align 4, !tbaa !88
  store i32 %218, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %796

219:                                              ; preds = %120
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  %220 = load i64, ptr %16, align 8, !tbaa !83
  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) %12, i64 noundef %220)
          to label %221 unwind label %245

221:                                              ; preds = %219
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %222 = load i64, ptr %16, align 8, !tbaa !83
  %223 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %222)
          to label %224 unwind label %249

224:                                              ; preds = %221
  store i64 %223, ptr %40, align 8, !tbaa !83
  %225 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.118)
          to label %226 unwind label %249

226:                                              ; preds = %224
  br i1 %225, label %227, label %262

227:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 32, ptr %41) #8
  %228 = load i64, ptr %40, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %41, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %228)
          to label %229 unwind label %253

229:                                              ; preds = %227
  %230 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  %231 = load i8, ptr %17, align 1, !tbaa !9, !range !84, !noundef !85
  %232 = trunc i8 %231 to i1
  br i1 %232, label %233, label %236

233:                                              ; preds = %229
  %234 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.119)
          to label %235 unwind label %249

235:                                              ; preds = %233
  br i1 %234, label %242, label %236

236:                                              ; preds = %235, %229
  %237 = load i8, ptr %17, align 1, !tbaa !9, !range !84, !noundef !85
  %238 = trunc i8 %237 to i1
  br i1 %238, label %257, label %239

239:                                              ; preds = %236
  %240 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef @.str.120)
          to label %241 unwind label %249

241:                                              ; preds = %239
  br i1 %240, label %242, label %257

242:                                              ; preds = %241, %235
  %243 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %243, i32 noundef 5, ptr noundef @.str.121)
          to label %244 unwind label %249

244:                                              ; preds = %242
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %795

245:                                              ; preds = %219
  %246 = landingpad { ptr, i32 }
          cleanup
  %247 = extractvalue { ptr, i32 } %246, 0
  store ptr %247, ptr %10, align 8
  %248 = extractvalue { ptr, i32 } %246, 1
  store i32 %248, ptr %11, align 4
  br label %801

249:                                              ; preds = %494, %492, %489, %485, %481, %386, %242, %239, %233, %224, %221
  %250 = landingpad { ptr, i32 }
          cleanup
  %251 = extractvalue { ptr, i32 } %250, 0
  store ptr %251, ptr %10, align 8
  %252 = extractvalue { ptr, i32 } %250, 1
  store i32 %252, ptr %11, align 4
  br label %800

253:                                              ; preds = %227
  %254 = landingpad { ptr, i32 }
          cleanup
  %255 = extractvalue { ptr, i32 } %254, 0
  store ptr %255, ptr %10, align 8
  %256 = extractvalue { ptr, i32 } %254, 1
  store i32 %256, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %41) #8
  br label %800

257:                                              ; preds = %241, %236
  %258 = load i8, ptr %17, align 1, !tbaa !9, !range !84, !noundef !85
  %259 = trunc i8 %258 to i1
  %260 = xor i1 %259, true
  %261 = zext i1 %260 to i8
  store i8 %261, ptr %17, align 1, !tbaa !9
  store i32 2, ptr %31, align 4
  br label %795, !llvm.loop !86

262:                                              ; preds = %226
  %263 = load i64, ptr %40, align 8, !tbaa !83
  %264 = icmp ult i64 %263, 9
  br i1 %264, label %265, label %314

265:                                              ; preds = %262
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #8
  %266 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %267 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %266, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %268 unwind label %288

268:                                              ; preds = %265
  %269 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %42, i32 0, i32 0
  %270 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %269, i32 0, i32 0
  store ptr %267, ptr %270, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  %271 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %272 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %271) #8
  %273 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %43, i32 0, i32 0
  %274 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %273, i32 0, i32 0
  store ptr %272, ptr %274, align 8
  %275 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 8 dereferenceable(8) %43) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  br i1 %275, label %276, label %309

276:                                              ; preds = %268
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #8
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef 0, i64 noundef 10)
          to label %277 unwind label %292

277:                                              ; preds = %276
  %278 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %279 unwind label %296

279:                                              ; preds = %277
  %280 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %44, ptr noundef nonnull align 8 dereferenceable(32) %278)
          to label %281 unwind label %296

281:                                              ; preds = %279
  %282 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  %283 = icmp ugt i64 %282, 8
  br i1 %283, label %284, label %300

284:                                              ; preds = %281
  %285 = load ptr, ptr %6, align 8, !tbaa !5
  %286 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %285, i32 noundef 5, ptr noundef @.str.122, ptr noundef %286)
          to label %287 unwind label %296

287:                                              ; preds = %284
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %307

288:                                              ; preds = %265
  %289 = landingpad { ptr, i32 }
          cleanup
  %290 = extractvalue { ptr, i32 } %289, 0
  store ptr %290, ptr %10, align 8
  %291 = extractvalue { ptr, i32 } %289, 1
  store i32 %291, ptr %11, align 4
  br label %313

292:                                              ; preds = %276
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %10, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %11, align 4
  br label %308

296:                                              ; preds = %300, %284, %279, %277
  %297 = landingpad { ptr, i32 }
          cleanup
  %298 = extractvalue { ptr, i32 } %297, 0
  store ptr %298, ptr %10, align 8
  %299 = extractvalue { ptr, i32 } %297, 1
  store i32 %299, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  br label %308

300:                                              ; preds = %281
  %301 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 1
  store i8 1, ptr %301, align 8, !tbaa !91
  %302 = load ptr, ptr %6, align 8, !tbaa !5
  %303 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  %304 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  %305 = trunc i64 %304 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %302, i32 noundef 4, ptr noundef @.str.123, ptr noundef %303, i32 noundef %305)
          to label %306 unwind label %296

306:                                              ; preds = %300
  store i32 28, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %307

307:                                              ; preds = %306, %287
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %310

308:                                              ; preds = %296, %292
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #8
  br label %313

309:                                              ; preds = %268
  store i32 0, ptr %31, align 4
  br label %310

310:                                              ; preds = %309, %307
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  %311 = load i32, ptr %31, align 4
  switch i32 %311, label %795 [
    i32 0, label %312
  ]

312:                                              ; preds = %310
  br label %314

313:                                              ; preds = %308, %288
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #8
  br label %800

314:                                              ; preds = %312, %262
  %315 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br i1 %315, label %474, label %316

316:                                              ; preds = %314
  %317 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %318 = load i32, ptr %317, align 4, !tbaa !11
  %319 = icmp ne i32 %318, 0
  br i1 %319, label %320, label %379

320:                                              ; preds = %316
  %321 = load double, ptr %21, align 8, !tbaa !79
  %322 = fcmp une double %321, 0.000000e+00
  br i1 %322, label %323, label %339

323:                                              ; preds = %320
  %324 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 43
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #8
  %325 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %326 = load i32, ptr %325, align 4, !tbaa !11
  %327 = sub nsw i32 %326, 1
  store i32 %327, ptr %46, align 4, !tbaa !78
  %328 = invoke { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %46, ptr noundef nonnull align 8 dereferenceable(8) %21)
          to label %329 unwind label %335

329:                                              ; preds = %323
  %330 = getelementptr inbounds { i32, double }, ptr %45, i32 0, i32 0
  %331 = extractvalue { i32, double } %328, 0
  store i32 %331, ptr %330, align 8
  %332 = getelementptr inbounds { i32, double }, ptr %45, i32 0, i32 1
  %333 = extractvalue { i32, double } %328, 1
  store double %333, ptr %332, align 8
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %324, ptr noundef nonnull align 8 dereferenceable(16) %45)
          to label %334 unwind label %335

334:                                              ; preds = %329
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #8
  store double 0.000000e+00, ptr %21, align 8, !tbaa !79
  br label %339

335:                                              ; preds = %329, %323
  %336 = landingpad { ptr, i32 }
          cleanup
  %337 = extractvalue { ptr, i32 } %336, 0
  store ptr %337, ptr %10, align 8
  %338 = extractvalue { ptr, i32 } %336, 1
  store i32 %338, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #8
  br label %800

339:                                              ; preds = %334, %320
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #8
  store i32 0, ptr %47, align 4, !tbaa !78
  br label %340

340:                                              ; preds = %371, %339
  %341 = load i32, ptr %47, align 4, !tbaa !78
  %342 = load i32, ptr %20, align 4, !tbaa !78
  %343 = icmp slt i32 %341, %342
  br i1 %343, label %345, label %344

344:                                              ; preds = %340
  store i32 7, ptr %31, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %378

345:                                              ; preds = %340
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #8
  %346 = load i32, ptr %47, align 4, !tbaa !78
  %347 = sext i32 %346 to i64
  %348 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %347) #8
  %349 = load i32, ptr %348, align 4, !tbaa !78
  store i32 %349, ptr %48, align 4, !tbaa !78
  %350 = load i32, ptr %48, align 4, !tbaa !78
  %351 = sext i32 %350 to i64
  %352 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %351) #8
  %353 = load double, ptr %352, align 8, !tbaa !79
  %354 = fcmp une double %353, 0.000000e+00
  br i1 %354, label %355, label %356

355:                                              ; preds = %345
  br label %358

356:                                              ; preds = %345
  call void @__assert_fail(ptr noundef @.str.115, ptr noundef @.str.64, i32 noundef 851, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

357:                                              ; No predecessors!
  br label %358

358:                                              ; preds = %357, %355
  %359 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 40
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #8
  %360 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %361 = load i32, ptr %360, align 4, !tbaa !11
  %362 = sub nsw i32 %361, 1
  store i32 %362, ptr %50, align 4, !tbaa !78
  %363 = load i32, ptr %48, align 4, !tbaa !78
  %364 = sext i32 %363 to i64
  %365 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %364) #8
  invoke void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 8 %49, ptr noundef nonnull align 4 dereferenceable(4) %50, ptr noundef nonnull align 4 dereferenceable(4) %48, ptr noundef nonnull align 8 dereferenceable(8) %365)
          to label %366 unwind label %374

366:                                              ; preds = %358
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %359, ptr noundef nonnull align 8 dereferenceable(16) %49)
          to label %367 unwind label %374

367:                                              ; preds = %366
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  %368 = load i32, ptr %48, align 4, !tbaa !78
  %369 = sext i32 %368 to i64
  %370 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %369) #8
  store double 0.000000e+00, ptr %370, align 8, !tbaa !79
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #8
  br label %371

371:                                              ; preds = %367
  %372 = load i32, ptr %47, align 4, !tbaa !78
  %373 = add nsw i32 %372, 1
  store i32 %373, ptr %47, align 4, !tbaa !78
  br label %340, !llvm.loop !92

374:                                              ; preds = %366, %358
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %10, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #8
  br label %800

378:                                              ; preds = %344
  store i32 0, ptr %20, align 4, !tbaa !78
  br label %379

379:                                              ; preds = %378, %316
  %380 = load double, ptr %21, align 8, !tbaa !79
  %381 = fcmp une double %380, 0.000000e+00
  %382 = xor i1 %381, true
  br i1 %382, label %383, label %384

383:                                              ; preds = %379
  br label %386

384:                                              ; preds = %379
  call void @__assert_fail(ptr noundef @.str.124, ptr noundef @.str.64, i32 noundef 858, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

385:                                              ; No predecessors!
  br label %386

386:                                              ; preds = %385, %383
  %387 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %13)
          to label %388 unwind label %249

388:                                              ; preds = %386
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #8
  %389 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 52
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #8
  %390 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %391 = load i32, ptr %390, align 4, !tbaa !11
  %392 = add nsw i32 %391, 1
  store i32 %392, ptr %390, align 4, !tbaa !11
  store i32 %391, ptr %52, align 4, !tbaa !78
  %393 = invoke { ptr, i8 } @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE7emplaceIJRS5_iEEESA_INSt8__detail14_Node_iteratorISC_Lb0ELb1EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %389, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 4 dereferenceable(4) %52)
          to label %394 unwind label %418

394:                                              ; preds = %388
  store { ptr, i8 } %393, ptr %53, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %51, ptr align 8 %53, i64 9, i1 false)
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #8
  %395 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 18
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %395, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %396 unwind label %422

396:                                              ; preds = %394
  %397 = getelementptr inbounds %"struct.std::pair.74", ptr %51, i32 0, i32 1
  %398 = load i8, ptr %397, align 8, !tbaa !93, !range !84, !noundef !85
  %399 = trunc i8 %398 to i1
  br i1 %399, label %444, label %400

400:                                              ; preds = %396
  %401 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 27
  %402 = load i8, ptr %401, align 1, !tbaa !97, !range !84, !noundef !85
  %403 = trunc i8 %402 to i1
  br i1 %403, label %443, label %404

404:                                              ; preds = %400
  %405 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 27
  store i8 1, ptr %405, align 1, !tbaa !97
  call void @llvm.lifetime.start.p0(i64 8, ptr %54) #8
  %406 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 52
  %407 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %406, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %408 unwind label %426

408:                                              ; preds = %404
  %409 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %54, i32 0, i32 0
  %410 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %409, i32 0, i32 0
  store ptr %407, ptr %410, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %55) #8
  %411 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 52
  %412 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %411) #8
  %413 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %55, i32 0, i32 0
  %414 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %413, i32 0, i32 0
  store ptr %412, ptr %414, align 8
  %415 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 8 dereferenceable(8) %55) #8
  br i1 %415, label %416, label %417

416:                                              ; preds = %408
  br label %431

417:                                              ; preds = %408
  call void @__assert_fail(ptr noundef @.str.125, ptr noundef @.str.64, i32 noundef 868, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

418:                                              ; preds = %388
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %10, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #8
  br label %473

422:                                              ; preds = %462, %458, %394
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %10, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %11, align 4
  br label %473

426:                                              ; preds = %431, %404
  %427 = landingpad { ptr, i32 }
          cleanup
  %428 = extractvalue { ptr, i32 } %427, 0
  store ptr %428, ptr %10, align 8
  %429 = extractvalue { ptr, i32 } %427, 1
  store i32 %429, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  br label %473

430:                                              ; No predecessors!
  br label %431

431:                                              ; preds = %430, %416
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #8
  %432 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 31
  %433 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %432, ptr noundef nonnull align 8 dereferenceable(32) %8)
          to label %434 unwind label %426

434:                                              ; preds = %431
  %435 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %54) #8
  %436 = getelementptr inbounds %"struct.std::pair.72", ptr %435, i32 0, i32 1
  %437 = load i32, ptr %436, align 8, !tbaa !98
  %438 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 32
  store i32 %437, ptr %438, align 8, !tbaa !100
  %439 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %440 = load i32, ptr %439, align 4, !tbaa !11
  %441 = sub nsw i32 %440, 1
  %442 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 33
  store i32 %441, ptr %442, align 4, !tbaa !101
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #8
  br label %443

443:                                              ; preds = %434, %400
  br label %444

444:                                              ; preds = %443, %396
  %445 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 19
  call void @llvm.lifetime.start.p0(i64 1, ptr %56) #8
  %446 = load i8, ptr %17, align 1, !tbaa !9, !range !84, !noundef !85
  %447 = trunc i8 %446 to i1
  %448 = zext i1 %447 to i64
  %449 = select i1 %447, i8 1, i8 0
  store i8 %449, ptr %56, align 1, !tbaa !102
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %445, ptr noundef nonnull align 1 dereferenceable(1) %56)
          to label %450 unwind label %465

450:                                              ; preds = %444
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #8
  %451 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 24
  %452 = load i8, ptr %17, align 1, !tbaa !9, !range !84, !noundef !85
  %453 = trunc i8 %452 to i1
  br i1 %453, label %454, label %458

454:                                              ; preds = %450
  %455 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 36
  %456 = load i8, ptr %455, align 8, !tbaa !104, !range !84, !noundef !85
  %457 = trunc i8 %456 to i1
  br label %458

458:                                              ; preds = %454, %450
  %459 = phi i1 [ false, %450 ], [ %457, %454 ]
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %451, i1 noundef zeroext %459)
          to label %460 unwind label %422

460:                                              ; preds = %458
  %461 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 13
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #8
  store double 0.000000e+00, ptr %57, align 8, !tbaa !79
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %461, ptr noundef nonnull align 8 dereferenceable(8) %57)
          to label %462 unwind label %469

462:                                              ; preds = %460
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  %463 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 14
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %463, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %464 unwind label %422

464:                                              ; preds = %462
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br label %474

465:                                              ; preds = %444
  %466 = landingpad { ptr, i32 }
          cleanup
  %467 = extractvalue { ptr, i32 } %466, 0
  store ptr %467, ptr %10, align 8
  %468 = extractvalue { ptr, i32 } %466, 1
  store i32 %468, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %56) #8
  br label %473

469:                                              ; preds = %460
  %470 = landingpad { ptr, i32 }
          cleanup
  %471 = extractvalue { ptr, i32 } %470, 0
  store ptr %471, ptr %10, align 8
  %472 = extractvalue { ptr, i32 } %470, 1
  store i32 %472, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #8
  br label %473

473:                                              ; preds = %469, %465, %426, %422, %418
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #8
  br label %800

474:                                              ; preds = %464, %314
  %475 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 4
  %476 = load i32, ptr %475, align 4, !tbaa !11
  %477 = icmp sgt i32 %476, 0
  br i1 %477, label %478, label %479

478:                                              ; preds = %474
  br label %481

479:                                              ; preds = %474
  call void @__assert_fail(ptr noundef @.str.126, ptr noundef @.str.64, i32 noundef 887, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

480:                                              ; No predecessors!
  br label %481

481:                                              ; preds = %480, %478
  %482 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.10)
          to label %483 unwind label %249

483:                                              ; preds = %481
  call void @llvm.lifetime.start.p0(i64 32, ptr %58) #8
  %484 = load i64, ptr %40, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %484)
          to label %485 unwind label %498

485:                                              ; preds = %483
  %486 = 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) %58) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  %487 = load i64, ptr %40, align 8, !tbaa !83
  %488 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %487)
          to label %489 unwind label %249

489:                                              ; preds = %485
  store i64 %488, ptr %16, align 8, !tbaa !83
  %490 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.10)
          to label %491 unwind label %249

491:                                              ; preds = %489
  br i1 %490, label %492, label %502

492:                                              ; preds = %491
  %493 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %494 unwind label %249

494:                                              ; preds = %492
  %495 = load ptr, ptr %6, align 8, !tbaa !5
  %496 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %495, i32 noundef 5, ptr noundef @.str.127, ptr noundef %496)
          to label %497 unwind label %249

497:                                              ; preds = %494
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %795

498:                                              ; preds = %483
  %499 = landingpad { ptr, i32 }
          cleanup
  %500 = extractvalue { ptr, i32 } %499, 0
  store ptr %500, ptr %10, align 8
  %501 = extractvalue { ptr, i32 } %499, 1
  store i32 %501, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %58) #8
  br label %800

502:                                              ; preds = %491
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #8
  %503 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %504 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %503, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %505 unwind label %526

505:                                              ; preds = %502
  %506 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %59, i32 0, i32 0
  %507 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %506, i32 0, i32 0
  store ptr %504, ptr %507, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #8
  %508 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %509 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %508) #8
  %510 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %60, i32 0, i32 0
  %511 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %510, i32 0, i32 0
  store ptr %509, ptr %511, align 8
  %512 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %59, ptr noundef nonnull align 8 dereferenceable(8) %60) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #8
  br i1 %512, label %513, label %531

513:                                              ; preds = %505
  %514 = load i64, ptr %25, align 8, !tbaa !83
  %515 = add i64 %514, 1
  store i64 %515, ptr %25, align 8, !tbaa !83
  %516 = load i64, ptr %25, align 8, !tbaa !83
  %517 = load i64, ptr %26, align 8, !tbaa !83
  %518 = urem i64 %516, %517
  %519 = icmp eq i64 %518, 0
  br i1 %519, label %520, label %530

520:                                              ; preds = %513
  %521 = load ptr, ptr %6, align 8, !tbaa !5
  %522 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %521, i32 noundef 4, ptr noundef @.str.128, ptr noundef %522)
          to label %523 unwind label %526

523:                                              ; preds = %520
  %524 = load i64, ptr %26, align 8, !tbaa !83
  %525 = mul i64 %524, 2
  store i64 %525, ptr %26, align 8, !tbaa !83
  br label %530

526:                                              ; preds = %657, %653, %647, %644, %636, %634, %630, %624, %520, %502
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %10, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %11, align 4
  br label %799

530:                                              ; preds = %523, %513
  br label %624

531:                                              ; preds = %505
  call void @llvm.lifetime.start.p0(i64 1, ptr %61) #8
  store i8 0, ptr %61, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %62) #8
  %532 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %71, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 1 dereferenceable(1) %61, i32 noundef -1)
          to label %533 unwind label %540

533:                                              ; preds = %531
  store double %532, ptr %62, align 8, !tbaa !79
  %534 = load i8, ptr %61, align 1, !tbaa !9, !range !84, !noundef !85
  %535 = trunc i8 %534 to i1
  br i1 %535, label %536, label %544

536:                                              ; preds = %533
  %537 = load ptr, ptr %6, align 8, !tbaa !5
  %538 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %537, i32 noundef 5, ptr noundef @.str.129, ptr noundef %538)
          to label %539 unwind label %540

539:                                              ; preds = %536
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %620

540:                                              ; preds = %605, %568, %547, %536, %531
  %541 = landingpad { ptr, i32 }
          cleanup
  %542 = extractvalue { ptr, i32 } %541, 0
  store ptr %542, ptr %10, align 8
  %543 = extractvalue { ptr, i32 } %541, 1
  store i32 %543, ptr %11, align 4
  br label %623

544:                                              ; preds = %533
  %545 = load double, ptr %62, align 8, !tbaa !79
  %546 = fcmp une double %545, 0.000000e+00
  br i1 %546, label %547, label %619

547:                                              ; preds = %544
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %548 unwind label %540

548:                                              ; preds = %547
  invoke void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef %63)
          to label %549 unwind label %576

549:                                              ; preds = %548
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  %550 = load i32, ptr %14, align 4, !tbaa !78
  %551 = icmp sge i32 %550, 0
  br i1 %551, label %552, label %592

552:                                              ; preds = %549
  %553 = load i32, ptr %14, align 4, !tbaa !78
  %554 = sext i32 %553 to i64
  %555 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %554) #8
  %556 = load double, ptr %555, align 8, !tbaa !79
  %557 = fcmp une double %556, 0.000000e+00
  br i1 %557, label %558, label %581

558:                                              ; preds = %552
  %559 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 5
  %560 = load i32, ptr %559, align 8, !tbaa !105
  %561 = add nsw i32 %560, -1
  store i32 %561, ptr %559, align 8, !tbaa !105
  %562 = load i64, ptr %29, align 8, !tbaa !83
  %563 = add i64 %562, 1
  store i64 %563, ptr %29, align 8, !tbaa !83
  %564 = load i64, ptr %29, align 8, !tbaa !83
  %565 = load i64, ptr %30, align 8, !tbaa !83
  %566 = urem i64 %564, %565
  %567 = icmp eq i64 %566, 0
  br i1 %567, label %568, label %580

568:                                              ; preds = %558
  %569 = load ptr, ptr %6, align 8, !tbaa !5
  %570 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  %571 = load double, ptr %62, align 8, !tbaa !79
  %572 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %569, i32 noundef 4, ptr noundef @.str.130, ptr noundef %570, double noundef %571, ptr noundef %572)
          to label %573 unwind label %540

573:                                              ; preds = %568
  %574 = load i64, ptr %30, align 8, !tbaa !83
  %575 = mul i64 %574, 2
  store i64 %575, ptr %30, align 8, !tbaa !83
  br label %580

576:                                              ; preds = %548
  %577 = landingpad { ptr, i32 }
          cleanup
  %578 = extractvalue { ptr, i32 } %577, 0
  store ptr %578, ptr %10, align 8
  %579 = extractvalue { ptr, i32 } %577, 1
  store i32 %579, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #8
  br label %623

580:                                              ; preds = %573, %558
  br label %591

581:                                              ; preds = %552
  %582 = load double, ptr %62, align 8, !tbaa !79
  %583 = load i32, ptr %14, align 4, !tbaa !78
  %584 = sext i32 %583 to i64
  %585 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %584) #8
  store double %582, ptr %585, align 8, !tbaa !79
  %586 = load i32, ptr %14, align 4, !tbaa !78
  %587 = load i32, ptr %20, align 4, !tbaa !78
  %588 = add nsw i32 %587, 1
  store i32 %588, ptr %20, align 4, !tbaa !78
  %589 = sext i32 %587 to i64
  %590 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %589) #8
  store i32 %586, ptr %590, align 4, !tbaa !78
  br label %591

591:                                              ; preds = %581, %580
  br label %618

592:                                              ; preds = %549
  %593 = load i32, ptr %14, align 4, !tbaa !78
  %594 = icmp eq i32 %593, -1
  br i1 %594, label %595, label %617

595:                                              ; preds = %592
  %596 = load double, ptr %21, align 8, !tbaa !79
  %597 = fcmp une double %596, 0.000000e+00
  br i1 %597, label %598, label %614

598:                                              ; preds = %595
  %599 = load i64, ptr %27, align 8, !tbaa !83
  %600 = add i64 %599, 1
  store i64 %600, ptr %27, align 8, !tbaa !83
  %601 = load i64, ptr %27, align 8, !tbaa !83
  %602 = load i64, ptr %28, align 8, !tbaa !83
  %603 = urem i64 %601, %602
  %604 = icmp eq i64 %603, 0
  br i1 %604, label %605, label %613

605:                                              ; preds = %598
  %606 = load ptr, ptr %6, align 8, !tbaa !5
  %607 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  %608 = load double, ptr %62, align 8, !tbaa !79
  %609 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %606, i32 noundef 4, ptr noundef @.str.131, ptr noundef %607, double noundef %608, ptr noundef %609)
          to label %610 unwind label %540

610:                                              ; preds = %605
  %611 = load i64, ptr %28, align 8, !tbaa !83
  %612 = mul i64 %611, 2
  store i64 %612, ptr %28, align 8, !tbaa !83
  br label %613

613:                                              ; preds = %610, %598
  br label %616

614:                                              ; preds = %595
  %615 = load double, ptr %62, align 8, !tbaa !79
  store double %615, ptr %21, align 8, !tbaa !79
  br label %616

616:                                              ; preds = %614, %613
  br label %617

617:                                              ; preds = %616, %592
  br label %618

618:                                              ; preds = %617, %591
  br label %619

619:                                              ; preds = %618, %544
  store i32 0, ptr %31, align 4
  br label %620

620:                                              ; preds = %619, %539
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #8
  %621 = load i32, ptr %31, align 4
  switch i32 %621, label %794 [
    i32 0, label %622
  ]

622:                                              ; preds = %620
  br label %624

623:                                              ; preds = %576, %540
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %61) #8
  br label %799

624:                                              ; preds = %622, %530
  %625 = load i64, ptr %16, align 8, !tbaa !83
  %626 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %625, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %627 unwind label %526

627:                                              ; preds = %624
  br i1 %626, label %793, label %628

628:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 32, ptr %64) #8
  %629 = load i64, ptr %16, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %64, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %629)
          to label %630 unwind label %640

630:                                              ; preds = %628
  %631 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  %632 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.10)
          to label %633 unwind label %526

633:                                              ; preds = %630
  br i1 %632, label %634, label %644

634:                                              ; preds = %633
  %635 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %636 unwind label %526

636:                                              ; preds = %634
  %637 = load ptr, ptr %6, align 8, !tbaa !5
  %638 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %637, i32 noundef 5, ptr noundef @.str.127, ptr noundef %638)
          to label %639 unwind label %526

639:                                              ; preds = %636
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %794

640:                                              ; preds = %628
  %641 = landingpad { ptr, i32 }
          cleanup
  %642 = extractvalue { ptr, i32 } %641, 0
  store ptr %642, ptr %10, align 8
  %643 = extractvalue { ptr, i32 } %641, 1
  store i32 %643, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %64) #8
  br label %799

644:                                              ; preds = %633
  %645 = load i64, ptr %16, align 8, !tbaa !83
  %646 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %645)
          to label %647 unwind label %526

647:                                              ; preds = %644
  store i64 %646, ptr %40, align 8, !tbaa !83
  %648 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.10)
          to label %649 unwind label %526

649:                                              ; preds = %647
  %650 = load i64, ptr %40, align 8, !tbaa !83
  %651 = add i64 %650, 1
  store i64 %651, ptr %40, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 32, ptr %65) #8
  %652 = load i64, ptr %40, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %65, ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %652)
          to label %653 unwind label %663

653:                                              ; preds = %649
  %654 = 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) %65) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %65) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  %655 = load i64, ptr %40, align 8, !tbaa !83
  %656 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %655)
          to label %657 unwind label %526

657:                                              ; preds = %653
  store i64 %656, ptr %16, align 8, !tbaa !83
  %658 = load i64, ptr %16, align 8, !tbaa !83
  %659 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, i64 noundef %658, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %660 unwind label %526

660:                                              ; preds = %657
  br i1 %659, label %661, label %662

661:                                              ; preds = %660
  br label %668

662:                                              ; preds = %660
  call void @__assert_fail(ptr noundef @.str.132, ptr noundef @.str.64, i32 noundef 977, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #9
  unreachable

663:                                              ; preds = %649
  %664 = landingpad { ptr, i32 }
          cleanup
  %665 = extractvalue { ptr, i32 } %664, 0
  store ptr %665, ptr %10, align 8
  %666 = extractvalue { ptr, i32 } %664, 1
  store i32 %666, ptr %11, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %65) #8
  br label %799

667:                                              ; No predecessors!
  br label %668

668:                                              ; preds = %667, %661
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #8
  %669 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %670 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %669, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %671 unwind label %692

671:                                              ; preds = %668
  %672 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %66, i32 0, i32 0
  %673 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %672, i32 0, i32 0
  store ptr %670, ptr %673, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %67) #8
  %674 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 51
  %675 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %674) #8
  %676 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %67, i32 0, i32 0
  %677 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %676, i32 0, i32 0
  store ptr %675, ptr %677, align 8
  %678 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %66, ptr noundef nonnull align 8 dereferenceable(8) %67) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #8
  br i1 %678, label %679, label %697

679:                                              ; preds = %671
  %680 = load i64, ptr %25, align 8, !tbaa !83
  %681 = add i64 %680, 1
  store i64 %681, ptr %25, align 8, !tbaa !83
  %682 = load i64, ptr %25, align 8, !tbaa !83
  %683 = load i64, ptr %26, align 8, !tbaa !83
  %684 = urem i64 %682, %683
  %685 = icmp eq i64 %684, 0
  br i1 %685, label %686, label %696

686:                                              ; preds = %679
  %687 = load ptr, ptr %6, align 8, !tbaa !5
  %688 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %687, i32 noundef 4, ptr noundef @.str.128, ptr noundef %688)
          to label %689 unwind label %692

689:                                              ; preds = %686
  %690 = load i64, ptr %26, align 8, !tbaa !83
  %691 = mul i64 %690, 2
  store i64 %691, ptr %26, align 8, !tbaa !83
  br label %696

692:                                              ; preds = %686, %668
  %693 = landingpad { ptr, i32 }
          cleanup
  %694 = extractvalue { ptr, i32 } %693, 0
  store ptr %694, ptr %10, align 8
  %695 = extractvalue { ptr, i32 } %693, 1
  store i32 %695, ptr %11, align 4
  br label %792

696:                                              ; preds = %689, %679
  store i32 2, ptr %31, align 4
  br label %788, !llvm.loop !86

697:                                              ; preds = %671
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #8
  store i8 0, ptr %68, align 1, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #8
  %698 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %71, ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull align 1 dereferenceable(1) %68, i32 noundef -1)
          to label %699 unwind label %706

699:                                              ; preds = %697
  store double %698, ptr %69, align 8, !tbaa !79
  %700 = load i8, ptr %68, align 1, !tbaa !9, !range !84, !noundef !85
  %701 = trunc i8 %700 to i1
  br i1 %701, label %702, label %710

702:                                              ; preds = %699
  %703 = load ptr, ptr %6, align 8, !tbaa !5
  %704 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %703, i32 noundef 5, ptr noundef @.str.129, ptr noundef %704)
          to label %705 unwind label %706

705:                                              ; preds = %702
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %787

706:                                              ; preds = %771, %734, %713, %702, %697
  %707 = landingpad { ptr, i32 }
          cleanup
  %708 = extractvalue { ptr, i32 } %707, 0
  store ptr %708, ptr %10, align 8
  %709 = extractvalue { ptr, i32 } %707, 1
  store i32 %709, ptr %11, align 4
  br label %791

710:                                              ; preds = %699
  %711 = load double, ptr %69, align 8, !tbaa !79
  %712 = fcmp une double %711, 0.000000e+00
  br i1 %712, label %713, label %786

713:                                              ; preds = %710
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %70, ptr noundef nonnull align 8 dereferenceable(32) %39)
          to label %714 unwind label %706

714:                                              ; preds = %713
  invoke void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16) %23, ptr noundef %70)
          to label %715 unwind label %742

715:                                              ; preds = %714
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  %716 = load i32, ptr %14, align 4, !tbaa !78
  %717 = icmp sge i32 %716, 0
  br i1 %717, label %718, label %758

718:                                              ; preds = %715
  %719 = load i32, ptr %14, align 4, !tbaa !78
  %720 = sext i32 %719 to i64
  %721 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %720) #8
  %722 = load double, ptr %721, align 8, !tbaa !79
  %723 = fcmp une double %722, 0.000000e+00
  br i1 %723, label %724, label %747

724:                                              ; preds = %718
  %725 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 5
  %726 = load i32, ptr %725, align 8, !tbaa !105
  %727 = add nsw i32 %726, -1
  store i32 %727, ptr %725, align 8, !tbaa !105
  %728 = load i64, ptr %29, align 8, !tbaa !83
  %729 = add i64 %728, 1
  store i64 %729, ptr %29, align 8, !tbaa !83
  %730 = load i64, ptr %29, align 8, !tbaa !83
  %731 = load i64, ptr %30, align 8, !tbaa !83
  %732 = urem i64 %730, %731
  %733 = icmp eq i64 %732, 0
  br i1 %733, label %734, label %746

734:                                              ; preds = %724
  %735 = load ptr, ptr %6, align 8, !tbaa !5
  %736 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  %737 = load double, ptr %69, align 8, !tbaa !79
  %738 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %735, i32 noundef 4, ptr noundef @.str.130, ptr noundef %736, double noundef %737, ptr noundef %738)
          to label %739 unwind label %706

739:                                              ; preds = %734
  %740 = load i64, ptr %30, align 8, !tbaa !83
  %741 = mul i64 %740, 2
  store i64 %741, ptr %30, align 8, !tbaa !83
  br label %746

742:                                              ; preds = %714
  %743 = landingpad { ptr, i32 }
          cleanup
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %10, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %11, align 4
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #8
  br label %791

746:                                              ; preds = %739, %724
  br label %757

747:                                              ; preds = %718
  %748 = load double, ptr %69, align 8, !tbaa !79
  %749 = load i32, ptr %14, align 4, !tbaa !78
  %750 = sext i32 %749 to i64
  %751 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %18, i64 noundef %750) #8
  store double %748, ptr %751, align 8, !tbaa !79
  %752 = load i32, ptr %14, align 4, !tbaa !78
  %753 = load i32, ptr %20, align 4, !tbaa !78
  %754 = add nsw i32 %753, 1
  store i32 %754, ptr %20, align 4, !tbaa !78
  %755 = sext i32 %753 to i64
  %756 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %19, i64 noundef %755) #8
  store i32 %752, ptr %756, align 4, !tbaa !78
  br label %757

757:                                              ; preds = %747, %746
  br label %785

758:                                              ; preds = %715
  %759 = load i32, ptr %14, align 4, !tbaa !78
  %760 = icmp eq i32 %759, -1
  br i1 %760, label %761, label %784

761:                                              ; preds = %758
  %762 = load double, ptr %21, align 8, !tbaa !79
  %763 = fcmp une double %762, 0.000000e+00
  br i1 %763, label %764, label %781

764:                                              ; preds = %761
  %765 = load i64, ptr %27, align 8, !tbaa !83
  %766 = add i64 %765, 1
  store i64 %766, ptr %27, align 8, !tbaa !83
  %767 = load i64, ptr %27, align 8, !tbaa !83
  %768 = load i64, ptr %28, align 8, !tbaa !83
  %769 = urem i64 %767, %768
  %770 = icmp eq i64 %769, 0
  br i1 %770, label %771, label %780

771:                                              ; preds = %764
  %772 = load ptr, ptr %6, align 8, !tbaa !5
  %773 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  %774 = load double, ptr %69, align 8, !tbaa !79
  %775 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %71, i32 0, i32 37
  %776 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %775) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %772, i32 noundef 4, ptr noundef @.str.131, ptr noundef %773, double noundef %774, ptr noundef %776)
          to label %777 unwind label %706

777:                                              ; preds = %771
  %778 = load i64, ptr %28, align 8, !tbaa !83
  %779 = mul i64 %778, 2
  store i64 %779, ptr %28, align 8, !tbaa !83
  br label %780

780:                                              ; preds = %777, %764
  br label %783

781:                                              ; preds = %761
  %782 = load double, ptr %69, align 8, !tbaa !79
  store double %782, ptr %21, align 8, !tbaa !79
  br label %783

783:                                              ; preds = %781, %780
  br label %784

784:                                              ; preds = %783, %758
  br label %785

785:                                              ; preds = %784, %757
  br label %786

786:                                              ; preds = %785, %710
  store i32 0, ptr %31, align 4
  br label %787

787:                                              ; preds = %786, %705
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #8
  br label %788

788:                                              ; preds = %787, %696
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  %789 = load i32, ptr %31, align 4
  switch i32 %789, label %794 [
    i32 0, label %790
  ]

790:                                              ; preds = %788
  br label %793

791:                                              ; preds = %742, %706
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #8
  br label %792

792:                                              ; preds = %791, %692
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #8
  br label %799

793:                                              ; preds = %790, %627
  store i32 0, ptr %31, align 4
  br label %794

794:                                              ; preds = %793, %788, %639, %620
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #8
  br label %795

795:                                              ; preds = %794, %497, %310, %257, %244
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  br label %796

796:                                              ; preds = %795, %217
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  %797 = load i32, ptr %31, align 4
  switch i32 %797, label %804 [
    i32 0, label %798
    i32 2, label %94
  ]

798:                                              ; preds = %796
  br label %94, !llvm.loop !86

799:                                              ; preds = %792, %663, %640, %623, %526
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #8
  br label %800

800:                                              ; preds = %799, %498, %473, %374, %335, %313, %253, %249
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  br label %801

801:                                              ; preds = %800, %245
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  br label %802

802:                                              ; preds = %801, %185, %146, %142
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #8
  br label %806

803:                                              ; preds = %97
  store i32 26, ptr %4, align 4
  store i32 1, ptr %31, align 4
  br label %804

804:                                              ; preds = %803, %796, %117
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  %805 = load i32, ptr %4, align 4
  ret i32 %805

806:                                              ; preds = %802, %110
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #8
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #8
  br label %807

807:                                              ; preds = %806, %106, %102
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #8
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %19) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #8
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %18) #8
  call void @llvm.lifetime.end.p0(i64 24, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %12) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  br label %808

808:                                              ; preds = %807, %78
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  br label %809

809:                                              ; preds = %808
  %810 = load ptr, ptr %10, align 8
  %811 = load i32, ptr %11, align 4
  %812 = insertvalue { ptr, i32 } poison, ptr %810, 0
  %813 = insertvalue { ptr, i32 } %812, i32 %811, 1
  resume { ptr, i32 } %813
}

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

; 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)) #2 align 2

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

declare noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #3

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

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

; Function Attrs: 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) #6

declare noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #3

; 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)) #2 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 nounwind uwtable
declare dso_local noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8)) #1 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40), i1 noundef zeroext) #2 align 2

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

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

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

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) #3

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

; Function Attrs: mustprogress uwtable
declare dso_local { ptr, i8 } @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE7emplaceIJRS5_iEEESA_INSt8__detail14_Node_iteratorISC_Lb0ELb1EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4)) #2 align 2

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) #2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) #1

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

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

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

; 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) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) #7 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !14, i64 28}
!12 = !{!"_ZTSN18free_format_parser6HMpsFFE", !13, i64 0, !10, i64 8, !13, i64 16, !14, i64 24, !14, i64 28, !14, 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, !14, i64 352, !19, i64 360, !19, i64 384, !23, i64 408, !35, i64 432, !14, i64 472, !10, i64 476, !10, i64 477, !15, i64 480, !14, i64 512, !14, i64 516, !15, i64 520, !14, i64 552, !14, i64 556, !10, i64 560, !35, i64 568, !10, 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 = !{!"int", !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, !14, 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 = !{!13, !13, i64 0}
!80 = !{!12, !14, i64 24}
!81 = !{!82, !6, i64 8}
!82 = !{!"_ZTSZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiE3$_0", !6, i64 0, !6, i64 8}
!83 = !{!17, !17, i64 0}
!84 = !{i8 0, i8 2}
!85 = !{}
!86 = distinct !{!86, !87}
!87 = !{!"llvm.loop.mustprogress"}
!88 = !{!89, !89, i64 0}
!89 = !{!"_ZTSN18free_format_parser6HMpsFF8ParsekeyE", !7, i64 0}
!90 = distinct !{!90, !87}
!91 = !{!12, !10, i64 8}
!92 = distinct !{!92, !87}
!93 = !{!94, !10, i64 8}
!94 = !{!"_ZTSSt4pairINSt8__detail14_Node_iteratorIS_IKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEEbE", !95, i64 0, !10, i64 8}
!95 = !{!"_ZTSNSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEE", !96, i64 0}
!96 = !{!"_ZTSNSt8__detail19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEE", !6, i64 0}
!97 = !{!12, !10, i64 477}
!98 = !{!99, !14, i64 32}
!99 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !15, i64 0, !14, i64 32}
!100 = !{!12, !14, i64 552}
!101 = !{!12, !14, i64 556}
!102 = !{!103, !103, i64 0}
!103 = !{!"_ZTS12HighsVarType", !7, i64 0}
!104 = !{!12, !10, i64 608}
!105 = !{!12, !14, i64 32}


; 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::allocator" = type { i8 }
%"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" = 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.anon = type { ptr, ptr }
%"struct.std::pair" = type { i32, double }
%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Tuple_impl.base", %"struct.std::_Head_base.70" }
%"struct.std::_Tuple_impl.base" = type <{ %"struct.std::_Tuple_impl.68", %"struct.std::_Head_base.69" }>
%"struct.std::_Tuple_impl.68" = type { %"struct.std::_Head_base" }
%"struct.std::_Head_base" = type { double }
%"struct.std::_Head_base.69" = type { i32 }
%"struct.std::_Head_base.70" = type { i32 }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }

@.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
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.114 = external hidden unnamed_addr constant [13 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [105 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [21 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress 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 #3

; 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 uwtable
declare dso_local void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24), i64 noundef, ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2 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 #2 align 2

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi(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 #2 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator", align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca i32, align 4
  %9 = alloca i64, align 8
  %10 = alloca i64, align 8
  %11 = alloca %"class.std::vector.3", align 8
  %12 = alloca %"class.std::vector", align 8
  %13 = alloca double, align 8
  %14 = alloca double, align 8
  %15 = alloca %class.anon, align 8
  %16 = alloca i8, align 1
  %17 = alloca %"struct.std::pair", align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca %"class.std::tuple", align 8
  %21 = alloca i32, align 4
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %25 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"struct.std::pair", align 8
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca %"class.std::tuple", align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %34 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %35 = alloca i8, align 1
  %36 = alloca double, align 8
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %39 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %40 = alloca i8, align 1
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::__cxx11::basic_string", align 8
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %45 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %46 = alloca i8, align 1
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #7
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.10, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %48 unwind label %53

48:                                               ; preds = %3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  %49 = getelementptr inbounds i8, ptr %0, i64 28
  %50 = load i32, ptr %49, align 4, !tbaa !5
  %51 = icmp eq i32 %50, 0
  br i1 %51, label %55, label %52

52:                                               ; preds = %48
  call void @__assert_fail(ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.64, i32 noundef 720, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

53:                                               ; preds = %3
  %54 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #7
  br label %476

55:                                               ; preds = %48
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #7
  call void @_ZNSt6vectorIdSaIdEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #7
  call void @_ZNSt6vectorIiSaIiEEC2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  store double 0.000000e+00, ptr %13, align 8, !tbaa !76
  %56 = getelementptr inbounds i8, ptr %0, i64 24
  %57 = load i32, ptr %56, align 8, !tbaa !77
  %58 = sext i32 %57 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  store double 0.000000e+00, ptr %14, align 8, !tbaa !76
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %58, ptr noundef nonnull align 8 dereferenceable(8) %14)
          to label %59 unwind label %87

59:                                               ; preds = %55
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  %60 = load i32, ptr %56, align 8, !tbaa !77
  %61 = sext i32 %60 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %61)
          to label %62 unwind label %89

62:                                               ; preds = %59
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #7
  store ptr %8, ptr %15, align 8, !tbaa !78
  %63 = getelementptr inbounds i8, ptr %15, i64 8
  store ptr %0, ptr %63, align 8, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #7
  %64 = getelementptr inbounds i8, ptr %0, i64 960
  %65 = getelementptr inbounds i8, ptr %0, i64 768
  %66 = getelementptr inbounds i8, ptr %27, i64 8
  %67 = getelementptr inbounds i8, ptr %0, i64 696
  %68 = getelementptr inbounds i8, ptr %0, i64 1016
  %69 = getelementptr inbounds i8, ptr %0, i64 304
  %70 = getelementptr inbounds i8, ptr %0, i64 477
  %71 = getelementptr inbounds i8, ptr %0, i64 520
  %72 = getelementptr inbounds i8, ptr %0, i64 552
  %73 = getelementptr inbounds i8, ptr %0, i64 556
  %74 = getelementptr inbounds i8, ptr %0, i64 328
  %75 = getelementptr inbounds i8, ptr %0, i64 432
  %76 = getelementptr inbounds i8, ptr %0, i64 608
  %77 = getelementptr inbounds i8, ptr %0, i64 184
  %78 = getelementptr inbounds i8, ptr %0, i64 208
  %79 = getelementptr inbounds i8, ptr %0, i64 32
  %80 = getelementptr inbounds i8, ptr %0, i64 616
  br label %.outer.outer

.outer.outer:                                     ; preds = %.outer.outer.backedge, %62
  %.0191.ph.ph = phi i64 [ 1, %62 ], [ %.0191.ph.ph.be, %.outer.outer.backedge ]
  %.0180.ph.ph = phi i64 [ 0, %62 ], [ %.0180.ph.ph.be, %.outer.outer.backedge ]
  %.0169.ph.ph = phi i64 [ 1, %62 ], [ %.0169.ph.ph.be, %.outer.outer.backedge ]
  %.0150.ph.ph = phi i64 [ 0, %62 ], [ %.0150.ph.ph.be, %.outer.outer.backedge ]
  %.0140.ph.ph = phi i64 [ 1, %62 ], [ %.0140.ph.ph.be, %.outer.outer.backedge ]
  %.0133.ph.ph = phi i64 [ 0, %62 ], [ %.0133.ph.ph.be, %.outer.outer.backedge ]
  %.0120.ph.ph = phi i32 [ 0, %62 ], [ %.0120.ph.ph.be, %.outer.outer.backedge ]
  %.0117.ph.ph = phi i8 [ 0, %62 ], [ %.0117.ph, %.outer.outer.backedge ]
  br label %.outer

.outer:                                           ; preds = %.outer.outer, %.thread607
  %.0117.ph = phi i8 [ %163, %.thread607 ], [ %.0117.ph.ph, %.outer.outer ]
  br label %81

81:                                               ; preds = %.outer, %84
  %82 = 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) %6, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %83 unwind label %.loopexit270

83:                                               ; preds = %81
  br i1 %82, label %84, label %.thread240

84:                                               ; preds = %83
  %85 = load i8, ptr %16, align 1, !tbaa !81, !range !82, !noundef !83
  %86 = trunc nuw i8 %85 to i1
  br i1 %86, label %81, label %91, !llvm.loop !84

87:                                               ; preds = %55
  %88 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  br label %475

89:                                               ; preds = %59
  %90 = landingpad { ptr, i32 }
          cleanup
  br label %475

.loopexit270:                                     ; preds = %81
  %lpad.loopexit272 = landingpad { ptr, i32 }
          cleanup
  br label %474

.loopexit.split-lp271:                            ; preds = %91
  %lpad.loopexit.split-lp273 = landingpad { ptr, i32 }
          cleanup
  br label %474

91:                                               ; preds = %84
  %92 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %0)
          to label %93 unwind label %.loopexit.split-lp271

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

94:                                               ; preds = %93
  %95 = 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) %6, ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %96 unwind label %.loopexit264

96:                                               ; preds = %94
  %.not = icmp eq i32 %95, 24
  br i1 %.not, label %144, label %97

97:                                               ; preds = %96
  %98 = load i32, ptr %49, align 4, !tbaa !5
  %.not225 = icmp eq i32 %98, 0
  br i1 %.not225, label %.loopexit, label %99

99:                                               ; preds = %97
  %100 = load double, ptr %13, align 8, !tbaa !76
  %101 = fcmp une double %100, 0.000000e+00
  br i1 %101, label %102, label %112

102:                                              ; preds = %99
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  %103 = add nsw i32 %98, -1
  store i32 %103, ptr %18, align 4, !tbaa !86
  %104 = invoke { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %18, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %105 unwind label %110

105:                                              ; preds = %102
  %106 = extractvalue { i32, double } %104, 0
  store i32 %106, ptr %17, align 8
  %107 = getelementptr inbounds i8, ptr %17, i64 8
  %108 = extractvalue { i32, double } %104, 1
  store double %108, ptr %107, align 8
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %17)
          to label %109 unwind label %110

109:                                              ; preds = %105
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  store double 0.000000e+00, ptr %13, align 8, !tbaa !76
  br label %112

.loopexit264:                                     ; preds = %94
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %474

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

110:                                              ; preds = %105, %102
  %111 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %17) #7
  br label %474

112:                                              ; preds = %109, %99
  %113 = icmp sgt i32 %.0120.ph.ph, 0
  br i1 %113, label %.lr.ph438, label %.loopexit

.lr.ph438:                                        ; preds = %112
  %wide.trip.count604 = zext nneg i32 %.0120.ph.ph to i64
  br label %114

114:                                              ; preds = %.lr.ph438, %128
  %indvars.iv601 = phi i64 [ 0, %.lr.ph438 ], [ %indvars.iv.next602, %128 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #7
  %115 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %indvars.iv601) #7
  %116 = load i32, ptr %115, align 4, !tbaa !86
  store i32 %116, ptr %19, align 4, !tbaa !86
  %117 = sext i32 %116 to i64
  %118 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %117) #7
  %119 = load double, ptr %118, align 8, !tbaa !76
  %120 = fcmp une double %119, 0.000000e+00
  br i1 %120, label %122, label %121

121:                                              ; preds = %114
  call void @__assert_fail(ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.64, i32 noundef 763, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

122:                                              ; preds = %114
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #7
  %123 = load i32, ptr %49, align 4, !tbaa !5
  %124 = add nsw i32 %123, -1
  store i32 %124, ptr %21, align 4, !tbaa !86
  %125 = load i32, ptr %19, align 4, !tbaa !86
  %126 = sext i32 %125 to i64
  %127 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %126) #7
  call void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %20, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 4 dereferenceable(4) %19, ptr noundef nonnull align 8 dereferenceable(8) %127)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(16) %20)
          to label %128 unwind label %132

128:                                              ; preds = %122
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  %129 = load i32, ptr %19, align 4, !tbaa !86
  %130 = sext i32 %129 to i64
  %131 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %130) #7
  store double 0.000000e+00, ptr %131, align 8, !tbaa !76
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  %indvars.iv.next602 = add nuw nsw i64 %indvars.iv601, 1
  %exitcond605.not = icmp eq i64 %indvars.iv.next602, %wide.trip.count604
  br i1 %exitcond605.not, label %.loopexit, label %114, !llvm.loop !87

132:                                              ; preds = %122
  %133 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  br label %474

.loopexit:                                        ; preds = %128, %112, %97
  %134 = icmp ne i64 %.0133.ph.ph, 0
  %135 = icmp ne i64 %.0150.ph.ph, 0
  %or.cond = select i1 %134, i1 true, i1 %135
  %136 = icmp ne i64 %.0180.ph.ph, 0
  %spec.select = select i1 %or.cond, i1 true, i1 %136
  %137 = getelementptr inbounds i8, ptr %0, i64 8
  %138 = zext i1 %spec.select to i8
  store i8 %138, ptr %137, align 8, !tbaa !88
  br i1 %spec.select, label %139, label %143

139:                                              ; preds = %.loopexit
  %140 = trunc i64 %.0133.ph.ph to i32
  %141 = trunc i64 %.0150.ph.ph to i32
  %142 = trunc i64 %.0180.ph.ph to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.116, i32 noundef %140, i32 noundef %141, i32 noundef %142)
          to label %143 unwind label %.loopexit.split-lp

143:                                              ; preds = %139, %.loopexit
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.117)
          to label %.thread240 unwind label %.loopexit.split-lp

144:                                              ; preds = %96
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #7
  %145 = load i64, ptr %10, align 8, !tbaa !89
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %22, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %145)
          to label %146 unwind label %159

146:                                              ; preds = %144
  %147 = load i64, ptr %10, align 8, !tbaa !89
  %148 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %147)
          to label %149 unwind label %.loopexit265.loopexit

149:                                              ; preds = %146
  %150 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.118)
  br i1 %150, label %151, label %164

151:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %148)
          to label %152 unwind label %161

152:                                              ; preds = %151
  %153 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %154 = trunc i8 %.0117.ph to i1
  br i1 %154, label %155, label %.critedge

155:                                              ; preds = %152
  %156 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.119)
  br i1 %156, label %158, label %.thread607

.critedge:                                        ; preds = %152
  %157 = call noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull @.str.120)
  br i1 %157, label %158, label %.thread607

158:                                              ; preds = %.critedge, %155
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.121)
          to label %.thread252 unwind label %.loopexit.split-lp266

159:                                              ; preds = %144
  %160 = landingpad { ptr, i32 }
          cleanup
  br label %473

.loopexit265.loopexit:                            ; preds = %146
  %lpad.loopexit1028 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit265

.loopexit265.loopexit.split-lp:                   ; preds = %287, %284, %235
  %lpad.loopexit.split-lp1029 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit265

.loopexit.split-lp266:                            ; preds = %158, %292, %294
  %lpad.loopexit.split-lp268 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit265

161:                                              ; preds = %151
  %162 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %.loopexit265

.thread607:                                       ; preds = %.critedge, %155
  %163 = xor i8 %.0117.ph, 1
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.outer, !llvm.loop !84

164:                                              ; preds = %149
  %165 = icmp ult i64 %148, 9
  br i1 %165, label %166, label %195

166:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #7
  %167 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %64, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %168 unwind label %181

168:                                              ; preds = %166
  store ptr %167, ptr %24, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %169 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %64) #7
  store ptr %169, ptr %25, align 8
  %170 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %24, ptr noundef nonnull align 8 dereferenceable(8) %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  br i1 %170, label %171, label %193

171:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #7
  invoke void @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6substrEmm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef 0, i64 noundef 10)
          to label %172 unwind label %183

172:                                              ; preds = %171
  %173 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %174 unwind label %185

174:                                              ; preds = %172
  %175 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) %173)
          to label %176 unwind label %185

176:                                              ; preds = %174
  %177 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  %178 = icmp ugt i64 %177, 8
  br i1 %178, label %179, label %187

179:                                              ; preds = %176
  %180 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.122, ptr noundef %180)
          to label %.thread unwind label %185

181:                                              ; preds = %166
  %182 = landingpad { ptr, i32 }
          cleanup
  br label %194

183:                                              ; preds = %171
  %184 = landingpad { ptr, i32 }
          cleanup
  br label %192

185:                                              ; preds = %187, %179, %174, %172
  %186 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  br label %192

187:                                              ; preds = %176
  %188 = getelementptr inbounds i8, ptr %0, i64 8
  store i8 1, ptr %188, align 8, !tbaa !88
  %189 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  %190 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4sizeEv(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  %191 = trunc i64 %190 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.123, ptr noundef %189, i32 noundef %191)
          to label %.thread unwind label %185

.thread:                                          ; preds = %179, %187
  %.1 = phi i32 [ 26, %179 ], [ 28, %187 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %.thread252

192:                                              ; preds = %185, %183
  %.pn = phi { ptr, i32 } [ %186, %185 ], [ %184, %183 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #7
  br label %194

193:                                              ; preds = %168
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %195

194:                                              ; preds = %192, %181
  %.pn.pn = phi { ptr, i32 } [ %.pn, %192 ], [ %182, %181 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #7
  br label %.loopexit265

195:                                              ; preds = %193, %164
  %196 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br i1 %196, label %280, label %197

197:                                              ; preds = %195
  %198 = load i32, ptr %49, align 4, !tbaa !5
  %.not211 = icmp eq i32 %198, 0
  %.pre606 = load double, ptr %13, align 8, !tbaa !76
  br i1 %.not211, label %.loopexit263, label %199

199:                                              ; preds = %197
  %200 = fcmp une double %.pre606, 0.000000e+00
  br i1 %200, label %201, label %210

201:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7
  %202 = add nsw i32 %198, -1
  store i32 %202, ptr %28, align 4, !tbaa !86
  %203 = invoke { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4) %28, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %204 unwind label %208

204:                                              ; preds = %201
  %205 = extractvalue { i32, double } %203, 0
  store i32 %205, ptr %27, align 8
  %206 = extractvalue { i32, double } %203, 1
  store double %206, ptr %66, align 8
  invoke void @_ZNSt6vectorISt4pairIidESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %65, ptr noundef nonnull align 8 dereferenceable(16) %27)
          to label %207 unwind label %208

207:                                              ; preds = %204
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #7
  store double 0.000000e+00, ptr %13, align 8, !tbaa !76
  br label %210

208:                                              ; preds = %204, %201
  %209 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %27) #7
  br label %.loopexit265

210:                                              ; preds = %207, %199
  %211 = phi double [ 0.000000e+00, %207 ], [ %.pre606, %199 ]
  %212 = icmp sgt i32 %.0120.ph.ph, 0
  br i1 %212, label %.lr.ph.preheader, label %.loopexit263

.lr.ph.preheader:                                 ; preds = %210
  %wide.trip.count = zext nneg i32 %.0120.ph.ph to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %226
  %indvars.iv = phi i64 [ 0, %.lr.ph.preheader ], [ %indvars.iv.next, %226 ]
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  %213 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %indvars.iv) #7
  %214 = load i32, ptr %213, align 4, !tbaa !86
  store i32 %214, ptr %29, align 4, !tbaa !86
  %215 = sext i32 %214 to i64
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %215) #7
  %217 = load double, ptr %216, align 8, !tbaa !76
  %218 = fcmp une double %217, 0.000000e+00
  br i1 %218, label %220, label %219

219:                                              ; preds = %.lr.ph
  call void @__assert_fail(ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.64, i32 noundef 851, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

220:                                              ; preds = %.lr.ph
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #7
  %221 = load i32, ptr %49, align 4, !tbaa !5
  %222 = add nsw i32 %221, -1
  store i32 %222, ptr %31, align 4, !tbaa !86
  %223 = load i32, ptr %29, align 4, !tbaa !86
  %224 = sext i32 %223 to i64
  %225 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %224) #7
  call void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %30, ptr noundef nonnull align 4 dereferenceable(4) %31, ptr noundef nonnull align 4 dereferenceable(4) %29, ptr noundef nonnull align 8 dereferenceable(8) %225)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %67, ptr noundef nonnull align 8 dereferenceable(16) %30)
          to label %226 unwind label %230

226:                                              ; preds = %220
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #7
  %227 = load i32, ptr %29, align 4, !tbaa !86
  %228 = sext i32 %227 to i64
  %229 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %228) #7
  store double 0.000000e+00, ptr %229, align 8, !tbaa !76
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %.loopexit263.loopexit, label %.lr.ph, !llvm.loop !90

230:                                              ; preds = %220
  %231 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  br label %.loopexit265

.loopexit263.loopexit:                            ; preds = %226
  %.pre = load double, ptr %13, align 8, !tbaa !76
  br label %.loopexit263

.loopexit263:                                     ; preds = %.loopexit263.loopexit, %210, %197
  %232 = phi double [ %.pre606, %197 ], [ %211, %210 ], [ %.pre, %.loopexit263.loopexit ]
  %.2122 = phi i32 [ %.0120.ph.ph, %197 ], [ 0, %210 ], [ 0, %.loopexit263.loopexit ]
  %233 = fcmp oeq double %232, 0.000000e+00
  br i1 %233, label %235, label %234

234:                                              ; preds = %.loopexit263
  call void @__assert_fail(ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.64, i32 noundef 858, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

235:                                              ; preds = %.loopexit263
  %236 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(32) %7)
          to label %237 unwind label %.loopexit265.loopexit.split-lp

237:                                              ; preds = %235
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #7
  %238 = load i32, ptr %49, align 4, !tbaa !5
  %239 = add nsw i32 %238, 1
  store i32 %239, ptr %49, align 4, !tbaa !5
  store i32 %238, ptr %32, align 4, !tbaa !86
  %240 = invoke { ptr, i8 } @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE7emplaceIJRS5_iEEESA_INSt8__detail14_Node_iteratorISC_Lb0ELb1EEEbEDpOT_(ptr noundef nonnull align 8 dereferenceable(56) %68, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 4 dereferenceable(4) %32)
          to label %241 unwind label %253

241:                                              ; preds = %237
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE9push_backERKS5_(ptr noundef nonnull align 8 dereferenceable(24) %69, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %242 unwind label %255

242:                                              ; preds = %241
  %.fca.1.extract = extractvalue { ptr, i8 } %240, 1
  %243 = trunc i8 %.fca.1.extract to i1
  br i1 %243, label %267, label %244

244:                                              ; preds = %242
  %245 = load i8, ptr %70, align 1, !tbaa !91, !range !82, !noundef !83
  %246 = trunc nuw i8 %245 to i1
  br i1 %246, label %267, label %247

247:                                              ; preds = %244
  store i8 1, ptr %70, align 1, !tbaa !91
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #7
  %248 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %68, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %249 unwind label %257

249:                                              ; preds = %247
  store ptr %248, ptr %33, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #7
  %250 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %68) #7
  store ptr %250, ptr %34, align 8
  %251 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %33, ptr noundef nonnull align 8 dereferenceable(8) %34) #7
  br i1 %251, label %259, label %252

252:                                              ; preds = %249
  call void @__assert_fail(ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.64, i32 noundef 868, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

253:                                              ; preds = %237
  %254 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  br label %.loopexit265

255:                                              ; preds = %275, %269, %241
  %256 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit265

257:                                              ; preds = %259, %247
  %258 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %.loopexit265

259:                                              ; preds = %249
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #7
  %260 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %4)
          to label %261 unwind label %257

261:                                              ; preds = %259
  %262 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %33) #7
  %263 = getelementptr inbounds i8, ptr %262, i64 32
  %264 = load i32, ptr %263, align 8, !tbaa !92
  store i32 %264, ptr %72, align 8, !tbaa !94
  %265 = load i32, ptr %49, align 4, !tbaa !5
  %266 = add nsw i32 %265, -1
  store i32 %266, ptr %73, align 4, !tbaa !95
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #7
  br label %267

267:                                              ; preds = %244, %261, %242
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %35) #7
  %268 = and i8 %.0117.ph, 1
  store i8 %268, ptr %35, align 1, !tbaa !96
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE9push_backEOS0_(ptr noundef nonnull align 8 dereferenceable(24) %74, ptr noundef nonnull align 1 dereferenceable(1) %35)
          to label %269 unwind label %276

269:                                              ; preds = %267
  %270 = trunc i8 %.0117.ph to i1
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  %271 = load i8, ptr %76, align 8, !range !82
  %272 = trunc nuw i8 %271 to i1
  %273 = select i1 %270, i1 %272, i1 false
  invoke void @_ZNSt6vectorIbSaIbEE9push_backEb(ptr noundef nonnull align 8 dereferenceable(40) %75, i1 noundef zeroext %273)
          to label %274 unwind label %255

274:                                              ; preds = %269
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #7
  store double 0.000000e+00, ptr %36, align 8, !tbaa !76
  invoke void @_ZNSt6vectorIdSaIdEE9push_backEOd(ptr noundef nonnull align 8 dereferenceable(24) %77, ptr noundef nonnull align 8 dereferenceable(8) %36)
          to label %275 unwind label %278

275:                                              ; preds = %274
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  invoke void @_ZNSt6vectorIdSaIdEE9push_backERKd(ptr noundef nonnull align 8 dereferenceable(24) %78, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %280 unwind label %255

276:                                              ; preds = %267
  %277 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %35) #7
  br label %.loopexit265

278:                                              ; preds = %274
  %279 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #7
  br label %.loopexit265

280:                                              ; preds = %275, %195
  %.3123 = phi i32 [ %.0120.ph.ph, %195 ], [ %.2122, %275 ]
  %281 = load i32, ptr %49, align 4, !tbaa !5
  %282 = icmp sgt i32 %281, 0
  br i1 %282, label %284, label %283

283:                                              ; preds = %280
  call void @__assert_fail(ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.64, i32 noundef 887, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

284:                                              ; preds = %280
  %285 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.10)
          to label %286 unwind label %.loopexit265.loopexit.split-lp

286:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %37) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %148)
          to label %287 unwind label %296

287:                                              ; preds = %286
  %288 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  %289 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %148)
          to label %290 unwind label %.loopexit265.loopexit.split-lp

290:                                              ; preds = %287
  store i64 %289, ptr %10, align 8, !tbaa !89
  %291 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.10)
  br i1 %291, label %292, label %298

292:                                              ; preds = %290
  %293 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %294 unwind label %.loopexit.split-lp266

294:                                              ; preds = %292
  %295 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.127, ptr noundef %295)
          to label %.thread252 unwind label %.loopexit.split-lp266

296:                                              ; preds = %286
  %297 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %37) #7
  br label %.loopexit265

298:                                              ; preds = %290
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #7
  %299 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %64, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %300 unwind label %.loopexit662

300:                                              ; preds = %298
  store ptr %299, ptr %38, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #7
  %301 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %64) #7
  store ptr %301, ptr %39, align 8
  %302 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %38, ptr noundef nonnull align 8 dereferenceable(8) %39) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #7
  br i1 %302, label %303, label %311

303:                                              ; preds = %300
  %304 = add i64 %.0133.ph.ph, 1
  %305 = urem i64 %304, %.0140.ph.ph
  %306 = icmp eq i64 %305, 0
  br i1 %306, label %307, label %368

307:                                              ; preds = %303
  %308 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.128, ptr noundef %308)
          to label %309 unwind label %.loopexit662

309:                                              ; preds = %307
  %310 = shl i64 %.0140.ph.ph, 1
  br label %368

.loopexit662:                                     ; preds = %298, %307, %368, %383, %386, %390, %393
  %lpad.loopexit664 = landingpad { ptr, i32 }
          cleanup
  br label %472

.loopexit.split-lp663:                            ; preds = %377, %379
  %lpad.loopexit.split-lp665 = landingpad { ptr, i32 }
          cleanup
  br label %472

311:                                              ; preds = %300
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #7
  store i8 0, ptr %40, align 1, !tbaa !81
  %312 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 1 dereferenceable(1) %40, i32 noundef -1)
          to label %313 unwind label %.loopexit666

313:                                              ; preds = %311
  %314 = load i8, ptr %40, align 1, !tbaa !81, !range !82, !noundef !83
  %315 = trunc nuw i8 %314 to i1
  br i1 %315, label %316, label %318

316:                                              ; preds = %313
  %317 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.129, ptr noundef %317)
          to label %366 unwind label %.loopexit.split-lp667

.loopexit666:                                     ; preds = %311, %320, %336, %360
  %lpad.loopexit668 = landingpad { ptr, i32 }
          cleanup
  br label %367

.loopexit.split-lp667:                            ; preds = %316
  %lpad.loopexit.split-lp669 = landingpad { ptr, i32 }
          cleanup
  br label %367

318:                                              ; preds = %313
  %319 = fcmp une double %312, 0.000000e+00
  br i1 %319, label %320, label %.thread233

320:                                              ; preds = %318
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %321 unwind label %.loopexit666

321:                                              ; preds = %320
  invoke void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull %41)
          to label %322 unwind label %341

322:                                              ; preds = %321
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  %323 = load i32, ptr %8, align 4, !tbaa !86
  %324 = icmp sgt i32 %323, -1
  br i1 %324, label %325, label %351

325:                                              ; preds = %322
  %326 = zext nneg i32 %323 to i64
  %327 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %326) #7
  %328 = load double, ptr %327, align 8, !tbaa !76
  %329 = fcmp une double %328, 0.000000e+00
  br i1 %329, label %330, label %343

330:                                              ; preds = %325
  %331 = load i32, ptr %79, align 8, !tbaa !98
  %332 = add nsw i32 %331, -1
  store i32 %332, ptr %79, align 8, !tbaa !98
  %333 = add i64 %.0180.ph.ph, 1
  %334 = urem i64 %333, %.0169.ph.ph
  %335 = icmp eq i64 %334, 0
  br i1 %335, label %336, label %.thread233

336:                                              ; preds = %330
  %337 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %338 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.130, ptr noundef %337, double noundef %312, ptr noundef %338)
          to label %339 unwind label %.loopexit666

339:                                              ; preds = %336
  %340 = shl i64 %.0169.ph.ph, 1
  br label %.thread233

341:                                              ; preds = %321
  %342 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #7
  br label %367

343:                                              ; preds = %325
  %344 = load i32, ptr %8, align 4, !tbaa !86
  %345 = sext i32 %344 to i64
  %346 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %345) #7
  store double %312, ptr %346, align 8, !tbaa !76
  %347 = load i32, ptr %8, align 4, !tbaa !86
  %348 = add nsw i32 %.3123, 1
  %349 = sext i32 %.3123 to i64
  %350 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %349) #7
  store i32 %347, ptr %350, align 4, !tbaa !86
  br label %.thread233

351:                                              ; preds = %322
  %352 = icmp eq i32 %323, -1
  br i1 %352, label %353, label %.thread233

353:                                              ; preds = %351
  %354 = load double, ptr %13, align 8, !tbaa !76
  %355 = fcmp une double %354, 0.000000e+00
  br i1 %355, label %356, label %365

356:                                              ; preds = %353
  %357 = add i64 %.0150.ph.ph, 1
  %358 = urem i64 %357, %.0191.ph.ph
  %359 = icmp eq i64 %358, 0
  br i1 %359, label %360, label %.thread233

360:                                              ; preds = %356
  %361 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %362 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.131, ptr noundef %361, double noundef %312, ptr noundef %362)
          to label %363 unwind label %.loopexit666

363:                                              ; preds = %360
  %364 = shl i64 %.0191.ph.ph, 1
  br label %.thread233

365:                                              ; preds = %353
  store double %312, ptr %13, align 8, !tbaa !76
  br label %.thread233

.thread233:                                       ; preds = %318, %351, %356, %363, %365, %343, %339, %330
  %.2193.ph = phi i64 [ %.0191.ph.ph, %318 ], [ %.0191.ph.ph, %351 ], [ %.0191.ph.ph, %365 ], [ %.0191.ph.ph, %356 ], [ %364, %363 ], [ %.0191.ph.ph, %343 ], [ %.0191.ph.ph, %330 ], [ %.0191.ph.ph, %339 ]
  %.2182.ph = phi i64 [ %.0180.ph.ph, %318 ], [ %.0180.ph.ph, %351 ], [ %.0180.ph.ph, %365 ], [ %.0180.ph.ph, %356 ], [ %.0180.ph.ph, %363 ], [ %.0180.ph.ph, %343 ], [ %333, %330 ], [ %333, %339 ]
  %.2171.ph = phi i64 [ %.0169.ph.ph, %318 ], [ %.0169.ph.ph, %351 ], [ %.0169.ph.ph, %365 ], [ %.0169.ph.ph, %356 ], [ %.0169.ph.ph, %363 ], [ %.0169.ph.ph, %343 ], [ %.0169.ph.ph, %330 ], [ %340, %339 ]
  %.2152.ph = phi i64 [ %.0150.ph.ph, %318 ], [ %.0150.ph.ph, %351 ], [ %.0150.ph.ph, %365 ], [ %357, %356 ], [ %357, %363 ], [ %.0150.ph.ph, %343 ], [ %.0150.ph.ph, %330 ], [ %.0150.ph.ph, %339 ]
  %.5125.ph = phi i32 [ %.3123, %318 ], [ %.3123, %351 ], [ %.3123, %365 ], [ %.3123, %356 ], [ %.3123, %363 ], [ %348, %343 ], [ %.3123, %330 ], [ %.3123, %339 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %368

366:                                              ; preds = %316
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %.thread625

367:                                              ; preds = %.loopexit666, %.loopexit.split-lp667, %341
  %.pn214 = phi { ptr, i32 } [ %342, %341 ], [ %lpad.loopexit668, %.loopexit666 ], [ %lpad.loopexit.split-lp669, %.loopexit.split-lp667 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #7
  br label %472

368:                                              ; preds = %.thread233, %303, %309
  %.3194 = phi i64 [ %.0191.ph.ph, %309 ], [ %.0191.ph.ph, %303 ], [ %.2193.ph, %.thread233 ]
  %.3183 = phi i64 [ %.0180.ph.ph, %309 ], [ %.0180.ph.ph, %303 ], [ %.2182.ph, %.thread233 ]
  %.3172 = phi i64 [ %.0169.ph.ph, %309 ], [ %.0169.ph.ph, %303 ], [ %.2171.ph, %.thread233 ]
  %.3153 = phi i64 [ %.0150.ph.ph, %309 ], [ %.0150.ph.ph, %303 ], [ %.2152.ph, %.thread233 ]
  %.1141 = phi i64 [ %310, %309 ], [ %.0140.ph.ph, %303 ], [ %.0140.ph.ph, %.thread233 ]
  %.1134 = phi i64 [ %304, %309 ], [ %304, %303 ], [ %.0133.ph.ph, %.thread233 ]
  %.6126 = phi i32 [ %.3123, %309 ], [ %.3123, %303 ], [ %.5125.ph, %.thread233 ]
  %369 = load i64, ptr %10, align 8, !tbaa !89
  %370 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %369, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %371 unwind label %.loopexit662

371:                                              ; preds = %368
  br i1 %370, label %.thread634, label %372

.thread634:                                       ; preds = %371
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.outer.outer.backedge

.outer.outer.backedge:                            ; preds = %.thread634, %.thread644, %.thread654
  %.0191.ph.ph.be = phi i64 [ %.5196.ph, %.thread654 ], [ %.3194, %.thread644 ], [ %.3194, %.thread634 ]
  %.0180.ph.ph.be = phi i64 [ %.5185.ph, %.thread654 ], [ %.3183, %.thread644 ], [ %.3183, %.thread634 ]
  %.0169.ph.ph.be = phi i64 [ %.5174.ph, %.thread654 ], [ %.3172, %.thread644 ], [ %.3172, %.thread634 ]
  %.0150.ph.ph.be = phi i64 [ %.5155.ph, %.thread654 ], [ %.3153, %.thread644 ], [ %.3153, %.thread634 ]
  %.0140.ph.ph.be = phi i64 [ %.1141, %.thread654 ], [ %.3143.ph, %.thread644 ], [ %.1141, %.thread634 ]
  %.0133.ph.ph.be = phi i64 [ %.1134, %.thread654 ], [ %405, %.thread644 ], [ %.1134, %.thread634 ]
  %.0120.ph.ph.be = phi i32 [ %.8128.ph, %.thread654 ], [ %.6126, %.thread644 ], [ %.6126, %.thread634 ]
  br label %.outer.outer, !llvm.loop !84

372:                                              ; preds = %371
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %42) #7
  %373 = load i64, ptr %10, align 8, !tbaa !89
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %42, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %373)
          to label %374 unwind label %381

374:                                              ; preds = %372
  %375 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %42) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  %376 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.10)
  br i1 %376, label %377, label %383

377:                                              ; preds = %374
  %378 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %22, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %379 unwind label %.loopexit.split-lp663

379:                                              ; preds = %377
  %380 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.127, ptr noundef %380)
          to label %.thread625 unwind label %.loopexit.split-lp663

381:                                              ; preds = %372
  %382 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %42) #7
  br label %472

383:                                              ; preds = %374
  %384 = load i64, ptr %10, align 8, !tbaa !89
  %385 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %384)
          to label %386 unwind label %.loopexit662

386:                                              ; preds = %383
  %387 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.10)
          to label %388 unwind label %.loopexit662

388:                                              ; preds = %386
  %389 = add i64 %385, 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %43) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %389)
          to label %390 unwind label %397

390:                                              ; preds = %388
  %391 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  %392 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %389)
          to label %393 unwind label %.loopexit662

393:                                              ; preds = %390
  store i64 %392, ptr %10, align 8, !tbaa !89
  %394 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, i64 noundef %392, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %395 unwind label %.loopexit662

395:                                              ; preds = %393
  br i1 %394, label %399, label %396

396:                                              ; preds = %395
  call void @__assert_fail(ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.64, i32 noundef 977, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSi) #8
  unreachable

397:                                              ; preds = %388
  %398 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %43) #7
  br label %472

399:                                              ; preds = %395
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #7
  %400 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %64, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %401 unwind label %412

401:                                              ; preds = %399
  store ptr %400, ptr %44, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #7
  %402 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %64) #7
  store ptr %402, ptr %45, align 8
  %403 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %44, ptr noundef nonnull align 8 dereferenceable(8) %45) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #7
  br i1 %403, label %404, label %414

404:                                              ; preds = %401
  %405 = add i64 %.1134, 1
  %406 = urem i64 %405, %.1141
  %407 = icmp eq i64 %406, 0
  br i1 %407, label %408, label %.thread644, !llvm.loop !84

408:                                              ; preds = %404
  %409 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.128, ptr noundef %409)
          to label %410 unwind label %412

410:                                              ; preds = %408
  %411 = shl i64 %.1141, 1
  br label %.thread644, !llvm.loop !84

412:                                              ; preds = %408, %399
  %413 = landingpad { ptr, i32 }
          cleanup
  br label %470

414:                                              ; preds = %401
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %46) #7
  store i8 0, ptr %46, align 1, !tbaa !81
  %415 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 1 dereferenceable(1) %46, i32 noundef -1)
          to label %416 unwind label %.loopexit671

416:                                              ; preds = %414
  %417 = load i8, ptr %46, align 1, !tbaa !81, !range !82, !noundef !83
  %418 = trunc nuw i8 %417 to i1
  br i1 %418, label %419, label %421

419:                                              ; preds = %416
  %420 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.129, ptr noundef %420)
          to label %471 unwind label %.loopexit.split-lp672

.loopexit671:                                     ; preds = %414, %423, %439, %463
  %lpad.loopexit673 = landingpad { ptr, i32 }
          cleanup
  br label %469

.loopexit.split-lp672:                            ; preds = %419
  %lpad.loopexit.split-lp674 = landingpad { ptr, i32 }
          cleanup
  br label %469

421:                                              ; preds = %416
  %422 = fcmp une double %415, 0.000000e+00
  br i1 %422, label %423, label %.thread654

423:                                              ; preds = %421
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2ERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(32) %22)
          to label %424 unwind label %.loopexit671

424:                                              ; preds = %423
  invoke void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16) %15, ptr noundef nonnull %47)
          to label %425 unwind label %444

425:                                              ; preds = %424
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  %426 = load i32, ptr %8, align 4, !tbaa !86
  %427 = icmp sgt i32 %426, -1
  br i1 %427, label %428, label %454

428:                                              ; preds = %425
  %429 = zext nneg i32 %426 to i64
  %430 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %429) #7
  %431 = load double, ptr %430, align 8, !tbaa !76
  %432 = fcmp une double %431, 0.000000e+00
  br i1 %432, label %433, label %446

433:                                              ; preds = %428
  %434 = load i32, ptr %79, align 8, !tbaa !98
  %435 = add nsw i32 %434, -1
  store i32 %435, ptr %79, align 8, !tbaa !98
  %436 = add i64 %.3183, 1
  %437 = urem i64 %436, %.3172
  %438 = icmp eq i64 %437, 0
  br i1 %438, label %439, label %.thread654

439:                                              ; preds = %433
  %440 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %441 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.130, ptr noundef %440, double noundef %415, ptr noundef %441)
          to label %442 unwind label %.loopexit671

442:                                              ; preds = %439
  %443 = shl i64 %.3172, 1
  br label %.thread654

444:                                              ; preds = %424
  %445 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #7
  br label %469

446:                                              ; preds = %428
  %447 = load i32, ptr %8, align 4, !tbaa !86
  %448 = sext i32 %447 to i64
  %449 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %11, i64 noundef %448) #7
  store double %415, ptr %449, align 8, !tbaa !76
  %450 = load i32, ptr %8, align 4, !tbaa !86
  %451 = add nsw i32 %.6126, 1
  %452 = sext i32 %.6126 to i64
  %453 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %12, i64 noundef %452) #7
  store i32 %450, ptr %453, align 4, !tbaa !86
  br label %.thread654

454:                                              ; preds = %425
  %455 = icmp eq i32 %426, -1
  br i1 %455, label %456, label %.thread654

456:                                              ; preds = %454
  %457 = load double, ptr %13, align 8, !tbaa !76
  %458 = fcmp une double %457, 0.000000e+00
  br i1 %458, label %459, label %468

459:                                              ; preds = %456
  %460 = add i64 %.3153, 1
  %461 = urem i64 %460, %.3194
  %462 = icmp eq i64 %461, 0
  br i1 %462, label %463, label %.thread654

463:                                              ; preds = %459
  %464 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  %465 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %80) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.131, ptr noundef %464, double noundef %415, ptr noundef %465)
          to label %466 unwind label %.loopexit671

466:                                              ; preds = %463
  %467 = shl i64 %.3194, 1
  br label %.thread654

468:                                              ; preds = %456
  store double %415, ptr %13, align 8, !tbaa !76
  br label %.thread654

469:                                              ; preds = %.loopexit671, %.loopexit.split-lp672, %444
  %.pn216 = phi { ptr, i32 } [ %445, %444 ], [ %lpad.loopexit673, %.loopexit671 ], [ %lpad.loopexit.split-lp674, %.loopexit.split-lp672 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  br label %470

470:                                              ; preds = %469, %412
  %.pn218 = phi { ptr, i32 } [ %413, %412 ], [ %.pn216, %469 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  br label %472

.thread252:                                       ; preds = %158, %294, %.thread
  %.10.ph = phi i32 [ %.1, %.thread ], [ 26, %294 ], [ 26, %158 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.thread240

.thread625:                                       ; preds = %366, %379
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.thread240

.thread644:                                       ; preds = %410, %404
  %.3143.ph = phi i64 [ %.1141, %404 ], [ %411, %410 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.outer.outer.backedge

.thread654:                                       ; preds = %442, %433, %446, %466, %459, %468, %454, %421
  %.5196.ph = phi i64 [ %.3194, %421 ], [ %.3194, %454 ], [ %.3194, %468 ], [ %.3194, %459 ], [ %467, %466 ], [ %.3194, %446 ], [ %.3194, %433 ], [ %.3194, %442 ]
  %.5185.ph = phi i64 [ %.3183, %421 ], [ %.3183, %454 ], [ %.3183, %468 ], [ %.3183, %459 ], [ %.3183, %466 ], [ %.3183, %446 ], [ %436, %433 ], [ %436, %442 ]
  %.5174.ph = phi i64 [ %.3172, %421 ], [ %.3172, %454 ], [ %.3172, %468 ], [ %.3172, %459 ], [ %.3172, %466 ], [ %.3172, %446 ], [ %.3172, %433 ], [ %443, %442 ]
  %.5155.ph = phi i64 [ %.3153, %421 ], [ %.3153, %454 ], [ %.3153, %468 ], [ %460, %459 ], [ %460, %466 ], [ %.3153, %446 ], [ %.3153, %433 ], [ %.3153, %442 ]
  %.8128.ph = phi i32 [ %.6126, %421 ], [ %.6126, %454 ], [ %.6126, %468 ], [ %.6126, %459 ], [ %.6126, %466 ], [ %451, %446 ], [ %.6126, %433 ], [ %.6126, %442 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.outer.outer.backedge

471:                                              ; preds = %419
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %.thread240

472:                                              ; preds = %.loopexit662, %.loopexit.split-lp663, %470, %397, %381, %367
  %.pn220 = phi { ptr, i32 } [ %.pn218, %470 ], [ %398, %397 ], [ %382, %381 ], [ %.pn214, %367 ], [ %lpad.loopexit664, %.loopexit662 ], [ %lpad.loopexit.split-lp665, %.loopexit.split-lp663 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #7
  br label %.loopexit265

.loopexit265:                                     ; preds = %.loopexit265.loopexit, %.loopexit265.loopexit.split-lp, %.loopexit.split-lp266, %253, %255, %257, %276, %278, %472, %296, %230, %208, %194, %161
  %.pn222 = phi { ptr, i32 } [ %162, %161 ], [ %.pn220, %472 ], [ %297, %296 ], [ %231, %230 ], [ %209, %208 ], [ %.pn.pn, %194 ], [ %256, %255 ], [ %279, %278 ], [ %277, %276 ], [ %258, %257 ], [ %254, %253 ], [ %lpad.loopexit.split-lp268, %.loopexit.split-lp266 ], [ %lpad.loopexit1028, %.loopexit265.loopexit ], [ %lpad.loopexit.split-lp1029, %.loopexit265.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #7
  br label %473

473:                                              ; preds = %.loopexit265, %159
  %.pn222.pn = phi { ptr, i32 } [ %.pn222, %.loopexit265 ], [ %160, %159 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #7
  br label %474

.thread240:                                       ; preds = %93, %83, %.thread625, %471, %143, %.thread252
  %.12 = phi i32 [ %.10.ph, %.thread252 ], [ %95, %143 ], [ 26, %471 ], [ 26, %.thread625 ], [ 26, %83 ], [ 29, %93 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  ret i32 %.12

474:                                              ; preds = %.loopexit264, %.loopexit.split-lp, %.loopexit270, %.loopexit.split-lp271, %110, %132, %473
  %.pn226.pn = phi { ptr, i32 } [ %133, %132 ], [ %111, %110 ], [ %.pn222.pn, %473 ], [ %lpad.loopexit272, %.loopexit270 ], [ %lpad.loopexit.split-lp273, %.loopexit.split-lp271 ], [ %lpad.loopexit, %.loopexit264 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #7
  br label %475

475:                                              ; preds = %474, %89, %87
  %.pn226.pn.pn = phi { ptr, i32 } [ %.pn226.pn, %474 ], [ %90, %89 ], [ %88, %87 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  call void @_ZNSt6vectorIiSaIiEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #7
  call void @_ZNSt6vectorIdSaIdEED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %11) #7
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  br label %476

476:                                              ; preds = %475, %53
  %.pn226.pn.pn.pn = phi { ptr, i32 } [ %.pn226.pn.pn, %475 ], [ %54, %53 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  resume { ptr, i32 } %.pn226.pn.pn.pn
}

; 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 #2 align 2

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

declare noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #3

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

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

; Function Attrs: 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

declare noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3

; 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 #2 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 nounwind uwtable
declare dso_local noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1 align 2

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

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

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

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

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

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 #3

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

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

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

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

; Function Attrs: mustprogress uwtable
declare dso_local { i32, double } @_ZSt9make_pairIiRdESt4pairINSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeENS2_INS3_IT0_E4typeEE6__typeEEOS4_OS9_(ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #2

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJiRKiRdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS6_(ptr dead_on_unwind noalias writable sret(%"class.std::tuple") align 8, ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 8 dereferenceable(8)) local_unnamed_addr #1

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

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZNSt8__detaileqERKNS_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: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #5

; 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 #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiENK3$_0clENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef) local_unnamed_addr #6 align 2

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !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 = !{!7, !7, i64 0}
!77 = !{!6, !11, i64 24}
!78 = !{!14, !14, i64 0}
!79 = !{!80, !14, i64 8}
!80 = !{!"_ZTSZN18free_format_parser6HMpsFF9parseColsERK15HighsLogOptionsRSiE3$_0", !14, i64 0, !14, i64 8}
!81 = !{!10, !10, i64 0}
!82 = !{i8 0, i8 2}
!83 = !{}
!84 = distinct !{!84, !85}
!85 = !{!"llvm.loop.mustprogress"}
!86 = !{!11, !11, i64 0}
!87 = distinct !{!87, !85}
!88 = !{!6, !10, i64 8}
!89 = !{!15, !15, i64 0}
!90 = distinct !{!90, !85}
!91 = !{!6, !10, i64 477}
!92 = !{!93, !11, i64 32}
!93 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !12, i64 0, !11, i64 32}
!94 = !{!6, !11, i64 552}
!95 = !{!6, !11, i64 556}
!96 = !{!97, !97, i64 0}
!97 = !{!"_ZTS12HighsVarType", !8, i64 0}
!98 = !{!6, !11, i64 32}


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