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

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

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

@.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.132 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [42 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [95 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: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #3

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4 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)) #4 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)) #4 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_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2) #4 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %"class.std::__cxx11::basic_string", align 8
  %9 = alloca %class.anon.78, align 8
  %10 = alloca %class.anon.79, align 8
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i8, align 1
  %15 = alloca i8, align 1
  %16 = alloca i64, align 8
  %17 = alloca i64, align 8
  %18 = alloca i64, align 8
  %19 = alloca i64, align 8
  %20 = alloca i32, align 4
  %21 = alloca i64, align 8
  %22 = alloca i64, align 8
  %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 i32, align 4
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca i64, align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %32 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %35 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %36 = alloca i8, align 1
  %37 = alloca double, align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::__cxx11::basic_string", align 8
  %40 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %41 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %42 = alloca i8, align 1
  %43 = alloca double, align 8
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  %44 = load ptr, ptr %5, align 8
  call void @llvm.lifetime.start.p0(i64 32, ptr %8) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #8
  %45 = getelementptr inbounds %class.anon.78, ptr %9, i32 0, i32 0
  store ptr %44, ptr %45, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #8
  %46 = getelementptr inbounds %class.anon.79, ptr %10, i32 0, i32 0
  store ptr %44, ptr %46, align 8, !tbaa !11
  %47 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 35
  %48 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 3
  %49 = load i32, ptr %48, align 8, !tbaa !13
  %50 = sext i32 %49 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #8
  store i8 0, ptr %11, align 1, !tbaa !81
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %47, i64 noundef %50, ptr noundef nonnull align 1 dereferenceable(1) %11)
          to label %51 unwind label %61

51:                                               ; preds = %3
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #8
  %52 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 34
  store i8 0, ptr %52, align 8, !tbaa !82
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #8
  store i8 0, ptr %14, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #8
  store i64 0, ptr %16, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #8
  store i64 1, ptr %17, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %18) #8
  store i64 0, ptr %18, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %19) #8
  store i64 1, ptr %19, align 8, !tbaa !83
  br label %53

53:                                               ; preds = %401, %399, %60, %51
  %54 = load ptr, ptr %7, align 8, !tbaa !5
  %55 = 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) %54, ptr noundef nonnull align 8 dereferenceable(32) %8, ptr noundef nonnull align 1 dereferenceable(1) %15)
          to label %56 unwind label %65

56:                                               ; preds = %53
  br i1 %55, label %57, label %406

57:                                               ; preds = %56
  %58 = load i8, ptr %15, align 1, !tbaa !81, !range !84, !noundef !85
  %59 = trunc i8 %58 to i1
  br i1 %59, label %60, label %69

60:                                               ; preds = %57
  br label %53, !llvm.loop !86

61:                                               ; preds = %3
  %62 = landingpad { ptr, i32 }
          cleanup
  %63 = extractvalue { ptr, i32 } %62, 0
  store ptr %63, ptr %12, align 8
  %64 = extractvalue { ptr, i32 } %62, 1
  store i32 %64, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #8
  br label %410

65:                                               ; preds = %69, %53
  %66 = landingpad { ptr, i32 }
          cleanup
  %67 = extractvalue { ptr, i32 } %66, 0
  store ptr %67, ptr %12, align 8
  %68 = extractvalue { ptr, i32 } %66, 1
  store i32 %68, ptr %13, align 4
  br label %409

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

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

72:                                               ; preds = %71
  store i32 29, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %407

73:                                               ; preds = %71
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #8
  store i64 0, ptr %21, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #8
  store i64 0, ptr %22, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 32, ptr %23) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #8
  %74 = 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) %8, ptr noundef nonnull align 8 dereferenceable(8) %21, ptr noundef nonnull align 8 dereferenceable(8) %22, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %75 unwind label %101

75:                                               ; preds = %73
  store i32 %74, ptr %24, align 4, !tbaa !88
  %76 = load i32, ptr %24, align 4, !tbaa !88
  %77 = icmp ne i32 %76, 24
  br i1 %77, label %78, label %109

78:                                               ; preds = %75
  %79 = load i32, ptr %24, align 4, !tbaa !88
  %80 = icmp ne i32 %79, 6
  br i1 %80, label %81, label %109

81:                                               ; preds = %78
  %82 = load i64, ptr %16, align 8, !tbaa !83
  %83 = icmp ugt i64 %82, 0
  br i1 %83, label %87, label %84

84:                                               ; preds = %81
  %85 = load i64, ptr %18, align 8, !tbaa !83
  %86 = icmp ugt i64 %85, 0
  br label %87

87:                                               ; preds = %84, %81
  %88 = phi i1 [ true, %81 ], [ %86, %84 ]
  %89 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 1
  %90 = zext i1 %88 to i8
  store i8 %90, ptr %89, align 8, !tbaa !90
  %91 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 1
  %92 = load i8, ptr %91, align 8, !tbaa !90, !range !84, !noundef !85
  %93 = trunc i8 %92 to i1
  br i1 %93, label %94, label %105

94:                                               ; preds = %87
  %95 = load ptr, ptr %6, align 8, !tbaa !5
  %96 = load i64, ptr %16, align 8, !tbaa !83
  %97 = trunc i64 %96 to i32
  %98 = load i64, ptr %18, align 8, !tbaa !83
  %99 = trunc i64 %98 to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %95, i32 noundef 4, ptr noundef @.str.133, i32 noundef %97, i32 noundef %99)
          to label %100 unwind label %101

100:                                              ; preds = %94
  br label %105

101:                                              ; preds = %105, %94, %73
  %102 = landingpad { ptr, i32 }
          cleanup
  %103 = extractvalue { ptr, i32 } %102, 0
  store ptr %103, ptr %12, align 8
  %104 = extractvalue { ptr, i32 } %102, 1
  store i32 %104, ptr %13, align 4
  br label %405

105:                                              ; preds = %100, %87
  %106 = load ptr, ptr %6, align 8, !tbaa !5
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %106, i32 noundef 1, ptr noundef @.str.134)
          to label %107 unwind label %101

107:                                              ; preds = %105
  %108 = load i32, ptr %24, align 4, !tbaa !88
  store i32 %108, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %399

109:                                              ; preds = %78, %75
  %110 = load i32, ptr %24, align 4, !tbaa !88
  %111 = icmp eq i32 %110, 24
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #8
  call void @llvm.lifetime.start.p0(i64 8, ptr %26) #8
  br i1 %111, label %112, label %126

112:                                              ; preds = %109
  %113 = load i32, ptr %24, align 4, !tbaa !88
  %114 = icmp ne i32 %113, 6
  br i1 %114, label %115, label %126

