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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"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 }
%"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" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl" = type { %"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" }
%"struct.std::_Vector_base<int, std::allocator<int>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.27" = type { %"struct.std::_Vector_base.28" }
%"struct.std::_Vector_base.28" = type { %"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::tuple<int, int, double>, std::allocator<std::tuple<int, int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.32" = type { %"struct.std::_Vector_base.33" }
%"struct.std::_Vector_base.33" = type { %"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::tuple<int, int, double>>, std::allocator<std::vector<std::tuple<int, int, double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.37" = type { %"struct.std::_Vector_base.38" }
%"struct.std::_Vector_base.38" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::pair<int, double>, std::allocator<std::pair<int, double>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.42" = type { %"struct.std::_Vector_base.43" }
%"struct.std::_Vector_base.43" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl" = type { %"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" }
%"struct.std::_Vector_base<short, std::allocator<short>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.47" = type { %"struct.std::_Vector_base.48" }
%"struct.std::_Vector_base.48" = type { %"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<std::pair<int, double>>, std::allocator<std::vector<std::pair<int, double>>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.8" = type { %"struct.std::_Vector_base.9" }
%"struct.std::_Vector_base.9" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<char>, std::allocator<std::__cxx11::basic_string<char>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.52" = type { %"struct.std::_Vector_base.53" }
%"struct.std::_Vector_base.53" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl" = type { %"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<free_format_parser::HMpsFF::ConeType, std::allocator<free_format_parser::HMpsFF::ConeType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.3" = type { %"struct.std::_Vector_base.4" }
%"struct.std::_Vector_base.4" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::vector.57" = type { %"struct.std::_Vector_base.58" }
%"struct.std::_Vector_base.58" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::vector<int>, std::allocator<std::vector<int>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%"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
@.str.75 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [13 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE = external hidden unnamed_addr constant [133 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [34 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2, i32 noundef %3) #3 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca i32, align 4
  %10 = alloca i8, align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca i64, align 8
  %19 = alloca i64, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca i32, align 4
  %25 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %26 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %27 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %28 = alloca i8, align 1
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca ptr, align 8
  %33 = alloca i8, align 1
  %34 = alloca i64, align 8
  %35 = alloca i64, align 8
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca i8, align 1
  %41 = alloca double, align 8
  %42 = alloca %"class.std::tuple", align 8
  %43 = alloca %"class.std::tuple", align 8
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store ptr %2, ptr %8, align 8, !tbaa !5
  store i32 %3, ptr %9, align 4, !tbaa !9
  %44 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #6
  %45 = load i32, ptr %9, align 4, !tbaa !9
  %46 = icmp eq i32 %45, 12
  %47 = zext i1 %46 to i8
  store i8 %47, ptr %10, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 32, ptr %11) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  %48 = load i8, ptr %10, align 1, !tbaa !11, !range !13, !noundef !14
  %49 = trunc i8 %48 to i1
  br i1 %49, label %50, label %57

50:                                               ; preds = %4
  %51 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.75)
          to label %52 unwind label %53

52:                                               ; preds = %50
  br label %60

53:                                               ; preds = %57, %50
  %54 = landingpad { ptr, i32 }
          cleanup
  %55 = extractvalue { ptr, i32 } %54, 0
  store ptr %55, ptr %12, align 8
  %56 = extractvalue { ptr, i32 } %54, 1
  store i32 %56, ptr %13, align 4
  br label %384

57:                                               ; preds = %4
  %58 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.76)
          to label %59 unwind label %53

59:                                               ; preds = %57
  br label %60

60:                                               ; preds = %59, %52
  call void @llvm.lifetime.start.p0(i64 32, ptr %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #6
  %61 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 53
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %61, i64 noundef 0)
          to label %62 unwind label %68

62:                                               ; preds = %60
  %63 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br i1 %63, label %64, label %76

64:                                               ; preds = %62
  %65 = load ptr, ptr %7, align 8, !tbaa !5
  %66 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %65, i32 noundef 5, ptr noundef @.str.186, ptr noundef %66)
          to label %67 unwind label %72

67:                                               ; preds = %64
  store i32 26, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %380

68:                                               ; preds = %60
  %69 = landingpad { ptr, i32 }
          cleanup
  %70 = extractvalue { ptr, i32 } %69, 0
  store ptr %70, ptr %12, align 8
  %71 = extractvalue { ptr, i32 } %69, 1
  store i32 %71, ptr %13, align 4
  br label %383

72:                                               ; preds = %64
  %73 = landingpad { ptr, i32 }
          cleanup
  %74 = extractvalue { ptr, i32 } %73, 0
  store ptr %74, ptr %12, align 8
  %75 = extractvalue { ptr, i32 } %73, 1
  store i32 %75, ptr %13, align 4
  br label %382

76:                                               ; preds = %62
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %77 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %78 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %77, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %79 unwind label %106

79:                                               ; preds = %76
  %80 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %25, i32 0, i32 0
  %81 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %80, i32 0, i32 0
  store ptr %78, ptr %81, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #6
  %82 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %83 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %82) #6
  %84 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %26, i32 0, i32 0
  %85 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %84, i32 0, i32 0
  store ptr %83, ptr %85, align 8
  %86 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #6
  br i1 %86, label %92, label %87

87:                                               ; preds = %79
  %88 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  %89 = getelementptr inbounds %"struct.std::pair.72", ptr %88, i32 0, i32 1
  %90 = load i32, ptr %89, align 8, !tbaa !15
  %91 = icmp eq i32 %90, -2
  br label %92

92:                                               ; preds = %87, %79
  %93 = phi i1 [ true, %79 ], [ %91, %87 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #6
  br i1 %93, label %94, label %148

94:                                               ; preds = %92
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #6
  %95 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %96 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %95) #6
  %97 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %27, i32 0, i32 0
  %98 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %97, i32 0, i32 0
  store ptr %96, ptr %98, align 8
  %99 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %27) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #6
  br i1 %99, label %100, label %110

100:                                              ; preds = %94
  %101 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 1
  store i8 1, ptr %101, align 8, !tbaa !21
  %102 = load ptr, ptr %7, align 8, !tbaa !5
  %103 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  %104 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %102, i32 noundef 4, ptr noundef @.str.187, ptr noundef %103, ptr noundef %104)
          to label %105 unwind label %106

105:                                              ; preds = %100
  br label %110

106:                                              ; preds = %168, %100, %76
  %107 = landingpad { ptr, i32 }
          cleanup
  %108 = extractvalue { ptr, i32 } %107, 0
  store ptr %108, ptr %12, align 8
  %109 = extractvalue { ptr, i32 } %107, 1
  store i32 %109, ptr %13, align 4
  br label %379