115:                                              ; preds = %112
  %116 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %117 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %116, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %118 unwind label %130

118:                                              ; preds = %115
  %119 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %25, i32 0, i32 0
  %120 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %119, i32 0, i32 0
  store ptr %117, ptr %120, align 8
  %121 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %122 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %121) #8
  %123 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %26, i32 0, i32 0
  %124 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %123, i32 0, i32 0
  store ptr %122, ptr %124, align 8
  %125 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %25, ptr noundef nonnull align 8 dereferenceable(8) %26) #8
  br label %126

126:                                              ; preds = %118, %112, %109
  %127 = phi i1 [ false, %112 ], [ false, %109 ], [ %125, %118 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr %26) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br i1 %127, label %128, label %134

128:                                              ; preds = %126
  %129 = load i64, ptr %21, align 8, !tbaa !83
  store i64 %129, ptr %22, align 8, !tbaa !83
  br label %134

130:                                              ; preds = %115
  %131 = landingpad { ptr, i32 }
          cleanup
  %132 = extractvalue { ptr, i32 } %131, 0
  store ptr %132, ptr %12, align 8
  %133 = extractvalue { ptr, i32 } %131, 1
  store i32 %133, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #8
  br label %405

134:                                              ; preds = %128, %126
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #8
  call void @llvm.lifetime.start.p0(i64 32, ptr %28) #8
  %135 = load i64, ptr %22, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %28, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %135)
          to label %136 unwind label %156

136:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #8
  %137 = load i64, ptr %22, align 8, !tbaa !83
  %138 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %137)
          to label %139 unwind label %160

139:                                              ; preds = %136
  store i64 %138, ptr %29, align 8, !tbaa !83
  %140 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %141 unwind label %160

141:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 32, ptr %30) #8
  %142 = load i64, ptr %29, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %30, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %142)
          to label %143 unwind label %164

143:                                              ; preds = %141
  %144 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  %145 = load i64, ptr %29, align 8, !tbaa !83
  %146 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %145)
          to label %147 unwind label %160

147:                                              ; preds = %143
  store i64 %146, ptr %22, align 8, !tbaa !83
  %148 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %149 unwind label %160

149:                                              ; preds = %147
  br i1 %148, label %150, label %168

150:                                              ; preds = %149
  %151 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %152 unwind label %160

152:                                              ; preds = %150
  %153 = load ptr, ptr %6, align 8, !tbaa !5
  %154 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %153, i32 noundef 5, ptr noundef @.str.135, ptr noundef %154)
          to label %155 unwind label %160

155:                                              ; preds = %152
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %398

156:                                              ; preds = %134
  %157 = landingpad { ptr, i32 }
          cleanup
  %158 = extractvalue { ptr, i32 } %157, 0
  store ptr %158, ptr %12, align 8
  %159 = extractvalue { ptr, i32 } %157, 1
  store i32 %159, ptr %13, align 4
  br label %404

160:                                              ; preds = %152, %150, %147, %143, %139, %136
  %161 = landingpad { ptr, i32 }
          cleanup
  %162 = extractvalue { ptr, i32 } %161, 0
  store ptr %162, ptr %12, align 8
  %163 = extractvalue { ptr, i32 } %161, 1
  store i32 %163, ptr %13, align 4
  br label %403

164:                                              ; preds = %141
  %165 = landingpad { ptr, i32 }
          cleanup
  %166 = extractvalue { ptr, i32 } %165, 0
  store ptr %166, ptr %12, align 8
  %167 = extractvalue { ptr, i32 } %165, 1
  store i32 %167, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %30) #8
  br label %403

168:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 8, ptr %31) #8
  %169 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %170 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %169, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %171 unwind label %202

171:                                              ; preds = %168
  %172 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %31, i32 0, i32 0
  %173 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %172, i32 0, i32 0
  store ptr %170, ptr %173, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #8
  %174 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %175 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %174) #8
  %176 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %32, i32 0, i32 0
  %177 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %176, i32 0, i32 0
  store ptr %175, ptr %177, align 8
  %178 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %32) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #8
  br i1 %178, label %179, label %221

179:                                              ; preds = %171
  %180 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 6
  %181 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %180) #8
  br i1 %181, label %182, label %220

182:                                              ; preds = %179
  %183 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %23)
          to label %184 unwind label %202

184:                                              ; preds = %182
  %185 = load i64, ptr %22, align 8, !tbaa !83
  store i64 %185, ptr %29, align 8, !tbaa !83
  %186 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %187 unwind label %202

187:                                              ; preds = %184
  call void @llvm.lifetime.start.p0(i64 32, ptr %33) #8
  %188 = load i64, ptr %29, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %188)
          to label %189 unwind label %206

189:                                              ; preds = %187
  %190 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  %191 = load i64, ptr %29, align 8, !tbaa !83
  %192 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %191)
          to label %193 unwind label %202

193:                                              ; preds = %189
  store i64 %192, ptr %22, align 8, !tbaa !83
  %194 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %195 unwind label %202

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

196:                                              ; preds = %195
  %197 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %198 unwind label %202

198:                                              ; preds = %196
  %199 = load ptr, ptr %6, align 8, !tbaa !5
  %200 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %199, i32 noundef 5, ptr noundef @.str.136, ptr noundef %200)
          to label %201 unwind label %202

201:                                              ; preds = %198
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %397

202:                                              ; preds = %314, %310, %304, %301, %293, %291, %287, %281, %234, %198, %196, %193, %189, %184, %182, %168
  %203 = landingpad { ptr, i32 }
          cleanup
  %204 = extractvalue { ptr, i32 } %203, 0
  store ptr %204, ptr %12, align 8
  %205 = extractvalue { ptr, i32 } %203, 1
  store i32 %205, ptr %13, align 4
  br label %402

206:                                              ; preds = %187
  %207 = landingpad { ptr, i32 }
          cleanup
  %208 = extractvalue { ptr, i32 } %207, 0
  store ptr %208, ptr %12, align 8
  %209 = extractvalue { ptr, i32 } %207, 1
  store i32 %209, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %33) #8
  br label %402

210:                                              ; preds = %195
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #8
  %211 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %212 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %211, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %213 unwind label %216

213:                                              ; preds = %210
  %214 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %34, i32 0, i32 0
  %215 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %214, i32 0, i32 0
  store ptr %212, ptr %215, align 8
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %31, ptr align 8 %34, i64 8, i1 false)
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %220

216:                                              ; preds = %210
  %217 = landingpad { ptr, i32 }
          cleanup
  %218 = extractvalue { ptr, i32 } %217, 0
  store ptr %218, ptr %12, align 8
  %219 = extractvalue { ptr, i32 } %217, 1
  store i32 %219, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #8
  br label %402