110:                                              ; preds = %105, %94
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #6
  br label %111

111:                                              ; preds = %144, %118, %110
  %112 = load ptr, ptr %8, align 8, !tbaa !5
  %113 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(16) %112, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 1 dereferenceable(1) %28)
          to label %114 unwind label %119

114:                                              ; preds = %111
  br i1 %113, label %115, label %145

115:                                              ; preds = %114
  %116 = load i8, ptr %28, align 1, !tbaa !11, !range !13, !noundef !14
  %117 = trunc i8 %116 to i1
  br i1 %117, label %118, label %123

118:                                              ; preds = %115
  br label %111, !llvm.loop !84

119:                                              ; preds = %123, %111
  %120 = landingpad { ptr, i32 }
          cleanup
  %121 = extractvalue { ptr, i32 } %120, 0
  store ptr %121, ptr %12, align 8
  %122 = extractvalue { ptr, i32 } %120, 1
  store i32 %122, ptr %13, align 4
  br label %147

123:                                              ; preds = %115
  %124 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %44)
          to label %125 unwind label %119

125:                                              ; preds = %123
  br i1 %124, label %126, label %127

126:                                              ; preds = %125
  store i32 29, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %146

127:                                              ; preds = %125
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  store i64 0, ptr %29, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #6
  store i64 0, ptr %30, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #6
  %128 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %29, ptr noundef nonnull align 8 dereferenceable(8) %30, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %129 unwind label %137

129:                                              ; preds = %127
  store i32 %128, ptr %31, align 4, !tbaa !9
  %130 = load i32, ptr %31, align 4, !tbaa !9
  %131 = icmp ne i32 %130, 24
  br i1 %131, label %132, label %141

132:                                              ; preds = %129
  %133 = load ptr, ptr %7, align 8, !tbaa !5
  %134 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %133, i32 noundef 1, ptr noundef @.str.188, ptr noundef %134)
          to label %135 unwind label %137

135:                                              ; preds = %132
  %136 = load i32, ptr %31, align 4, !tbaa !9
  store i32 %136, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %142

137:                                              ; preds = %132, %127
  %138 = landingpad { ptr, i32 }
          cleanup
  %139 = extractvalue { ptr, i32 } %138, 0
  store ptr %139, ptr %12, align 8
  %140 = extractvalue { ptr, i32 } %138, 1
  store i32 %140, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  br label %147

141:                                              ; preds = %129
  store i32 0, ptr %24, align 4
  br label %142

142:                                              ; preds = %141, %135
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  %143 = load i32, ptr %24, align 4
  switch i32 %143, label %146 [
    i32 0, label %144
  ]

144:                                              ; preds = %142
  br label %111, !llvm.loop !84

145:                                              ; preds = %114
  store i32 26, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %146

146:                                              ; preds = %145, %142, %126
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %378

147:                                              ; preds = %137, %119
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #6
  br label %379

148:                                              ; preds = %92
  %149 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %25) #6
  %150 = getelementptr inbounds %"struct.std::pair.72", ptr %149, i32 0, i32 1
  %151 = load i32, ptr %150, align 8, !tbaa !15
  store i32 %151, ptr %20, align 4, !tbaa !87
  %152 = load i32, ptr %20, align 4, !tbaa !87
  %153 = icmp sge i32 %152, -1
  br i1 %153, label %154, label %155

154:                                              ; preds = %148
  br label %157

155:                                              ; preds = %148
  call void @__assert_fail(ptr noundef @.str.189, ptr noundef @.str.64, i32 noundef 1890, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

156:                                              ; No predecessors!
  br label %157

157:                                              ; preds = %156, %154
  %158 = load i32, ptr %20, align 4, !tbaa !87
  %159 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 3
  %160 = load i32, ptr %159, align 8, !tbaa !88
  %161 = icmp slt i32 %158, %160
  br i1 %161, label %162, label %163

162:                                              ; preds = %157
  br label %165

163:                                              ; preds = %157
  call void @__assert_fail(ptr noundef @.str.190, ptr noundef @.str.64, i32 noundef 1891, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

164:                                              ; No predecessors!
  br label %165

165:                                              ; preds = %164, %162
  %166 = load i32, ptr %20, align 4, !tbaa !87
  %167 = icmp sge i32 %166, 0
  br i1 %167, label %168, label %174

168:                                              ; preds = %165
  %169 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 42
  %170 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 3
  %171 = load i32, ptr %170, align 8, !tbaa !88
  %172 = sext i32 %171 to i64
  invoke void @_ZNSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %169, i64 noundef %172)
          to label %173 unwind label %106

173:                                              ; preds = %168
  br label %174

174:                                              ; preds = %173, %165
  %175 = load i32, ptr %20, align 4, !tbaa !87
  %176 = icmp eq i32 %175, -1
  br i1 %176, label %184, label %177

177:                                              ; preds = %174
  %178 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 42
  %179 = call noundef i64 @_ZNKSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %178) #6
  %180 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 3
  %181 = load i32, ptr %180, align 8, !tbaa !88
  %182 = sext i32 %181 to i64
  %183 = icmp eq i64 %179, %182
  br label %184

184:                                              ; preds = %177, %174
  %185 = phi i1 [ true, %174 ], [ %183, %177 ]
  br i1 %185, label %186, label %187

186:                                              ; preds = %184
  br label %189

187:                                              ; preds = %184
  call void @__assert_fail(ptr noundef @.str.191, ptr noundef @.str.64, i32 noundef 1894, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

188:                                              ; No predecessors!
  br label %189

189:                                              ; preds = %188, %186
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  %190 = load i32, ptr %20, align 4, !tbaa !87
  %191 = icmp eq i32 %190, -1
  br i1 %191, label %192, label %194

192:                                              ; preds = %189
  %193 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 41
  br label %199

194:                                              ; preds = %189
  %195 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 42
  %196 = load i32, ptr %20, align 4, !tbaa !87
  %197 = sext i32 %196 to i64
  %198 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %195, i64 noundef %197) #6
  br label %199

199:                                              ; preds = %194, %192
  %200 = phi ptr [ %193, %192 ], [ %198, %194 ]
  store ptr %200, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %33) #6
  br label %201

201:                                              ; preds = %373, %208, %199
  %202 = load ptr, ptr %8, align 8, !tbaa !5
  %203 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(16) %202, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 1 dereferenceable(1) %33)
          to label %204 unwind label %209

204:                                              ; preds = %201
  br i1 %203, label %205, label %375

205:                                              ; preds = %204
  %206 = load i8, ptr %33, align 1, !tbaa !11, !range !13, !noundef !14
  %207 = trunc i8 %206 to i1
  br i1 %207, label %208, label %213

208:                                              ; preds = %205
  br label %201, !llvm.loop !89

209:                                              ; preds = %213, %201
  %210 = landingpad { ptr, i32 }
          cleanup
  %211 = extractvalue { ptr, i32 } %210, 0
  store ptr %211, ptr %12, align 8
  %212 = extractvalue { ptr, i32 } %210, 1
  store i32 %212, ptr %13, align 4
  br label %377

213:                                              ; preds = %205
  %214 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %44)
          to label %215 unwind label %209

215:                                              ; preds = %213
  br i1 %214, label %216, label %217

216:                                              ; preds = %215
  store i32 29, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %376

217:                                              ; preds = %215
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #6
  store i64 0, ptr %34, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #6
  store i64 0, ptr %35, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #6
  %218 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %14, ptr noundef nonnull align 8 dereferenceable(8) %34, ptr noundef nonnull align 8 dereferenceable(8) %35, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %219 unwind label %227

219:                                              ; preds = %217
  store i32 %218, ptr %36, align 4, !tbaa !9
  %220 = load i32, ptr %36, align 4, !tbaa !9
  %221 = icmp ne i32 %220, 24
  br i1 %221, label %222, label %231

222:                                              ; preds = %219
  %223 = load ptr, ptr %7, align 8, !tbaa !5
  %224 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %223, i32 noundef 1, ptr noundef @.str.188, ptr noundef %224)
          to label %225 unwind label %227

225:                                              ; preds = %222
  %226 = load i32, ptr %36, align 4, !tbaa !9
  store i32 %226, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %371

227:                                              ; preds = %231, %222, %217
  %228 = landingpad { ptr, i32 }
          cleanup
  %229 = extractvalue { ptr, i32 } %228, 0
  store ptr %229, ptr %12, align 8
  %230 = extractvalue { ptr, i32 } %228, 1
  store i32 %230, ptr %13, align 4
  br label %374

231:                                              ; preds = %219
  %232 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %15, i1 noundef zeroext true)
          to label %233 unwind label %227

233:                                              ; preds = %231
  store i32 %232, ptr %21, align 4, !tbaa !87
  %234 = load i32, ptr %21, align 4, !tbaa !87
  %235 = icmp sge i32 %234, 0
  br i1 %235, label %236, label %241

236:                                              ; preds = %233
  %237 = load i32, ptr %21, align 4, !tbaa !87
  %238 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 4
  %239 = load i32, ptr %238, align 4, !tbaa !90
  %240 = icmp slt i32 %237, %239
  br label %241

241:                                              ; preds = %236, %233
  %242 = phi i1 [ false, %233 ], [ %240, %236 ]
  br i1 %242, label %243, label %244

243:                                              ; preds = %241
  br label %246

244:                                              ; preds = %241
  call void @__assert_fail(ptr noundef @.str.192, ptr noundef @.str.64, i32 noundef 1916, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

245:                                              ; No predecessors!
  br label %246

246:                                              ; preds = %245, %243
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #6
  store i32 0, ptr %37, align 4, !tbaa !87
  br label %247

247:                                              ; preds = %363, %246
  %248 = load i32, ptr %37, align 4, !tbaa !87
  %249 = icmp slt i32 %248, 2
  br i1 %249, label %251, label %250

250:                                              ; preds = %247
  store i32 6, ptr %24, align 4
  br label %367

251:                                              ; preds = %247
  %252 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.10)
          to label %253 unwind label %263

253:                                              ; preds = %251
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #6
  %254 = load i64, ptr %35, align 8, !tbaa !86
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(32) %14, i64 noundef %254)
          to label %255 unwind label %267

255:                                              ; preds = %253
  %256 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  %257 = load i64, ptr %35, align 8, !tbaa !86
  %258 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %14, i64 noundef %257)
          to label %259 unwind label %263

259:                                              ; preds = %255
  store i64 %258, ptr %18, align 8, !tbaa !86
  %260 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef @.str.10)
          to label %261 unwind label %263

261:                                              ; preds = %259
  br i1 %260, label %262, label %271

262:                                              ; preds = %261
  store i32 6, ptr %24, align 4
  br label %367

263:                                              ; preds = %296, %286, %284, %282, %279, %275, %271, %259, %255, %251
  %264 = landingpad { ptr, i32 }
          cleanup
  %265 = extractvalue { ptr, i32 } %264, 0
  store ptr %265, ptr %12, align 8
  %266 = extractvalue { ptr, i32 } %264, 1
  store i32 %266, ptr %13, align 4
  br label %369

267:                                              ; preds = %253
  %268 = landingpad { ptr, i32 }
          cleanup
  %269 = extractvalue { ptr, i32 } %268, 0
  store ptr %269, ptr %12, align 8
  %270 = extractvalue { ptr, i32 } %268, 1
  store i32 %270, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #6
  br label %369

271:                                              ; preds = %261
  %272 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.10)
          to label %273 unwind label %263

273:                                              ; preds = %271
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #6
  %274 = load i64, ptr %18, align 8, !tbaa !86
  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) %14, i64 noundef %274)
          to label %275 unwind label %292

275:                                              ; preds = %273
  %276 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  %277 = load i64, ptr %18, align 8, !tbaa !86
  %278 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %14, i64 noundef %277)
          to label %279 unwind label %263

279:                                              ; preds = %275
  store i64 %278, ptr %19, align 8, !tbaa !86
  %280 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef @.str.10)
          to label %281 unwind label %263

281:                                              ; preds = %279
  br i1 %280, label %282, label %296

282:                                              ; preds = %281
  %283 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %284 unwind label %263

284:                                              ; preds = %282
  %285 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %286 unwind label %263

286:                                              ; preds = %284
  %287 = load ptr, ptr %7, align 8, !tbaa !5
  %288 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  %289 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  %290 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %287, i32 noundef 5, ptr noundef @.str.183, ptr noundef %288, ptr noundef %289, ptr noundef %290)
          to label %291 unwind label %263

291:                                              ; preds = %286
  store i32 26, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %367

292:                                              ; preds = %273
  %293 = landingpad { ptr, i32 }
          cleanup
  %294 = extractvalue { ptr, i32 } %293, 0
  store ptr %294, ptr %12, align 8
  %295 = extractvalue { ptr, i32 } %293, 1
  store i32 %295, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #6
  br label %369

296:                                              ; preds = %281
  %297 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %16, i1 noundef zeroext true)
          to label %298 unwind label %263

298:                                              ; preds = %296
  store i32 %297, ptr %22, align 4, !tbaa !87
  %299 = load i32, ptr %22, align 4, !tbaa !87
  %300 = icmp sge i32 %299, 0
  br i1 %300, label %301, label %306