220:                                              ; preds = %213, %179
  br label %221

221:                                              ; preds = %220, %171
  call void @llvm.lifetime.start.p0(i64 8, ptr %35) #8
  %222 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %223 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %222) #8
  %224 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %35, i32 0, i32 0
  %225 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %224, i32 0, i32 0
  store ptr %223, ptr %225, align 8
  %226 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %31, ptr noundef nonnull align 8 dereferenceable(8) %35) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #8
  br i1 %226, label %227, label %241

227:                                              ; preds = %221
  %228 = load i64, ptr %16, align 8, !tbaa !83
  %229 = add i64 %228, 1
  store i64 %229, ptr %16, align 8, !tbaa !83
  %230 = load i64, ptr %16, align 8, !tbaa !83
  %231 = load i64, ptr %17, align 8, !tbaa !83
  %232 = urem i64 %230, %231
  %233 = icmp eq i64 %232, 0
  br i1 %233, label %234, label %240

234:                                              ; preds = %227
  %235 = load ptr, ptr %6, align 8, !tbaa !5
  %236 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %235, i32 noundef 4, ptr noundef @.str.137, ptr noundef %236)
          to label %237 unwind label %202

237:                                              ; preds = %234
  %238 = load i64, ptr %17, align 8, !tbaa !83
  %239 = mul i64 %238, 2
  store i64 %239, ptr %17, align 8, !tbaa !83
  br label %240

240:                                              ; preds = %237, %227
  br label %281

241:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #8
  store i8 0, ptr %36, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #8
  %242 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 1 dereferenceable(1) %36, i32 noundef -1)
          to label %243 unwind label %261

243:                                              ; preds = %241
  store double %242, ptr %37, align 8, !tbaa !91
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %244 unwind label %261

244:                                              ; preds = %243
  %245 = load i8, ptr %14, align 1, !tbaa !81, !range !84, !noundef !85
  %246 = trunc i8 %245 to i1
  br i1 %246, label %247, label %266

247:                                              ; preds = %244
  %248 = load i64, ptr %18, align 8, !tbaa !83
  %249 = add i64 %248, 1
  store i64 %249, ptr %18, align 8, !tbaa !83
  %250 = load i64, ptr %18, align 8, !tbaa !83
  %251 = load i64, ptr %19, align 8, !tbaa !83
  %252 = urem i64 %250, %251
  %253 = icmp eq i64 %252, 0
  br i1 %253, label %254, label %265

254:                                              ; preds = %247
  %255 = load ptr, ptr %6, align 8, !tbaa !5
  %256 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  %257 = load double, ptr %37, align 8, !tbaa !91
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %255, i32 noundef 4, ptr noundef @.str.138, ptr noundef %256, double noundef %257)
          to label %258 unwind label %261

258:                                              ; preds = %254
  %259 = load i64, ptr %19, align 8, !tbaa !83
  %260 = mul i64 %259, 2
  store i64 %260, ptr %19, align 8, !tbaa !83
  br label %265

261:                                              ; preds = %273, %269, %254, %243, %241
  %262 = landingpad { ptr, i32 }
          cleanup
  %263 = extractvalue { ptr, i32 } %262, 0
  store ptr %263, ptr %12, align 8
  %264 = extractvalue { ptr, i32 } %262, 1
  store i32 %264, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  br label %402

265:                                              ; preds = %258, %247
  br label %277

266:                                              ; preds = %244
  %267 = load i8, ptr %36, align 1, !tbaa !81, !range !84, !noundef !85
  %268 = trunc i8 %267 to i1
  br i1 %268, label %269, label %273

269:                                              ; preds = %266
  %270 = load ptr, ptr %6, align 8, !tbaa !5
  %271 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %270, i32 noundef 5, ptr noundef @.str.139, ptr noundef %271)
          to label %272 unwind label %261

272:                                              ; preds = %269
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %278

273:                                              ; preds = %266
  %274 = load double, ptr %37, align 8, !tbaa !91
  %275 = load i32, ptr %27, align 4, !tbaa !92
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8) %10, double noundef %274, i32 noundef %275)
          to label %276 unwind label %261

276:                                              ; preds = %273
  br label %277

277:                                              ; preds = %276, %265
  store i32 0, ptr %20, align 4
  br label %278

278:                                              ; preds = %277, %272
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #8
  %279 = load i32, ptr %20, align 4
  switch i32 %279, label %397 [
    i32 0, label %280
  ]

280:                                              ; preds = %278
  br label %281

281:                                              ; preds = %280, %240
  %282 = load i64, ptr %22, align 8, !tbaa !83
  %283 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %282, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %284 unwind label %202

284:                                              ; preds = %281
  br i1 %283, label %396, label %285

285:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #8
  %286 = load i64, ptr %22, align 8, !tbaa !83
  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) %8, i64 noundef %286)
          to label %287 unwind label %297

287:                                              ; preds = %285
  %288 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  %289 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %290 unwind label %202

290:                                              ; preds = %287
  br i1 %289, label %291, label %301

291:                                              ; preds = %290
  %292 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %293 unwind label %202

293:                                              ; preds = %291
  %294 = load ptr, ptr %6, align 8, !tbaa !5
  %295 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %294, i32 noundef 5, ptr noundef @.str.140, ptr noundef %295)
          to label %296 unwind label %202

296:                                              ; preds = %293
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %397

297:                                              ; preds = %285
  %298 = landingpad { ptr, i32 }
          cleanup
  %299 = extractvalue { ptr, i32 } %298, 0
  store ptr %299, ptr %12, align 8
  %300 = extractvalue { ptr, i32 } %298, 1
  store i32 %300, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #8
  br label %402

301:                                              ; preds = %290
  %302 = load i64, ptr %22, align 8, !tbaa !83
  %303 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %302)
          to label %304 unwind label %202

304:                                              ; preds = %301
  store i64 %303, ptr %29, align 8, !tbaa !83
  %305 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.10)
          to label %306 unwind label %202

306:                                              ; preds = %304
  %307 = load i64, ptr %29, align 8, !tbaa !83
  %308 = add i64 %307, 1
  store i64 %308, ptr %29, align 8, !tbaa !83
  call void @llvm.lifetime.start.p0(i64 32, ptr %39) #8
  %309 = load i64, ptr %29, align 8, !tbaa !83
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %39, ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %309)
          to label %310 unwind label %320

310:                                              ; preds = %306
  %311 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  %312 = load i64, ptr %29, align 8, !tbaa !83
  %313 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %312)
          to label %314 unwind label %202