301:                                              ; preds = %298
  %302 = load i32, ptr %22, align 4, !tbaa !87
  %303 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 4
  %304 = load i32, ptr %303, align 4, !tbaa !90
  %305 = icmp slt i32 %302, %304
  br label %306

306:                                              ; preds = %301, %298
  %307 = phi i1 [ false, %298 ], [ %305, %301 ]
  br i1 %307, label %308, label %309

308:                                              ; preds = %306
  br label %311

309:                                              ; preds = %306
  call void @__assert_fail(ptr noundef @.str.193, ptr noundef @.str.64, i32 noundef 1942, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

310:                                              ; No predecessors!
  br label %311

311:                                              ; preds = %310, %308
  call void @llvm.lifetime.start.p0(i64 1, ptr %40) #6
  store i8 0, ptr %40, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #6
  %312 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 1 dereferenceable(1) %40, i32 noundef -1)
          to label %313 unwind label %321

313:                                              ; preds = %311
  store double %312, ptr %41, align 8, !tbaa !91
  %314 = load i8, ptr %40, align 1, !tbaa !11, !range !13, !noundef !14
  %315 = trunc i8 %314 to i1
  br i1 %315, label %316, label %325

316:                                              ; preds = %313
  %317 = load ptr, ptr %7, align 8, !tbaa !5
  %318 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  %319 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %317, i32 noundef 5, ptr noundef @.str.185, ptr noundef %318, ptr noundef %319)
          to label %320 unwind label %321

320:                                              ; preds = %316
  store i32 26, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %360

321:                                              ; preds = %316, %311
  %322 = landingpad { ptr, i32 }
          cleanup
  %323 = extractvalue { ptr, i32 } %322, 0
  store ptr %323, ptr %12, align 8
  %324 = extractvalue { ptr, i32 } %322, 1
  store i32 %324, ptr %13, align 4
  br label %366

325:                                              ; preds = %313
  %326 = load double, ptr %41, align 8, !tbaa !91
  %327 = fcmp une double %326, 0.000000e+00
  br i1 %327, label %328, label %353

328:                                              ; preds = %325
  %329 = load i8, ptr %10, align 1, !tbaa !11, !range !13, !noundef !14
  %330 = trunc i8 %329 to i1
  br i1 %330, label %331, label %344

331:                                              ; preds = %328
  %332 = load i32, ptr %22, align 4, !tbaa !87
  %333 = load i32, ptr %21, align 4, !tbaa !87
  %334 = icmp sge i32 %332, %333
  br i1 %334, label %335, label %343

335:                                              ; preds = %331
  %336 = load ptr, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #6
  invoke void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 8 %42, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %337 unwind label %339

337:                                              ; preds = %335
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %336, ptr noundef nonnull align 8 dereferenceable(16) %42)
          to label %338 unwind label %339

338:                                              ; preds = %337
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #6
  br label %343

339:                                              ; preds = %337, %335
  %340 = landingpad { ptr, i32 }
          cleanup
  %341 = extractvalue { ptr, i32 } %340, 0
  store ptr %341, ptr %12, align 8
  %342 = extractvalue { ptr, i32 } %340, 1
  store i32 %342, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #6
  br label %366

343:                                              ; preds = %338, %331
  br label %352

344:                                              ; preds = %328
  %345 = load ptr, ptr %32, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #6
  invoke void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind writable sret(%"class.std::tuple") align 8 %43, ptr noundef nonnull align 4 dereferenceable(4) %22, ptr noundef nonnull align 4 dereferenceable(4) %21, ptr noundef nonnull align 8 dereferenceable(8) %41)
          to label %346 unwind label %348

346:                                              ; preds = %344
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %345, ptr noundef nonnull align 8 dereferenceable(16) %43)
          to label %347 unwind label %348

347:                                              ; preds = %346
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #6
  br label %352

348:                                              ; preds = %346, %344
  %349 = landingpad { ptr, i32 }
          cleanup
  %350 = extractvalue { ptr, i32 } %349, 0
  store ptr %350, ptr %12, align 8
  %351 = extractvalue { ptr, i32 } %349, 1
  store i32 %351, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #6
  br label %366

352:                                              ; preds = %347, %343
  br label %353

353:                                              ; preds = %352, %325
  %354 = load i64, ptr %19, align 8, !tbaa !86
  store i64 %354, ptr %35, align 8, !tbaa !86
  %355 = load i64, ptr %35, align 8, !tbaa !86
  %356 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  %357 = icmp eq i64 %355, %356
  br i1 %357, label %358, label %359

358:                                              ; preds = %353
  store i32 6, ptr %24, align 4
  br label %360

359:                                              ; preds = %353
  store i32 0, ptr %24, align 4
  br label %360

360:                                              ; preds = %359, %358, %320
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #6
  %361 = load i32, ptr %24, align 4
  switch i32 %361, label %367 [
    i32 0, label %362
  ]

362:                                              ; preds = %360
  br label %363

363:                                              ; preds = %362
  %364 = load i32, ptr %37, align 4, !tbaa !87
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr %37, align 4, !tbaa !87
  br label %247, !llvm.loop !92

366:                                              ; preds = %348, %339, %321
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %40) #6
  br label %369

367:                                              ; preds = %360, %291, %262, %250
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  %368 = load i32, ptr %24, align 4
  switch i32 %368, label %371 [
    i32 6, label %370
  ]

369:                                              ; preds = %366, %292, %267, %263
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #6
  br label %374

370:                                              ; preds = %367
  store i32 0, ptr %24, align 4
  br label %371

371:                                              ; preds = %370, %367, %225
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  %372 = load i32, ptr %24, align 4
  switch i32 %372, label %376 [
    i32 0, label %373
  ]

373:                                              ; preds = %371
  br label %201, !llvm.loop !89

374:                                              ; preds = %369, %227
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #6
  br label %377

375:                                              ; preds = %204
  store i32 26, ptr %5, align 4
  store i32 1, ptr %24, align 4
  br label %376

376:                                              ; preds = %375, %371, %216
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %378

377:                                              ; preds = %374, %209
  call void @llvm.lifetime.end.p0(i64 1, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %379

378:                                              ; preds = %376, %146
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  br label %380

379:                                              ; preds = %377, %147, %106
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  br label %382

380:                                              ; preds = %378, %67
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  %381 = load i32, ptr %5, align 4
  ret i32 %381

382:                                              ; preds = %379, %72
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #6
  br label %383

383:                                              ; preds = %382, %68
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %17) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %14) #6
  br label %384

384:                                              ; preds = %383, %53
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  br label %385

385:                                              ; preds = %384
  %386 = load ptr, ptr %12, align 8
  %387 = load i32, ptr %13, align 4
  %388 = insertvalue { ptr, i32 } poison, ptr %386, 0
  %389 = insertvalue { ptr, i32 } %388, i32 %387, 1
  resume { ptr, i32 } %389
}

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

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

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

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

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

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

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

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

declare void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) #2

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

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

; 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: mustprogress uwtable
declare dso_local noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1), i32 noundef) #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(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: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

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

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

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

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

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

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


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }
%"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 }

@.str.10 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZL17default_non_charsB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.64 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [13 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE = external hidden unnamed_addr constant [133 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [34 x i8], align 1

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

declare i32 @__gxx_personality_v0(...)

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2, i32 noundef %3) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
.invoke:
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %13 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %14 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %15 = alloca i8, align 1
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca i8, align 1
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::__cxx11::basic_string", align 8
  %23 = alloca i8, align 1
  %24 = alloca double, align 8
  %25 = alloca %"class.std::tuple", align 8
  %26 = alloca %"class.std::tuple", align 8
  %27 = icmp eq i32 %3, 12
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  %28 = select i1 %27, ptr @.str.75, ptr @.str.76
  %29 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull %28)
          to label %32 unwind label %30

30:                                               ; preds = %.invoke
  %31 = landingpad { ptr, i32 }
          cleanup
  br label %229

32:                                               ; preds = %.invoke
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %11) #6
  %33 = getelementptr inbounds i8, ptr %0, i64 1072
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %11, ptr noundef nonnull align 8 dereferenceable(32) %33, i64 noundef 0)
          to label %34 unwind label %38

34:                                               ; preds = %32
  %35 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br i1 %35, label %36, label %42

36:                                               ; preds = %34
  %37 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.186, ptr noundef %37)
          to label %226 unwind label %40

38:                                               ; preds = %32
  %39 = landingpad { ptr, i32 }
          cleanup
  br label %228

40:                                               ; preds = %36
  %41 = landingpad { ptr, i32 }
          cleanup
  br label %227

42:                                               ; preds = %34
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  %43 = getelementptr inbounds i8, ptr %0, i64 960
  %44 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %43, ptr noundef nonnull align 8 dereferenceable(32) %11)
          to label %45 unwind label %60

45:                                               ; preds = %42
  store ptr %44, ptr %12, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #6
  %46 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %43) #6
  store ptr %46, ptr %13, align 8
  %47 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %13) #6
  br i1 %47, label %.critedge, label %48

48:                                               ; preds = %45
  %49 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #6
  %50 = getelementptr inbounds i8, ptr %49, i64 32
  %51 = load i32, ptr %50, align 8, !tbaa !5
  %52 = icmp eq i32 %51, -2
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  br i1 %52, label %53, label %81

.critedge:                                        ; preds = %45
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  br label %53

53:                                               ; preds = %.critedge, %48
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #6
  %54 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %43) #6
  store ptr %54, ptr %14, align 8
  %55 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %12, ptr noundef nonnull align 8 dereferenceable(8) %14) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #6
  br i1 %55, label %56, label %62

56:                                               ; preds = %53
  %57 = getelementptr inbounds i8, ptr %0, i64 8
  store i8 1, ptr %57, align 8, !tbaa !14
  %58 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  %59 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.187, ptr noundef %58, ptr noundef %59)
          to label %62 unwind label %60

60:                                               ; preds = %94, %56, %42
  %61 = landingpad { ptr, i32 }
          cleanup
  br label %225

62:                                               ; preds = %56, %53
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #6
  br label %.backedge

.backedge:                                        ; preds = %.backedge.backedge, %62
  %63 = 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) %5, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %64 unwind label %68

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

65:                                               ; preds = %64
  %66 = load i8, ptr %15, align 1, !tbaa !78, !range !79, !noundef !80
  %67 = trunc nuw i8 %66 to i1
  br i1 %67, label %.backedge.backedge, label %70

.backedge.backedge:                               ; preds = %65, %79
  br label %.backedge, !llvm.loop !81

68:                                               ; preds = %70, %.backedge
  %69 = landingpad { ptr, i32 }
          cleanup
  br label %80

70:                                               ; preds = %65
  %71 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %0)
          to label %72 unwind label %68

72:                                               ; preds = %70
  br i1 %71, label %.loopexit, label %73

73:                                               ; preds = %72
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #6
  store i64 0, ptr %16, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #6
  store i64 0, ptr %17, align 8, !tbaa !83
  %74 = 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) %5, ptr noundef nonnull align 8 dereferenceable(8) %16, ptr noundef nonnull align 8 dereferenceable(8) %17, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %75 unwind label %.loopexit114

75:                                               ; preds = %73
  %.not80 = icmp eq i32 %74, 24
  br i1 %.not80, label %79, label %76

76:                                               ; preds = %75
  %77 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.188, ptr noundef %77)
          to label %.thread unwind label %.loopexit.split-lp

.thread:                                          ; preds = %76
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %.loopexit

.loopexit114:                                     ; preds = %73
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %78

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

78:                                               ; preds = %.loopexit.split-lp, %.loopexit114
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit, %.loopexit114 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %80

79:                                               ; preds = %75
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #6
  br label %.backedge.backedge