314:                                              ; preds = %310
  store i64 %313, ptr %22, align 8, !tbaa !83
  %315 = load i64, ptr %22, align 8, !tbaa !83
  %316 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %8, i64 noundef %315, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %317 unwind label %202

317:                                              ; preds = %314
  br i1 %316, label %318, label %319

318:                                              ; preds = %317
  br label %325

319:                                              ; preds = %317
  call void @__assert_fail(ptr noundef @.str.132, ptr noundef @.str.64, i32 noundef 1215, ptr noundef @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi) #9
  unreachable

320:                                              ; preds = %306
  %321 = landingpad { ptr, i32 }
          cleanup
  %322 = extractvalue { ptr, i32 } %321, 0
  store ptr %322, ptr %12, align 8
  %323 = extractvalue { ptr, i32 } %321, 1
  store i32 %323, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 32, ptr %39) #8
  br label %402

324:                                              ; No predecessors!
  br label %325

325:                                              ; preds = %324, %318
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #8
  %326 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %327 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %326, ptr noundef nonnull align 8 dereferenceable(32) %28)
          to label %328 unwind label %349

328:                                              ; preds = %325
  %329 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %40, i32 0, i32 0
  %330 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %329, i32 0, i32 0
  store ptr %327, ptr %330, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #8
  %331 = getelementptr inbounds %"class.free_format_parser::HMpsFF", ptr %44, i32 0, i32 51
  %332 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %331) #8
  %333 = getelementptr inbounds %"struct.std::__detail::_Node_iterator", ptr %41, i32 0, i32 0
  %334 = getelementptr inbounds %"struct.std::__detail::_Node_iterator_base", ptr %333, i32 0, i32 0
  store ptr %332, ptr %334, align 8
  %335 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %40, ptr noundef nonnull align 8 dereferenceable(8) %41) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #8
  br i1 %335, label %336, label %354

336:                                              ; preds = %328
  %337 = load i64, ptr %16, align 8, !tbaa !83
  %338 = add i64 %337, 1
  store i64 %338, ptr %16, align 8, !tbaa !83
  %339 = load i64, ptr %16, align 8, !tbaa !83
  %340 = load i64, ptr %17, align 8, !tbaa !83
  %341 = urem i64 %339, %340
  %342 = icmp eq i64 %341, 0
  br i1 %342, label %343, label %353

343:                                              ; preds = %336
  %344 = load ptr, ptr %6, align 8, !tbaa !5
  %345 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %344, i32 noundef 4, ptr noundef @.str.137, ptr noundef %345)
          to label %346 unwind label %349

346:                                              ; preds = %343
  %347 = load i64, ptr %17, align 8, !tbaa !83
  %348 = mul i64 %347, 2
  store i64 %348, ptr %17, align 8, !tbaa !83
  br label %353

349:                                              ; preds = %354, %343, %325
  %350 = landingpad { ptr, i32 }
          cleanup
  %351 = extractvalue { ptr, i32 } %350, 0
  store ptr %351, ptr %12, align 8
  %352 = extractvalue { ptr, i32 } %350, 1
  store i32 %352, ptr %13, align 4
  br label %395

353:                                              ; preds = %346, %336
  store i32 2, ptr %20, align 4
  br label %392, !llvm.loop !86

354:                                              ; preds = %328
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8) %9, ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef nonnull align 4 dereferenceable(4) %27, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %355 unwind label %349

355:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #8
  store i8 0, ptr %42, align 1, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 8, ptr %43) #8
  %356 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %44, ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull align 1 dereferenceable(1) %42, i32 noundef -1)
          to label %357 unwind label %374

357:                                              ; preds = %355
  store double %356, ptr %43, align 8, !tbaa !91
  %358 = load i8, ptr %14, align 1, !tbaa !81, !range !84, !noundef !85
  %359 = trunc i8 %358 to i1
  br i1 %359, label %360, label %379

360:                                              ; preds = %357
  %361 = load i64, ptr %18, align 8, !tbaa !83
  %362 = add i64 %361, 1
  store i64 %362, ptr %18, align 8, !tbaa !83
  %363 = load i64, ptr %18, align 8, !tbaa !83
  %364 = load i64, ptr %19, align 8, !tbaa !83
  %365 = urem i64 %363, %364
  %366 = icmp eq i64 %365, 0
  br i1 %366, label %367, label %378

367:                                              ; preds = %360
  %368 = load ptr, ptr %6, align 8, !tbaa !5
  %369 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  %370 = load double, ptr %43, align 8, !tbaa !91
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %368, i32 noundef 4, ptr noundef @.str.138, ptr noundef %369, double noundef %370)
          to label %371 unwind label %374

371:                                              ; preds = %367
  %372 = load i64, ptr %19, align 8, !tbaa !83
  %373 = mul i64 %372, 2
  store i64 %373, ptr %19, align 8, !tbaa !83
  br label %378

374:                                              ; preds = %386, %382, %367, %355
  %375 = landingpad { ptr, i32 }
          cleanup
  %376 = extractvalue { ptr, i32 } %375, 0
  store ptr %376, ptr %12, align 8
  %377 = extractvalue { ptr, i32 } %375, 1
  store i32 %377, ptr %13, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  br label %395

378:                                              ; preds = %371, %360
  br label %390

379:                                              ; preds = %357
  %380 = load i8, ptr %42, align 1, !tbaa !81, !range !84, !noundef !85
  %381 = trunc i8 %380 to i1
  br i1 %381, label %382, label %386

382:                                              ; preds = %379
  %383 = load ptr, ptr %6, align 8, !tbaa !5
  %384 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %383, i32 noundef 5, ptr noundef @.str.139, ptr noundef %384)
          to label %385 unwind label %374

385:                                              ; preds = %382
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %391

386:                                              ; preds = %379
  %387 = load double, ptr %43, align 8, !tbaa !91
  %388 = load i32, ptr %27, align 4, !tbaa !92
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8) %10, double noundef %387, i32 noundef %388)
          to label %389 unwind label %374

389:                                              ; preds = %386
  br label %390

390:                                              ; preds = %389, %378
  store i32 0, ptr %20, align 4
  br label %391

391:                                              ; preds = %390, %385
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #8
  br label %392

392:                                              ; preds = %391, %353
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  %393 = load i32, ptr %20, align 4
  switch i32 %393, label %397 [
    i32 0, label %394
  ]

394:                                              ; preds = %392
  br label %396

395:                                              ; preds = %374, %349
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #8
  br label %402

396:                                              ; preds = %394, %284
  store i32 0, ptr %20, align 4
  br label %397

397:                                              ; preds = %396, %392, %296, %278, %201
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %398

398:                                              ; preds = %397, %155
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  br label %399

399:                                              ; preds = %398, %107
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  %400 = load i32, ptr %20, align 4
  switch i32 %400, label %407 [
    i32 0, label %401
    i32 2, label %53
  ]

401:                                              ; preds = %399
  br label %53, !llvm.loop !86

402:                                              ; preds = %395, %320, %297, %261, %216, %206, %202
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #8
  br label %403

403:                                              ; preds = %402, %164, %160
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #8
  br label %404

404:                                              ; preds = %403, %156
  call void @llvm.lifetime.end.p0(i64 32, ptr %28) #8
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #8
  br label %405

405:                                              ; preds = %404, %130, %101
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %23) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #8
  br label %409

406:                                              ; preds = %56
  store i32 26, ptr %4, align 4
  store i32 1, ptr %20, align 4
  br label %407

407:                                              ; preds = %406, %399, %72
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  %408 = load i32, ptr %4, align 4
  ret i32 %408

409:                                              ; preds = %405, %65
  call void @llvm.lifetime.end.p0(i64 8, ptr %19) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %18) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #8
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #8
  br label %410

410:                                              ; preds = %409, %61
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #8
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #8
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %8) #8
  call void @llvm.lifetime.end.p0(i64 32, ptr %8) #8
  br label %411

411:                                              ; preds = %410
  %412 = load ptr, ptr %12, align 8
  %413 = load i32, ptr %13, align 4
  %414 = insertvalue { ptr, i32 } poison, ptr %412, 0
  %415 = insertvalue { ptr, i32 } %414, i32 %413, 1
  resume { ptr, i32 } %415
}

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32)) #4 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) #6

declare noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, ptr noundef nonnull align 8 dereferenceable(32)) #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)) #4 align 2

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) #7 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8), double noundef, i32 noundef) #7 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 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { 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 #5 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nounwind }
attributes #9 = { noreturn nounwind }

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

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


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%class.anon.78 = type { ptr }
%class.anon.79 = type { ptr }
%"struct.std::__detail::_Node_iterator" = type { %"struct.std::__detail::_Node_iterator_base" }
%"struct.std::__detail::_Node_iterator_base" = type { ptr }

@.str.10 = external hidden unnamed_addr constant [1 x i8], align 1
@_ZL17default_non_charsB5cxx11 = external hidden global %"class.std::__cxx11::basic_string", align 8
@.str.64 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [26 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [25 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [42 x i8], align 1
@__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi = external hidden unnamed_addr constant [95 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 uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #3 align 2

; Function Attrs: mustprogress nounwind uwtable
declare 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_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(89) %1, ptr noundef nonnull align 8 dereferenceable(16) %2) local_unnamed_addr #3 align 2 personality ptr @__gxx_personality_v0 {
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %class.anon.78, align 8
  %6 = alloca %class.anon.79, align 8
  %7 = alloca i8, align 1
  %8 = alloca i8, align 1
  %9 = alloca i8, align 1
  %10 = alloca i64, align 8
  %11 = alloca i64, align 8
  %12 = alloca %"class.std::__cxx11::basic_string", align 8
  %13 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %14 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %15 = alloca i32, align 4
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %19 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %20 = alloca %"class.std::__cxx11::basic_string", align 8
  %21 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %22 = alloca i8, align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %26 = alloca %"struct.std::__detail::_Node_iterator", align 8
  %27 = alloca i8, align 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %4) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #7
  store ptr %0, ptr %5, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #7
  store ptr %0, ptr %6, align 8, !tbaa !10
  %28 = getelementptr inbounds i8, ptr %0, i64 568
  %29 = getelementptr inbounds i8, ptr %0, i64 24
  %30 = load i32, ptr %29, align 8, !tbaa !12
  %31 = sext i32 %30 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %7) #7
  store i8 0, ptr %7, align 1, !tbaa !80
  invoke void @_ZNSt6vectorIbSaIbEE6assignEmRKb(ptr noundef nonnull align 8 dereferenceable(40) %28, i64 noundef %31, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %32 unwind label %42

32:                                               ; preds = %3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  %33 = getelementptr inbounds i8, ptr %0, i64 560
  store i8 0, ptr %33, align 8, !tbaa !81
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #7
  store i8 0, ptr %8, align 1, !tbaa !80
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %9) #7
  %34 = getelementptr inbounds i8, ptr %0, i64 960
  %35 = getelementptr inbounds i8, ptr %0, i64 40
  br label %.outer

.outer:                                           ; preds = %.outer.backedge, %32
  %.0106.ph = phi i64 [ 1, %32 ], [ %.0106.ph.be, %.outer.backedge ]
  %.095.ph = phi i64 [ 0, %32 ], [ %.095.ph.be, %.outer.backedge ]
  %.085.ph = phi i64 [ 1, %32 ], [ %.085.ph.be, %.outer.backedge ]
  %.072.ph = phi i64 [ 0, %32 ], [ %.072.ph.be, %.outer.backedge ]
  br label %36

36:                                               ; preds = %.outer, %39
  %37 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF10getMpsLineERSiRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERb(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 1 dereferenceable(1) %9)
          to label %38 unwind label %.loopexit167

38:                                               ; preds = %36
  br i1 %37, label %39, label %.loopexit

39:                                               ; preds = %38
  %40 = load i8, ptr %9, align 1, !tbaa !80, !range !82, !noundef !83
  %41 = trunc nuw i8 %40 to i1
  br i1 %41, label %36, label %44, !llvm.loop !84

42:                                               ; preds = %3
  %43 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %7) #7
  br label %228

.loopexit167:                                     ; preds = %36
  %lpad.loopexit169 = landingpad { ptr, i32 }
          cleanup
  br label %227

.loopexit.split-lp168:                            ; preds = %44
  %lpad.loopexit.split-lp170 = landingpad { ptr, i32 }
          cleanup
  br label %227

44:                                               ; preds = %39
  %45 = invoke noundef zeroext i1 @_ZN18free_format_parser6HMpsFF7timeoutEv(ptr noundef nonnull align 8 dereferenceable(1104) %0)
          to label %46 unwind label %.loopexit.split-lp168

46:                                               ; preds = %44
  br i1 %45, label %.loopexit, label %47