.loopexit:                                        ; preds = %64, %72, %.thread
  %.2 = phi i32 [ %74, %.thread ], [ 26, %64 ], [ 29, %72 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  br label %224

80:                                               ; preds = %78, %68
  %.pn81 = phi { ptr, i32 } [ %lpad.phi, %78 ], [ %69, %68 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #6
  br label %225

81:                                               ; preds = %48
  %82 = call noundef ptr @_ZNKSt8__detail14_Node_iteratorISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb0ELb1EEptEv(ptr noundef nonnull align 8 dereferenceable(8) %12) #6
  %83 = getelementptr inbounds i8, ptr %82, i64 32
  %84 = load i32, ptr %83, align 8, !tbaa !5
  %85 = icmp sgt i32 %84, -2
  br i1 %85, label %87, label %86

86:                                               ; preds = %81
  call void @__assert_fail(ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.64, i32 noundef 1890, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

87:                                               ; preds = %81
  %88 = getelementptr inbounds i8, ptr %0, i64 24
  %89 = load i32, ptr %88, align 8, !tbaa !84
  %90 = icmp slt i32 %84, %89
  br i1 %90, label %92, label %91

91:                                               ; preds = %87
  call void @__assert_fail(ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.64, i32 noundef 1891, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

92:                                               ; preds = %87
  %93 = icmp sgt i32 %84, -1
  br i1 %93, label %94, label %.critedge88

94:                                               ; preds = %92
  %95 = getelementptr inbounds i8, ptr %0, i64 744
  %96 = zext nneg i32 %89 to i64
  invoke void @_ZNSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %96)
          to label %97 unwind label %60

97:                                               ; preds = %94
  %98 = call noundef i64 @_ZNKSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EE4sizeEv(ptr noundef nonnull align 8 dereferenceable(24) %95) #6
  %99 = load i32, ptr %88, align 8, !tbaa !84
  %100 = sext i32 %99 to i64
  %101 = icmp eq i64 %98, %100
  br i1 %101, label %.critedge5, label %102

102:                                              ; preds = %97
  call void @__assert_fail(ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.64, i32 noundef 1894, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

.critedge88:                                      ; preds = %92
  %103 = getelementptr inbounds i8, ptr %0, i64 720
  br label %106

.critedge5:                                       ; preds = %97
  %104 = zext nneg i32 %84 to i64
  %105 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorIS_ISt5tupleIJiidEESaIS1_EESaIS3_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %104) #6
  br label %106

106:                                              ; preds = %.critedge5, %.critedge88
  %107 = phi ptr [ %103, %.critedge88 ], [ %105, %.critedge5 ]
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #6
  %108 = getelementptr inbounds i8, ptr %0, i64 28
  br label %.backedge131

.backedge131:                                     ; preds = %.backedge131.backedge, %106
  %109 = 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) %5, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %110 unwind label %114

110:                                              ; preds = %.backedge131
  br i1 %109, label %111, label %.loopexit125

111:                                              ; preds = %110
  %112 = load i8, ptr %18, align 1, !tbaa !78, !range !79, !noundef !80
  %113 = trunc nuw i8 %112 to i1
  br i1 %113, label %.backedge131.backedge, label %116

.backedge131.backedge:                            ; preds = %111, %.thread97
  br label %.backedge131, !llvm.loop !85

114:                                              ; preds = %116, %.backedge131
  %115 = landingpad { ptr, i32 }
          cleanup
  br label %223

116:                                              ; preds = %111
  %117 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %0)
          to label %118 unwind label %114

118:                                              ; preds = %116
  br i1 %117, label %.loopexit125, label %119

119:                                              ; preds = %118
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #6
  store i64 0, ptr %19, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #6
  store i64 0, ptr %20, align 8, !tbaa !83
  %120 = 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) %5, ptr noundef nonnull align 8 dereferenceable(8) %19, ptr noundef nonnull align 8 dereferenceable(8) %20, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %121 unwind label %.loopexit126

121:                                              ; preds = %119
  %.not = icmp eq i32 %120, 24
  br i1 %.not, label %124, label %122

122:                                              ; preds = %121
  %123 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.188, ptr noundef %123)
          to label %.thread109 unwind label %.loopexit.split-lp127

.loopexit126:                                     ; preds = %119, %124
  %lpad.loopexit128 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit115

.loopexit.split-lp127:                            ; preds = %122
  %lpad.loopexit.split-lp129 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit115

124:                                              ; preds = %121
  %125 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %6, i1 noundef zeroext true)
          to label %126 unwind label %.loopexit126

126:                                              ; preds = %124
  store i32 %125, ptr %9, align 4, !tbaa !86
  %127 = icmp sgt i32 %125, -1
  %128 = load i32, ptr %108, align 4
  %129 = icmp slt i32 %125, %128
  %or.cond145 = select i1 %127, i1 %129, i1 false
  br i1 %or.cond145, label %.preheader.peel, label %.critedge7

.preheader.peel:                                  ; preds = %126
  %130 = 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 %131 unwind label %.loopexit115.loopexit.split-lp

131:                                              ; preds = %.preheader.peel
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  %132 = load i64, ptr %20, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %132)
          to label %133 unwind label %.loopexit.split-lp196

133:                                              ; preds = %131
  %134 = 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) %21) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  %135 = load i64, ptr %20, align 8, !tbaa !83
  %136 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %135)
          to label %137 unwind label %.loopexit115.loopexit.split-lp

137:                                              ; preds = %133
  %138 = 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 %138, label %.thread97, label %139

139:                                              ; preds = %137
  %140 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.10)
          to label %141 unwind label %.loopexit115.loopexit.split-lp

141:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  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) %5, i64 noundef %136)
          to label %142 unwind label %.loopexit.split-lp201

142:                                              ; preds = %141
  %143 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  %144 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %136)
          to label %145 unwind label %.loopexit115.loopexit.split-lp

145:                                              ; preds = %142
  %146 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.10)
  br i1 %146, label %.loopexit205, label %147

147:                                              ; preds = %145
  %148 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %7, i1 noundef zeroext true)
          to label %149 unwind label %.loopexit115.loopexit.split-lp

149:                                              ; preds = %147
  store i32 %148, ptr %10, align 4, !tbaa !86
  %150 = icmp sgt i32 %148, -1
  %151 = load i32, ptr %108, align 4
  %152 = icmp slt i32 %148, %151
  %or.cond.peel = select i1 %150, i1 %152, i1 false
  br i1 %or.cond.peel, label %153, label %.critedge9

153:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #6
  store i8 0, ptr %23, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #6
  %154 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 1 dereferenceable(1) %23, i32 noundef -1)
          to label %155 unwind label %.loopexit120.loopexit.split-lp

155:                                              ; preds = %153
  store double %154, ptr %24, align 8, !tbaa !87
  %156 = load i8, ptr %23, align 1, !tbaa !78, !range !79, !noundef !80
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %.loopexit209, label %158

158:                                              ; preds = %155
  %159 = fcmp une double %154, 0.000000e+00
  br i1 %159, label %160, label %168

160:                                              ; preds = %158
  br i1 %27, label %163, label %161

161:                                              ; preds = %160
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #6
  call void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %162 unwind label %.loopexit.split-lp211

162:                                              ; preds = %161
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #6
  br label %168

163:                                              ; preds = %160
  %164 = load i32, ptr %10, align 4, !tbaa !86
  %165 = load i32, ptr %9, align 4, !tbaa !86
  %.not73.peel = icmp slt i32 %164, %165
  br i1 %.not73.peel, label %168, label %166

166:                                              ; preds = %163
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #6
  call void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %167 unwind label %.loopexit.split-lp216

167:                                              ; preds = %166
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #6
  br label %168

168:                                              ; preds = %167, %163, %162, %158
  store i64 %144, ptr %20, align 8, !tbaa !83
  %169 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  %.not113.peel.not = icmp eq i64 %144, %169
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  br i1 %.not113.peel.not, label %.thread97, label %.preheader

.critedge7:                                       ; preds = %126
  call void @__assert_fail(ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.64, i32 noundef 1916, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

.preheader:                                       ; preds = %168
  %170 = 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 %171 unwind label %.loopexit115.loopexit

171:                                              ; preds = %.preheader
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #6
  %172 = load i64, ptr %20, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %172)
          to label %173 unwind label %.loopexit195

173:                                              ; preds = %171
  %174 = 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) %21) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  %175 = load i64, ptr %20, align 8, !tbaa !83
  %176 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %175)
          to label %177 unwind label %.loopexit115.loopexit

177:                                              ; preds = %173
  %178 = 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 %178, label %.thread97, label %180

.loopexit115.loopexit:                            ; preds = %196, %183, %180, %173, %.preheader
  %lpad.loopexit192 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit115

.loopexit115.loopexit.split-lp:                   ; preds = %.preheader.peel, %133, %139, %142, %147
  %lpad.loopexit.split-lp193 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit115

.loopexit.split-lp116:                            ; preds = %.loopexit205, %189, %191
  %lpad.loopexit.split-lp118 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit115

.loopexit195:                                     ; preds = %171
  %lpad.loopexit197 = landingpad { ptr, i32 }
          cleanup
  br label %179

.loopexit.split-lp196:                            ; preds = %131
  %lpad.loopexit.split-lp198 = landingpad { ptr, i32 }
          cleanup
  br label %179

179:                                              ; preds = %.loopexit.split-lp196, %.loopexit195
  %lpad.phi199 = phi { ptr, i32 } [ %lpad.loopexit197, %.loopexit195 ], [ %lpad.loopexit.split-lp198, %.loopexit.split-lp196 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #6
  br label %.loopexit115

180:                                              ; preds = %177
  %181 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.10)
          to label %182 unwind label %.loopexit115.loopexit

182:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %22) #6
  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) %5, i64 noundef %176)
          to label %183 unwind label %.loopexit200

183:                                              ; preds = %182
  %184 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %22) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  %185 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %5, i64 noundef %176)
          to label %186 unwind label %.loopexit115.loopexit

186:                                              ; preds = %183
  %187 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull @.str.10)
  br i1 %187, label %.loopexit205, label %196

.loopexit205:                                     ; preds = %145, %186
  %188 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %189 unwind label %.loopexit.split-lp116

189:                                              ; preds = %.loopexit205
  %190 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %191 unwind label %.loopexit.split-lp116

191:                                              ; preds = %189
  %192 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  %193 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  %194 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.183, ptr noundef %192, ptr noundef %193, ptr noundef %194)
          to label %.thread109 unwind label %.loopexit.split-lp116

.loopexit200:                                     ; preds = %182
  %lpad.loopexit202 = landingpad { ptr, i32 }
          cleanup
  br label %195

.loopexit.split-lp201:                            ; preds = %141
  %lpad.loopexit.split-lp203 = landingpad { ptr, i32 }
          cleanup
  br label %195

195:                                              ; preds = %.loopexit.split-lp201, %.loopexit200
  %lpad.phi204 = phi { ptr, i32 } [ %lpad.loopexit202, %.loopexit200 ], [ %lpad.loopexit.split-lp203, %.loopexit.split-lp201 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %22) #6
  br label %.loopexit115

196:                                              ; preds = %186
  %197 = invoke noundef i32 @_ZN18free_format_parser6HMpsFF9getColIdxERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %7, i1 noundef zeroext true)
          to label %198 unwind label %.loopexit115.loopexit

198:                                              ; preds = %196
  store i32 %197, ptr %10, align 4, !tbaa !86
  %199 = icmp sgt i32 %197, -1
  %200 = load i32, ptr %108, align 4
  %201 = icmp slt i32 %197, %200
  %or.cond = select i1 %199, i1 %201, i1 false
  br i1 %or.cond, label %202, label %.critedge9

.critedge9:                                       ; preds = %149, %198
  call void @__assert_fail(ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.64, i32 noundef 1942, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF13parseQuadRowsERK15HighsLogOptionsRSiNS0_8ParsekeyE) #7
  unreachable

202:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #6
  store i8 0, ptr %23, align 1, !tbaa !78
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #6
  %203 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 1 dereferenceable(1) %23, i32 noundef -1)
          to label %204 unwind label %.loopexit120.loopexit

204:                                              ; preds = %202
  store double %203, ptr %24, align 8, !tbaa !87
  %205 = load i8, ptr %23, align 1, !tbaa !78, !range !79, !noundef !80
  %206 = trunc nuw i8 %205 to i1
  br i1 %206, label %.loopexit209, label %209

.loopexit209:                                     ; preds = %155, %204
  %207 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  %208 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.185, ptr noundef %207, ptr noundef %208)
          to label %.thread93 unwind label %.loopexit.split-lp121

.thread93:                                        ; preds = %.loopexit209
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  br label %.thread109

.loopexit120.loopexit:                            ; preds = %202
  %lpad.loopexit206 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit120

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

.loopexit.split-lp121:                            ; preds = %.loopexit209
  %lpad.loopexit.split-lp123 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit120

209:                                              ; preds = %204
  %210 = fcmp une double %203, 0.000000e+00
  br i1 %210, label %211, label %221

211:                                              ; preds = %209
  br i1 %27, label %212, label %218

212:                                              ; preds = %211
  %213 = load i32, ptr %10, align 4, !tbaa !86
  %214 = load i32, ptr %9, align 4, !tbaa !86
  %.not73 = icmp slt i32 %213, %214
  br i1 %.not73, label %221, label %215

215:                                              ; preds = %212
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %25) #6
  call void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %25, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(16) %25)
          to label %216 unwind label %.loopexit215

216:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #6
  br label %221

.loopexit215:                                     ; preds = %215
  %lpad.loopexit217 = landingpad { ptr, i32 }
          cleanup
  br label %217

.loopexit.split-lp216:                            ; preds = %166
  %lpad.loopexit.split-lp218 = landingpad { ptr, i32 }
          cleanup
  br label %217

217:                                              ; preds = %.loopexit.split-lp216, %.loopexit215
  %lpad.phi219 = phi { ptr, i32 } [ %lpad.loopexit217, %.loopexit215 ], [ %lpad.loopexit.split-lp218, %.loopexit.split-lp216 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %25) #6
  br label %.loopexit120

218:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %26) #6
  call void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(ptr dead_on_unwind nonnull writable sret(%"class.std::tuple") align 8 %26, ptr noundef nonnull align 4 dereferenceable(4) %10, ptr noundef nonnull align 4 dereferenceable(4) %9, ptr noundef nonnull align 8 dereferenceable(8) %24)
  invoke void @_ZNSt6vectorISt5tupleIJiidEESaIS1_EE9push_backEOS1_(ptr noundef nonnull align 8 dereferenceable(24) %107, ptr noundef nonnull align 8 dereferenceable(16) %26)
          to label %219 unwind label %.loopexit210

219:                                              ; preds = %218
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #6
  br label %221