47:                                               ; preds = %46
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #7
  store i64 0, ptr %10, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #7
  store i64 0, ptr %11, align 8, !tbaa !86
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %12) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  %48 = invoke noundef i32 @_ZNK18free_format_parser6HMpsFF14checkFirstWordERNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERmS8_S7_(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull align 8 dereferenceable(8) %10, ptr noundef nonnull align 8 dereferenceable(8) %11, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %49 unwind label %.loopexit151

49:                                               ; preds = %47
  switch i32 %48, label %50 [
    i32 24, label %60
    i32 6, label %60
  ]

50:                                               ; preds = %49
  %51 = icmp ne i64 %.072.ph, 0
  %52 = icmp ne i64 %.095.ph, 0
  %53 = select i1 %51, i1 true, i1 %52
  %54 = getelementptr inbounds i8, ptr %0, i64 8
  %55 = zext i1 %53 to i8
  store i8 %55, ptr %54, align 8, !tbaa !87
  br i1 %53, label %56, label %59

56:                                               ; preds = %50
  %57 = trunc i64 %.072.ph to i32
  %58 = trunc i64 %.095.ph to i32
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.133, i32 noundef %57, i32 noundef %58)
          to label %59 unwind label %.loopexit.split-lp

.loopexit151:                                     ; preds = %47
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %226

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

59:                                               ; preds = %56, %50
  invoke void (ptr, i32, ptr, ...) @_Z11highsLogDevRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 1, ptr noundef nonnull @.str.134)
          to label %.thread129 unwind label %.loopexit.split-lp

.thread129:                                       ; preds = %59
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.loopexit

60:                                               ; preds = %49, %49
  %61 = icmp eq i32 %48, 24
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #7
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #7
  br i1 %61, label %62, label %.critedge

62:                                               ; preds = %60
  %63 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %34, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %64 unwind label %69

64:                                               ; preds = %62
  store ptr %63, ptr %13, align 8
  %65 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %34) #7
  store ptr %65, ptr %14, align 8
  %66 = call noundef zeroext i1 @_ZNSt8__detailneERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %13, ptr noundef nonnull align 8 dereferenceable(8) %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br i1 %66, label %67, label %71

67:                                               ; preds = %64
  %68 = load i64, ptr %10, align 8, !tbaa !86
  store i64 %68, ptr %11, align 8, !tbaa !86
  br label %71

69:                                               ; preds = %62
  %70 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %226

.critedge:                                        ; preds = %60
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #7
  br label %71

71:                                               ; preds = %.critedge, %67, %64
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %16) #7
  %72 = load i64, ptr %11, align 8, !tbaa !86
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %72)
          to label %73 unwind label %88

73:                                               ; preds = %71
  %74 = load i64, ptr %11, align 8, !tbaa !86
  %75 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %74)
          to label %76 unwind label %.loopexit152

76:                                               ; preds = %73
  %77 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
          to label %78 unwind label %.loopexit152

78:                                               ; preds = %76
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %17) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %17, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %75)
          to label %79 unwind label %90

79:                                               ; preds = %78
  %80 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  %81 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %75)
          to label %82 unwind label %.loopexit152

82:                                               ; preds = %79
  store i64 %81, ptr %11, align 8, !tbaa !86
  %83 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
  br i1 %83, label %84, label %92

84:                                               ; preds = %82
  %85 = 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 %86 unwind label %.loopexit.split-lp153

86:                                               ; preds = %84
  %87 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.135, ptr noundef %87)
          to label %.thread136 unwind label %.loopexit.split-lp153

.thread136:                                       ; preds = %86
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.loopexit

88:                                               ; preds = %71
  %89 = landingpad { ptr, i32 }
          cleanup
  br label %225

.loopexit152:                                     ; preds = %73, %76, %79
  %lpad.loopexit154 = landingpad { ptr, i32 }
          cleanup
  br label %224

.loopexit.split-lp153:                            ; preds = %84, %86
  %lpad.loopexit.split-lp155 = landingpad { ptr, i32 }
          cleanup
  br label %224

90:                                               ; preds = %78
  %91 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %17) #7
  br label %224

92:                                               ; preds = %82
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #7
  %93 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %34, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %94 unwind label %.loopexit157

94:                                               ; preds = %92
  store ptr %93, ptr %18, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #7
  %95 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %34) #7
  store ptr %95, ptr %19, align 8
  %96 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #7
  br i1 %96, label %97, label %121

97:                                               ; preds = %94
  %98 = call noundef zeroext i1 @_ZSteqIcEN9__gnu_cxx11__enable_ifIXsr9__is_charIT_EE7__valueEbE6__typeERKNSt7__cxx1112basic_stringIS2_St11char_traitsIS2_ESaIS2_EEESC_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %35) #7
  br i1 %98, label %99, label %121

99:                                               ; preds = %97
  %100 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 8 dereferenceable(32) %12)
          to label %101 unwind label %.loopexit157

101:                                              ; preds = %99
  %102 = load i64, ptr %11, align 8, !tbaa !86
  %103 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
          to label %104 unwind label %.loopexit157

104:                                              ; preds = %101
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %20) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %20, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %102)
          to label %105 unwind label %114

105:                                              ; preds = %104
  %106 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %20) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  %107 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %102)
          to label %108 unwind label %.loopexit157

108:                                              ; preds = %105
  store i64 %107, ptr %11, align 8, !tbaa !86
  %109 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
  br i1 %109, label %110, label %116

110:                                              ; preds = %108
  %111 = 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 %.invoke unwind label %.loopexit.split-lp158

.invoke:                                          ; preds = %110, %164
  %112 = phi ptr [ @.str.140, %164 ], [ @.str.136, %110 ]
  %113 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull %112, ptr noundef %113)
          to label %.thread144 unwind label %.loopexit.split-lp158

.loopexit157:                                     ; preds = %92, %99, %101, %105, %128, %155, %168, %171, %175, %178
  %lpad.loopexit159 = landingpad { ptr, i32 }
          cleanup
  br label %223

.loopexit.split-lp158:                            ; preds = %.invoke, %110, %164
  %lpad.loopexit.split-lp160 = landingpad { ptr, i32 }
          cleanup
  br label %223

114:                                              ; preds = %104
  %115 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %20) #7
  br label %223

116:                                              ; preds = %108
  %117 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %34, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %118 unwind label %119

118:                                              ; preds = %116
  store ptr %117, ptr %18, align 8
  br label %121

119:                                              ; preds = %116
  %120 = landingpad { ptr, i32 }
          cleanup
  br label %223

121:                                              ; preds = %97, %118, %94
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #7
  %122 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %34) #7
  store ptr %122, ptr %21, align 8
  %123 = call noundef zeroext i1 @_ZNSt8__detaileqERKNS_19_Node_iterator_baseISt4pairIKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiELb1EEESC_(ptr noundef nonnull align 8 dereferenceable(8) %18, ptr noundef nonnull align 8 dereferenceable(8) %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #7
  br i1 %123, label %124, label %132

124:                                              ; preds = %121
  %125 = add i64 %.072.ph, 1
  %126 = urem i64 %125, %.0106.ph
  %127 = icmp eq i64 %126, 0
  br i1 %127, label %128, label %155

128:                                              ; preds = %124
  %129 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.137, ptr noundef %129)
          to label %130 unwind label %.loopexit157

130:                                              ; preds = %128
  %131 = shl i64 %.0106.ph, 1
  br label %155

132:                                              ; preds = %121
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #7
  store i8 0, ptr %22, align 1, !tbaa !80
  %133 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 1 dereferenceable(1) %22, i32 noundef -1)
          to label %134 unwind label %.loopexit162

134:                                              ; preds = %132
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %135 unwind label %.loopexit162

135:                                              ; preds = %134
  %136 = load i8, ptr %8, align 1, !tbaa !80, !range !82, !noundef !83
  %137 = trunc nuw i8 %136 to i1
  br i1 %137, label %138, label %147

138:                                              ; preds = %135
  %139 = add i64 %.095.ph, 1
  %140 = urem i64 %139, %.085.ph
  %141 = icmp eq i64 %140, 0
  br i1 %141, label %142, label %.thread

142:                                              ; preds = %138
  %143 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.138, ptr noundef %143, double noundef %133)
          to label %144 unwind label %.loopexit162

144:                                              ; preds = %142
  %145 = shl i64 %.085.ph, 1
  br label %.thread

.loopexit162:                                     ; preds = %132, %134, %142, %152
  %lpad.loopexit164 = landingpad { ptr, i32 }
          cleanup
  br label %146

.loopexit.split-lp163:                            ; preds = %150
  %lpad.loopexit.split-lp165 = landingpad { ptr, i32 }
          cleanup
  br label %146

146:                                              ; preds = %.loopexit.split-lp163, %.loopexit162
  %lpad.phi166 = phi { ptr, i32 } [ %lpad.loopexit164, %.loopexit162 ], [ %lpad.loopexit.split-lp165, %.loopexit.split-lp163 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  br label %223

147:                                              ; preds = %135
  %148 = load i8, ptr %22, align 1, !tbaa !80, !range !82, !noundef !83
  %149 = trunc nuw i8 %148 to i1
  br i1 %149, label %150, label %152

150:                                              ; preds = %147
  %151 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.139, ptr noundef %151)
          to label %154 unwind label %.loopexit.split-lp163

152:                                              ; preds = %147
  %153 = load i32, ptr %15, align 4, !tbaa !88
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8) %6, double noundef %133, i32 noundef %153)
          to label %.thread unwind label %.loopexit162

.thread:                                          ; preds = %152, %138, %144
  %.297.ph = phi i64 [ %.095.ph, %152 ], [ %139, %138 ], [ %139, %144 ]
  %.287.ph = phi i64 [ %.085.ph, %152 ], [ %.085.ph, %138 ], [ %145, %144 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  br label %155

154:                                              ; preds = %150
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #7
  br label %.thread144

155:                                              ; preds = %.thread, %124, %130
  %.1107 = phi i64 [ %131, %130 ], [ %.0106.ph, %124 ], [ %.0106.ph, %.thread ]
  %.398 = phi i64 [ %.095.ph, %130 ], [ %.095.ph, %124 ], [ %.297.ph, %.thread ]
  %.388 = phi i64 [ %.085.ph, %130 ], [ %.085.ph, %124 ], [ %.287.ph, %.thread ]
  %.173 = phi i64 [ %125, %130 ], [ %125, %124 ], [ %.072.ph, %.thread ]
  %156 = load i64, ptr %11, align 8, !tbaa !86
  %157 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %156, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %158 unwind label %.loopexit157

158:                                              ; preds = %155
  br i1 %157, label %.thread296, label %159

.thread296:                                       ; preds = %158
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.outer.backedge

159:                                              ; preds = %158
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %23) #7
  %160 = load i64, ptr %11, align 8, !tbaa !86
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %23, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %160)
          to label %161 unwind label %166

161:                                              ; preds = %159
  %162 = 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) %23) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  %163 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
  br i1 %163, label %164, label %168

164:                                              ; preds = %161
  %165 = 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 %.invoke unwind label %.loopexit.split-lp158

166:                                              ; preds = %159
  %167 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %23) #7
  br label %223

168:                                              ; preds = %161
  %169 = load i64, ptr %11, align 8, !tbaa !86
  %170 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %169)
          to label %171 unwind label %.loopexit157

171:                                              ; preds = %168
  %172 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEPKc(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull @.str.10)
          to label %173 unwind label %.loopexit157

173:                                              ; preds = %171
  %174 = add i64 %170, 1
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %24) #7
  invoke void @_Z10first_wordRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %24, ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %174)
          to label %175 unwind label %182

175:                                              ; preds = %173
  %176 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  %177 = invoke noundef i64 @_Z14first_word_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEm(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %174)
          to label %178 unwind label %.loopexit157

178:                                              ; preds = %175
  store i64 %177, ptr %11, align 8, !tbaa !86
  %179 = invoke noundef zeroext i1 @_Z6is_endRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEmRKS4_(ptr noundef nonnull align 8 dereferenceable(32) %4, i64 noundef %177, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %180 unwind label %.loopexit157

180:                                              ; preds = %178
  br i1 %179, label %184, label %181

181:                                              ; preds = %180
  call void @__assert_fail(ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.64, i32 noundef 1215, ptr noundef nonnull @__PRETTY_FUNCTION__._ZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSi) #8
  unreachable

182:                                              ; preds = %173
  %183 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %24) #7
  br label %223

184:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #7
  %185 = invoke ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE4findERSB_(ptr noundef nonnull align 8 dereferenceable(56) %34, ptr noundef nonnull align 8 dereferenceable(32) %16)
          to label %186 unwind label %197

186:                                              ; preds = %184
  store ptr %185, ptr %25, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #7
  %187 = call ptr @_ZNSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE3endEv(ptr noundef nonnull align 8 dereferenceable(56) %34) #7
  store ptr %187, ptr %26, align 8
  %188 = 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) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #7
  br i1 %188, label %189, label %199

189:                                              ; preds = %186
  %190 = add i64 %.173, 1
  %191 = urem i64 %190, %.1107
  %192 = icmp eq i64 %191, 0
  br i1 %192, label %193, label %.thread306, !llvm.loop !84

193:                                              ; preds = %189
  %194 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.137, ptr noundef %194)
          to label %195 unwind label %197

195:                                              ; preds = %193
  %196 = shl i64 %.1107, 1
  br label %.thread306, !llvm.loop !84

197:                                              ; preds = %199, %193, %184
  %198 = landingpad { ptr, i32 }
          cleanup
  br label %221