.loopexit210:                                     ; preds = %218
  %lpad.loopexit212 = landingpad { ptr, i32 }
          cleanup
  br label %220

.loopexit.split-lp211:                            ; preds = %161
  %lpad.loopexit.split-lp213 = landingpad { ptr, i32 }
          cleanup
  br label %220

220:                                              ; preds = %.loopexit.split-lp211, %.loopexit210
  %lpad.phi214 = phi { ptr, i32 } [ %lpad.loopexit212, %.loopexit210 ], [ %lpad.loopexit.split-lp213, %.loopexit.split-lp211 ]
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %26) #6
  br label %.loopexit120

221:                                              ; preds = %209, %212, %216, %219
  store i64 %185, ptr %20, align 8, !tbaa !83
  %222 = call noundef i64 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  br label %.thread97, !llvm.loop !88

.loopexit120:                                     ; preds = %.loopexit120.loopexit, %.loopexit120.loopexit.split-lp, %.loopexit.split-lp121, %220, %217
  %.pn = phi { ptr, i32 } [ %lpad.phi219, %217 ], [ %lpad.phi214, %220 ], [ %lpad.loopexit.split-lp123, %.loopexit.split-lp121 ], [ %lpad.loopexit206, %.loopexit120.loopexit ], [ %lpad.loopexit.split-lp207, %.loopexit120.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #6
  br label %.loopexit115

.thread109:                                       ; preds = %122, %191, %.thread93
  %.7.ph = phi i32 [ %120, %122 ], [ 26, %191 ], [ 26, %.thread93 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  br label %.loopexit125

.thread97:                                        ; preds = %177, %221, %168, %137
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  br label %.backedge131.backedge

.loopexit115:                                     ; preds = %.loopexit115.loopexit, %.loopexit115.loopexit.split-lp, %.loopexit.split-lp116, %.loopexit126, %.loopexit.split-lp127, %179, %195, %.loopexit120
  %.pn77 = phi { ptr, i32 } [ %.pn, %.loopexit120 ], [ %lpad.phi204, %195 ], [ %lpad.phi199, %179 ], [ %lpad.loopexit128, %.loopexit126 ], [ %lpad.loopexit.split-lp129, %.loopexit.split-lp127 ], [ %lpad.loopexit.split-lp118, %.loopexit.split-lp116 ], [ %lpad.loopexit192, %.loopexit115.loopexit ], [ %lpad.loopexit.split-lp193, %.loopexit115.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #6
  br label %223

.loopexit125:                                     ; preds = %110, %118, %.thread109
  %.8 = phi i32 [ %.7.ph, %.thread109 ], [ 26, %110 ], [ 29, %118 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #6
  br label %224

223:                                              ; preds = %.loopexit115, %114
  %.pn77.pn = phi { ptr, i32 } [ %.pn77, %.loopexit115 ], [ %115, %114 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #6
  br label %225

224:                                              ; preds = %.loopexit125, %.loopexit
  %.9 = phi i32 [ %.2, %.loopexit ], [ %.8, %.loopexit125 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  br label %226

225:                                              ; preds = %223, %80, %60
  %.pn81.pn = phi { ptr, i32 } [ %.pn81, %80 ], [ %61, %60 ], [ %.pn77.pn, %223 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  br label %227

226:                                              ; preds = %36, %224
  %.10 = phi i32 [ %.9, %224 ], [ 26, %36 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  ret i32 %.10

227:                                              ; preds = %225, %40
  %.pn84 = phi { ptr, i32 } [ %41, %40 ], [ %.pn81.pn, %225 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #6
  br label %228

228:                                              ; preds = %227, %38
  %.pn84.pn = phi { ptr, i32 } [ %.pn84, %227 ], [ %39, %38 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %11) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %8) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %5) #6
  br label %229

229:                                              ; preds = %228, %30
  %.pn84.pn.pn = phi { ptr, i32 } [ %.pn84.pn, %228 ], [ %31, %30 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #6
  resume { ptr, i32 } %.pn84.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 #3 align 2

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

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

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

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

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

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

declare void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i64 noundef) local_unnamed_addr #2

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

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

; 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: mustprogress uwtable
declare dso_local noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 1 dereferenceable(1), i32 noundef) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZSt10make_tupleIJRiS0_RdEESt5tupleIJDpNSt25__strip_reference_wrapperINSt5decayIT_E4typeEE6__typeEEEDpOS5_(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: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !13, i64 32}
!6 = !{!"_ZTSSt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiE", !7, i64 0, !13, i64 32}
!7 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !8, i64 0, !12, i64 8, !10, i64 16}
!8 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !9, i64 0}
!9 = !{!"any pointer", !10, i64 0}
!10 = !{!"omnipotent char", !11, i64 0}
!11 = !{!"Simple C++ TBAA"}
!12 = !{!"long", !10, i64 0}
!13 = !{!"int", !10, i64 0}
!14 = !{!15, !17, i64 8}
!15 = !{!"_ZTSN18free_format_parser6HMpsFFE", !16, i64 0, !17, i64 8, !16, i64 16, !13, i64 24, !13, i64 28, !13, i64 32, !7, i64 40, !18, i64 72, !16, 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, !13, i64 352, !19, i64 360, !19, i64 384, !23, i64 408, !35, i64 432, !13, i64 472, !17, i64 476, !17, i64 477, !7, i64 480, !13, i64 512, !13, i64 516, !7, i64 520, !13, i64 552, !13, i64 556, !17, i64 560, !35, i64 568, !17, i64 608, !7, 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, !7, i64 1072}
!16 = !{!"double", !10, i64 0}
!17 = !{!"bool", !10, i64 0}
!18 = !{!"_ZTS8ObjSense", !10, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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, !9, i64 32}
!39 = !{!"_ZTSSt13_Bit_iterator", !40, i64 0}
!40 = !{!"_ZTSSt18_Bit_iterator_base", !9, i64 0, !13, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !9, i64 8, !9, 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", !9, i64 0, !12, i64 8, !75, i64 16, !12, i64 24, !76, i64 32, !9, i64 48}
!75 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !9, i64 0}
!76 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !77, i64 0, !12, i64 8}
!77 = !{!"float", !10, i64 0}
!78 = !{!17, !17, i64 0}
!79 = !{i8 0, i8 2}
!80 = !{}
!81 = distinct !{!81, !82}
!82 = !{!"llvm.loop.mustprogress"}
!83 = !{!12, !12, i64 0}
!84 = !{!15, !13, i64 24}
!85 = distinct !{!85, !82}
!86 = !{!13, !13, i64 0}
!87 = !{!16, !16, i64 0}
!88 = distinct !{!88, !82, !89}
!89 = !{!"llvm.loop.peeled.count", i32 1}


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