199:                                              ; preds = %186
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8) %5, ptr noundef nonnull align 8 dereferenceable(32) %16, ptr noundef nonnull align 4 dereferenceable(4) %15, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %200 unwind label %197

200:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %27) #7
  store i8 0, ptr %27, align 1, !tbaa !80
  %201 = invoke noundef double @_ZNK18free_format_parser6HMpsFF8getValueERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERbi(ptr noundef nonnull align 8 dereferenceable(1104) %0, ptr noundef nonnull align 8 dereferenceable(32) %12, ptr noundef nonnull align 1 dereferenceable(1) %27, i32 noundef -1)
          to label %202 unwind label %.loopexit318

202:                                              ; preds = %200
  %203 = load i8, ptr %8, align 1, !tbaa !80, !range !82, !noundef !83
  %204 = trunc nuw i8 %203 to i1
  br i1 %204, label %205, label %214

205:                                              ; preds = %202
  %206 = add i64 %.398, 1
  %207 = urem i64 %206, %.388
  %208 = icmp eq i64 %207, 0
  br i1 %208, label %209, label %.thread313

209:                                              ; preds = %205
  %210 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 4, ptr noundef nonnull @.str.138, ptr noundef %210, double noundef %201)
          to label %211 unwind label %.loopexit318

211:                                              ; preds = %209
  %212 = shl i64 %.388, 1
  br label %.thread313

.loopexit318:                                     ; preds = %200, %209, %219
  %lpad.loopexit320 = landingpad { ptr, i32 }
          cleanup
  br label %213

.loopexit.split-lp319:                            ; preds = %217
  %lpad.loopexit.split-lp321 = landingpad { ptr, i32 }
          cleanup
  br label %213

213:                                              ; preds = %.loopexit.split-lp319, %.loopexit318
  %lpad.phi = phi { ptr, i32 } [ %lpad.loopexit320, %.loopexit318 ], [ %lpad.loopexit.split-lp321, %.loopexit.split-lp319 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  br label %221

214:                                              ; preds = %202
  %215 = load i8, ptr %27, align 1, !tbaa !80, !range !82, !noundef !83
  %216 = trunc nuw i8 %215 to i1
  br i1 %216, label %217, label %219

217:                                              ; preds = %214
  %218 = call noundef ptr @_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %1, i32 noundef 5, ptr noundef nonnull @.str.139, ptr noundef %218)
          to label %222 unwind label %.loopexit.split-lp319

219:                                              ; preds = %214
  %220 = load i32, ptr %15, align 4, !tbaa !88
  invoke void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8) %6, double noundef %201, i32 noundef %220)
          to label %.thread313 unwind label %.loopexit318

221:                                              ; preds = %213, %197
  %.pn = phi { ptr, i32 } [ %198, %197 ], [ %lpad.phi, %213 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  br label %223

.thread144:                                       ; preds = %.invoke, %154
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.loopexit

.thread306:                                       ; preds = %195, %189
  %.3109.ph = phi i64 [ %.1107, %189 ], [ %196, %195 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.outer.backedge

.thread313:                                       ; preds = %211, %205, %219
  %.5100.ph = phi i64 [ %.398, %219 ], [ %206, %205 ], [ %206, %211 ]
  %.590.ph = phi i64 [ %.388, %219 ], [ %.388, %205 ], [ %212, %211 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.outer.backedge

.outer.backedge:                                  ; preds = %.thread313, %.thread306, %.thread296
  %.0106.ph.be = phi i64 [ %.1107, %.thread296 ], [ %.3109.ph, %.thread306 ], [ %.1107, %.thread313 ]
  %.095.ph.be = phi i64 [ %.398, %.thread296 ], [ %.398, %.thread306 ], [ %.5100.ph, %.thread313 ]
  %.085.ph.be = phi i64 [ %.388, %.thread296 ], [ %.388, %.thread306 ], [ %.590.ph, %.thread313 ]
  %.072.ph.be = phi i64 [ %.173, %.thread296 ], [ %190, %.thread306 ], [ %.173, %.thread313 ]
  br label %.outer, !llvm.loop !84

222:                                              ; preds = %217
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %.loopexit

223:                                              ; preds = %.loopexit157, %.loopexit.split-lp158, %221, %182, %166, %146, %119, %114
  %.pn116 = phi { ptr, i32 } [ %.pn, %221 ], [ %183, %182 ], [ %167, %166 ], [ %lpad.phi166, %146 ], [ %120, %119 ], [ %115, %114 ], [ %lpad.loopexit159, %.loopexit157 ], [ %lpad.loopexit.split-lp160, %.loopexit.split-lp158 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  br label %224

224:                                              ; preds = %.loopexit152, %.loopexit.split-lp153, %223, %90
  %.pn118 = phi { ptr, i32 } [ %.pn116, %223 ], [ %91, %90 ], [ %lpad.loopexit154, %.loopexit152 ], [ %lpad.loopexit.split-lp155, %.loopexit.split-lp153 ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #7
  br label %225

225:                                              ; preds = %224, %88
  %.pn118.pn = phi { ptr, i32 } [ %.pn118, %224 ], [ %89, %88 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  br label %226

226:                                              ; preds = %.loopexit151, %.loopexit.split-lp, %225, %69
  %.pn121 = phi { ptr, i32 } [ %.pn118.pn, %225 ], [ %70, %69 ], [ %lpad.loopexit, %.loopexit151 ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp ]
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %12) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %12) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #7
  br label %227

.loopexit:                                        ; preds = %46, %38, %222, %.thread144, %.thread136, %.thread129
  %.9 = phi i32 [ %48, %.thread129 ], [ 26, %.thread136 ], [ 26, %.thread144 ], [ 26, %222 ], [ 26, %38 ], [ 29, %46 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #7
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #7
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %4) #7
  ret i32 %.9

227:                                              ; preds = %.loopexit167, %.loopexit.split-lp168, %226
  %.pn121.pn = phi { ptr, i32 } [ %.pn121, %226 ], [ %lpad.loopexit169, %.loopexit167 ], [ %lpad.loopexit.split-lp170, %.loopexit.split-lp168 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %9) #7
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #7
  br label %228

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

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

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

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

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

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

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

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

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

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_0clERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERiRb"(ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 4 dereferenceable(4), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #6 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare hidden void @"_ZZN18free_format_parser6HMpsFF8parseRhsERK15HighsLogOptionsRSiENK3$_1clEdi"(ptr noundef nonnull align 8 dereferenceable(8), double noundef, i32 noundef) local_unnamed_addr #6 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 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nounwind }
attributes #8 = { noreturn nounwind }

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

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


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