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

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.0 }
%union.anon.0 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }
%class.HighsModel = type { %class.HighsLp, %class.HighsHessian }
%class.HighsLp = type { i32, i32, %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %"class.std::vector", %class.HighsSparseMatrix, i32, double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, i32, %"class.std::vector.9", %"class.std::vector.9", %"class.std::vector.14", %struct.HighsNameHash, %struct.HighsNameHash, i32, i32, %struct.HighsScale, i8, i8, i32, i8, %struct.HighsLpMods }
%"class.std::vector" = type { %"struct.std::_Vector_base" }
%"struct.std::_Vector_base" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl" = type { %"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" }
%"struct.std::_Vector_base<double, std::allocator<double>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%class.HighsSparseMatrix = type { i32, i32, i32, %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector" }
%"class.std::vector.4" = type { %"struct.std::_Vector_base.5" }
%"struct.std::_Vector_base.5" = 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.9" = type { %"struct.std::_Vector_base.10" }
%"struct.std::_Vector_base.10" = 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.14" = type { %"struct.std::_Vector_base.15" }
%"struct.std::_Vector_base.15" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl" = type { %"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" }
%"struct.std::_Vector_base<HighsVarType, std::allocator<HighsVarType>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%struct.HighsNameHash = type { %"class.std::unordered_map" }
%"class.std::unordered_map" = type { %"class.std::_Hashtable" }
%"class.std::_Hashtable" = type { ptr, i64, %"struct.std::__detail::_Hash_node_base", i64, %"struct.std::__detail::_Prime_rehash_policy", ptr }
%"struct.std::__detail::_Hash_node_base" = type { ptr }
%"struct.std::__detail::_Prime_rehash_policy" = type { float, i64 }
%struct.HighsScale = type { i32, i8, i32, i32, double, %"class.std::vector", %"class.std::vector" }
%struct.HighsLpMods = type { %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector", %"class.std::vector", %"class.std::vector.14", %"class.std::vector.4", %"class.std::vector", %"class.std::vector.4", %"class.std::vector", %"class.std::vector.4", %"class.std::vector", %"class.std::vector", %"class.std::vector" }
%class.HighsHessian = type { i32, i32, %"class.std::vector.4", %"class.std::vector.4", %"class.std::vector" }
%struct.HighsOptionsStruct = type { ptr, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", double, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", i32, %"class.std::__cxx11::basic_string", double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i32, %"class.std::__cxx11::basic_string", i8, i8, i8, i32, i8, i8, i32, i32, double, i32, i32, i32, i8, i32, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, double, double, double, double, double, double, double, double, double, double, double, i8, i8, i8, i8, i32, double, i8, i8, %"class.std::__cxx11::basic_string", double, i32, i32, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, i8, i8, %"class.std::__cxx11::basic_string", i8, i32, %struct.HighsLogOptions }
%struct.HighsLogOptions = type <{ ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::function", ptr, i8, [7 x i8] }>
%"class.std::function" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }

@.str.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.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.63 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [20 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

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN13FilereaderEms17readModelFromFileERK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10HighsModel(ptr noundef nonnull align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(1000) %3) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca i32, align 4
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca %"class.std::basic_ifstream", align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i8, align 1
  %21 = alloca i32, align 4
  %22 = alloca double, align 8
  %23 = alloca double, align 8
  %24 = alloca double, align 8
  %25 = alloca i8, align 1
  %26 = alloca i32, align 4
  store ptr %0, ptr %6, align 8, !tbaa !5
  store ptr %1, ptr %7, align 8, !tbaa !5
  store ptr %2, ptr %8, align 8, !tbaa !5
  store ptr %3, ptr %9, align 8, !tbaa !5
  %27 = load ptr, ptr %6, align 8
  call void @llvm.lifetime.start.p0(i64 520, ptr %10) #6
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %10)
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #6
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #6
  %28 = load ptr, ptr %9, align 8, !tbaa !5
  %29 = getelementptr inbounds %class.HighsModel, ptr %28, i32 0, i32 0
  store ptr %29, ptr %12, align 8, !tbaa !5
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %10, ptr noundef nonnull align 8 dereferenceable(32) %2, i32 noundef 8)
          to label %30 unwind label %58

30:                                               ; preds = %4
  %31 = invoke noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %10)
          to label %32 unwind label %58

32:                                               ; preds = %30
  br i1 %31, label %33, label %648

33:                                               ; preds = %32
  call void @llvm.lifetime.start.p0(i64 32, ptr %15) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #6
  store i8 0, ptr %20, align 1, !tbaa !9
  %34 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %35 unwind label %62

35:                                               ; preds = %33
  %36 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %37 unwind label %62

37:                                               ; preds = %35
  %38 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef @.str.53)
          to label %39 unwind label %62

39:                                               ; preds = %37
  br i1 %38, label %40, label %67

40:                                               ; preds = %39
  br label %41

41:                                               ; preds = %57, %40
  %42 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %43 unwind label %62

43:                                               ; preds = %41
  %44 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %42, ptr noundef @.str.53)
          to label %45 unwind label %62

45:                                               ; preds = %43
  br i1 %44, label %46, label %53

46:                                               ; preds = %45
  %47 = load ptr, ptr %10, align 8, !tbaa !11
  %48 = getelementptr i8, ptr %47, i64 -24
  %49 = load i64, ptr %48, align 8
  %50 = getelementptr inbounds i8, ptr %10, i64 %49
  %51 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %50)
          to label %52 unwind label %62

52:                                               ; preds = %46
  br label %53

53:                                               ; preds = %52, %45
  %54 = phi i1 [ false, %45 ], [ %51, %52 ]
  br i1 %54, label %55, label %66

55:                                               ; preds = %53
  %56 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %57 unwind label %62

57:                                               ; preds = %55
  br label %41, !llvm.loop !13

58:                                               ; preds = %652, %648, %30, %4
  %59 = landingpad { ptr, i32 }
          cleanup
  %60 = extractvalue { ptr, i32 } %59, 0
  store ptr %60, ptr %13, align 8
  %61 = extractvalue { ptr, i32 } %59, 1
  store i32 %61, ptr %14, align 4
  br label %657

62:                                               ; preds = %642, %638, %635, %628, %616, %614, %612, %603, %601, %599, %588, %586, %584, %574, %569, %565, %563, %560, %557, %555, %553, %550, %548, %545, %544, %541, %539, %535, %526, %523, %521, %518, %475, %472, %470, %467, %458, %455, %453, %450, %435, %420, %416, %413, %411, %408, %405, %403, %400, %389, %369, %359, %349, %344, %340, %337, %335, %332, %329, %327, %324, %313, %293, %283, %273, %268, %264, %261, %259, %256, %253, %251, %248, %236, %207, %178, %166, %160, %150, %146, %143, %141, %138, %135, %133, %124, %122, %118, %115, %113, %110, %107, %105, %102, %100, %96, %93, %91, %88, %85, %83, %80, %78, %74, %67, %55, %46, %43, %41, %37, %35, %33
  %63 = landingpad { ptr, i32 }
          cleanup
  %64 = extractvalue { ptr, i32 } %63, 0
  store ptr %64, ptr %13, align 8
  %65 = extractvalue { ptr, i32 } %63, 1
  store i32 %65, ptr %14, align 4
  br label %647

66:                                               ; preds = %53
  store i8 1, ptr %20, align 1, !tbaa !9
  br label %67

67:                                               ; preds = %66, %39
  %68 = load ptr, ptr %10, align 8, !tbaa !11
  %69 = getelementptr i8, ptr %68, i64 -24
  %70 = load i64, ptr %69, align 8
  %71 = getelementptr inbounds i8, ptr %10, i64 %70
  %72 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %71)
          to label %73 unwind label %62

73:                                               ; preds = %67
  br i1 %72, label %74, label %78

74:                                               ; preds = %73
  %75 = load ptr, ptr %7, align 8, !tbaa !5
  %76 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %75, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %76, i32 noundef 5, ptr noundef @.str.54)
          to label %77 unwind label %62

77:                                               ; preds = %74
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

78:                                               ; preds = %73
  %79 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %17)
          to label %80 unwind label %62

80:                                               ; preds = %78
  %81 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %82 unwind label %62

82:                                               ; preds = %80
  br label %83

83:                                               ; preds = %90, %82
  %84 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %85 unwind label %62

85:                                               ; preds = %83
  %86 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef @.str.10)
          to label %87 unwind label %62

87:                                               ; preds = %85
  br i1 %86, label %88, label %91

88:                                               ; preds = %87
  %89 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %90 unwind label %62

90:                                               ; preds = %88
  br label %83, !llvm.loop !15

91:                                               ; preds = %87
  %92 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %93 unwind label %62

93:                                               ; preds = %91
  %94 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %92, ptr noundef @.str.55)
          to label %95 unwind label %62

95:                                               ; preds = %93
  br i1 %94, label %96, label %100

96:                                               ; preds = %95
  %97 = load ptr, ptr %7, align 8, !tbaa !5
  %98 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %97, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %98, i32 noundef 5, ptr noundef @.str.56)
          to label %99 unwind label %62

99:                                               ; preds = %96
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

100:                                              ; preds = %95
  %101 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %16)
          to label %102 unwind label %62

102:                                              ; preds = %100
  %103 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %104 unwind label %62

104:                                              ; preds = %102
  br label %105

105:                                              ; preds = %112, %104
  %106 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %107 unwind label %62

107:                                              ; preds = %105
  %108 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %106, ptr noundef @.str.10)
          to label %109 unwind label %62

109:                                              ; preds = %107
  br i1 %108, label %110, label %113

110:                                              ; preds = %109
  %111 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %112 unwind label %62

112:                                              ; preds = %110
  br label %105, !llvm.loop !16

113:                                              ; preds = %109
  %114 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %115 unwind label %62

115:                                              ; preds = %113
  %116 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %114, ptr noundef @.str.57)
          to label %117 unwind label %62

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

118:                                              ; preds = %117
  %119 = load ptr, ptr %7, align 8, !tbaa !5
  %120 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %119, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %120, i32 noundef 5, ptr noundef @.str.58)
          to label %121 unwind label %62

121:                                              ; preds = %118
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

122:                                              ; preds = %117
  %123 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %18)
          to label %124 unwind label %62

124:                                              ; preds = %122
  %125 = load i32, ptr %16, align 4, !tbaa !17
  %126 = load ptr, ptr %12, align 8, !tbaa !5
  %127 = getelementptr inbounds %class.HighsLp, ptr %126, i32 0, i32 0
  store i32 %125, ptr %127, align 8, !tbaa !19
  %128 = load i32, ptr %17, align 4, !tbaa !17
  %129 = load ptr, ptr %12, align 8, !tbaa !5
  %130 = getelementptr inbounds %class.HighsLp, ptr %129, i32 0, i32 1
  store i32 %128, ptr %130, align 4, !tbaa !52
  %131 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %132 unwind label %62

132:                                              ; preds = %124
  br label %133

133:                                              ; preds = %140, %132
  %134 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %135 unwind label %62

135:                                              ; preds = %133
  %136 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %134, ptr noundef @.str.10)
          to label %137 unwind label %62

137:                                              ; preds = %135
  br i1 %136, label %138, label %141

138:                                              ; preds = %137
  %139 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %140 unwind label %62

140:                                              ; preds = %138
  br label %133, !llvm.loop !53

141:                                              ; preds = %137
  %142 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %143 unwind label %62

143:                                              ; preds = %141
  %144 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %142, ptr noundef @.str.59)
          to label %145 unwind label %62

145:                                              ; preds = %143
  br i1 %144, label %146, label %150

146:                                              ; preds = %145
  %147 = load ptr, ptr %7, align 8, !tbaa !5
  %148 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %147, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %148, i32 noundef 5, ptr noundef @.str.60)
          to label %149 unwind label %62

149:                                              ; preds = %146
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

150:                                              ; preds = %145
  %151 = load ptr, ptr %12, align 8, !tbaa !5
  %152 = getelementptr inbounds %class.HighsLp, ptr %151, i32 0, i32 7
  %153 = getelementptr inbounds %class.HighsSparseMatrix, ptr %152, i32 0, i32 0
  store i32 1, ptr %153, align 8, !tbaa !54
  %154 = load ptr, ptr %12, align 8, !tbaa !5
  %155 = getelementptr inbounds %class.HighsLp, ptr %154, i32 0, i32 7
  %156 = getelementptr inbounds %class.HighsSparseMatrix, ptr %155, i32 0, i32 3
  %157 = load i32, ptr %16, align 4, !tbaa !17
  %158 = add nsw i32 %157, 1
  %159 = sext i32 %158 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %156, i64 noundef %159)
          to label %160 unwind label %62

160:                                              ; preds = %150
  %161 = load ptr, ptr %12, align 8, !tbaa !5
  %162 = getelementptr inbounds %class.HighsLp, ptr %161, i32 0, i32 7
  %163 = getelementptr inbounds %class.HighsSparseMatrix, ptr %162, i32 0, i32 5
  %164 = load i32, ptr %18, align 4, !tbaa !17
  %165 = sext i32 %164 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %163, i64 noundef %165)
          to label %166 unwind label %62

166:                                              ; preds = %160
  %167 = load ptr, ptr %12, align 8, !tbaa !5
  %168 = getelementptr inbounds %class.HighsLp, ptr %167, i32 0, i32 7
  %169 = getelementptr inbounds %class.HighsSparseMatrix, ptr %168, i32 0, i32 6
  %170 = load i32, ptr %18, align 4, !tbaa !17
  %171 = sext i32 %170 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %169, i64 noundef %171)
          to label %172 unwind label %62

172:                                              ; preds = %166
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %173

173:                                              ; preds = %199, %172
  %174 = load i32, ptr %11, align 4, !tbaa !17
  %175 = load i32, ptr %16, align 4, !tbaa !17
  %176 = add nsw i32 %175, 1
  %177 = icmp slt i32 %174, %176
  br i1 %177, label %178, label %202

178:                                              ; preds = %173
  %179 = load ptr, ptr %12, align 8, !tbaa !5
  %180 = getelementptr inbounds %class.HighsLp, ptr %179, i32 0, i32 7
  %181 = getelementptr inbounds %class.HighsSparseMatrix, ptr %180, i32 0, i32 3
  %182 = load i32, ptr %11, align 4, !tbaa !17
  %183 = sext i32 %182 to i64
  %184 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %181, i64 noundef %183) #6
  %185 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %184)
          to label %186 unwind label %62

186:                                              ; preds = %178
  %187 = load i8, ptr %20, align 1, !tbaa !9, !range !55, !noundef !56
  %188 = trunc i8 %187 to i1
  br i1 %188, label %189, label %198

189:                                              ; preds = %186
  %190 = load ptr, ptr %12, align 8, !tbaa !5
  %191 = getelementptr inbounds %class.HighsLp, ptr %190, i32 0, i32 7
  %192 = getelementptr inbounds %class.HighsSparseMatrix, ptr %191, i32 0, i32 3
  %193 = load i32, ptr %11, align 4, !tbaa !17
  %194 = sext i32 %193 to i64
  %195 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %194) #6
  %196 = load i32, ptr %195, align 4, !tbaa !17
  %197 = add nsw i32 %196, -1
  store i32 %197, ptr %195, align 4, !tbaa !17
  br label %198

198:                                              ; preds = %189, %186
  br label %199

199:                                              ; preds = %198
  %200 = load i32, ptr %11, align 4, !tbaa !17
  %201 = add nsw i32 %200, 1
  store i32 %201, ptr %11, align 4, !tbaa !17
  br label %173, !llvm.loop !57

202:                                              ; preds = %173
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %203

203:                                              ; preds = %228, %202
  %204 = load i32, ptr %11, align 4, !tbaa !17
  %205 = load i32, ptr %18, align 4, !tbaa !17
  %206 = icmp slt i32 %204, %205
  br i1 %206, label %207, label %231

207:                                              ; preds = %203
  %208 = load ptr, ptr %12, align 8, !tbaa !5
  %209 = getelementptr inbounds %class.HighsLp, ptr %208, i32 0, i32 7
  %210 = getelementptr inbounds %class.HighsSparseMatrix, ptr %209, i32 0, i32 5
  %211 = load i32, ptr %11, align 4, !tbaa !17
  %212 = sext i32 %211 to i64
  %213 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %210, i64 noundef %212) #6
  %214 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %213)
          to label %215 unwind label %62

215:                                              ; preds = %207
  %216 = load i8, ptr %20, align 1, !tbaa !9, !range !55, !noundef !56
  %217 = trunc i8 %216 to i1
  br i1 %217, label %218, label %227

218:                                              ; preds = %215
  %219 = load ptr, ptr %12, align 8, !tbaa !5
  %220 = getelementptr inbounds %class.HighsLp, ptr %219, i32 0, i32 7
  %221 = getelementptr inbounds %class.HighsSparseMatrix, ptr %220, i32 0, i32 5
  %222 = load i32, ptr %11, align 4, !tbaa !17
  %223 = sext i32 %222 to i64
  %224 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %221, i64 noundef %223) #6
  %225 = load i32, ptr %224, align 4, !tbaa !17
  %226 = add nsw i32 %225, -1
  store i32 %226, ptr %224, align 4, !tbaa !17
  br label %227

227:                                              ; preds = %218, %215
  br label %228

228:                                              ; preds = %227
  %229 = load i32, ptr %11, align 4, !tbaa !17
  %230 = add nsw i32 %229, 1
  store i32 %230, ptr %11, align 4, !tbaa !17
  br label %203, !llvm.loop !58

231:                                              ; preds = %203
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %232

232:                                              ; preds = %245, %231
  %233 = load i32, ptr %11, align 4, !tbaa !17
  %234 = load i32, ptr %18, align 4, !tbaa !17
  %235 = icmp slt i32 %233, %234
  br i1 %235, label %236, label %248

236:                                              ; preds = %232
  %237 = load ptr, ptr %12, align 8, !tbaa !5
  %238 = getelementptr inbounds %class.HighsLp, ptr %237, i32 0, i32 7
  %239 = getelementptr inbounds %class.HighsSparseMatrix, ptr %238, i32 0, i32 6
  %240 = load i32, ptr %11, align 4, !tbaa !17
  %241 = sext i32 %240 to i64
  %242 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %239, i64 noundef %241) #6
  %243 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %242)
          to label %244 unwind label %62

244:                                              ; preds = %236
  br label %245

245:                                              ; preds = %244
  %246 = load i32, ptr %11, align 4, !tbaa !17
  %247 = add nsw i32 %246, 1
  store i32 %247, ptr %11, align 4, !tbaa !17
  br label %232, !llvm.loop !59

248:                                              ; preds = %232
  %249 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %250 unwind label %62

250:                                              ; preds = %248
  br label %251

251:                                              ; preds = %258, %250
  %252 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %253 unwind label %62

253:                                              ; preds = %251
  %254 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %252, ptr noundef @.str.10)
          to label %255 unwind label %62

255:                                              ; preds = %253
  br i1 %254, label %256, label %259

256:                                              ; preds = %255
  %257 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %258 unwind label %62

258:                                              ; preds = %256
  br label %251, !llvm.loop !60

259:                                              ; preds = %255
  %260 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %261 unwind label %62

261:                                              ; preds = %259
  %262 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %260, ptr noundef @.str.61)
          to label %263 unwind label %62

263:                                              ; preds = %261
  br i1 %262, label %264, label %268

264:                                              ; preds = %263
  %265 = load ptr, ptr %7, align 8, !tbaa !5
  %266 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %265, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %266, i32 noundef 5, ptr noundef @.str.62)
          to label %267 unwind label %62

267:                                              ; preds = %264
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

268:                                              ; preds = %263
  %269 = load ptr, ptr %12, align 8, !tbaa !5
  %270 = getelementptr inbounds %class.HighsLp, ptr %269, i32 0, i32 3
  %271 = load i32, ptr %16, align 4, !tbaa !17
  %272 = sext i32 %271 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %270, i64 noundef %272)
          to label %273 unwind label %62

273:                                              ; preds = %268
  %274 = load ptr, ptr %12, align 8, !tbaa !5
  %275 = getelementptr inbounds %class.HighsLp, ptr %274, i32 0, i32 4
  %276 = load i32, ptr %16, align 4, !tbaa !17
  %277 = sext i32 %276 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %275, i64 noundef %277)
          to label %278 unwind label %62

278:                                              ; preds = %273
  %279 = load ptr, ptr %12, align 8, !tbaa !5
  %280 = getelementptr inbounds %class.HighsLp, ptr %279, i32 0, i32 3
  %281 = load i32, ptr %16, align 4, !tbaa !17
  %282 = sext i32 %281 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #6
  store double 0xFFF0000000000000, ptr %22, align 8, !tbaa !61
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %280, i64 noundef %282, ptr noundef nonnull align 8 dereferenceable(8) %22)
          to label %283 unwind label %304

283:                                              ; preds = %278
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  %284 = load ptr, ptr %12, align 8, !tbaa !5
  %285 = getelementptr inbounds %class.HighsLp, ptr %284, i32 0, i32 4
  %286 = load i32, ptr %16, align 4, !tbaa !17
  %287 = sext i32 %286 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %285, i64 noundef %287, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %288 unwind label %62

288:                                              ; preds = %283
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %289

289:                                              ; preds = %301, %288
  %290 = load i32, ptr %11, align 4, !tbaa !17
  %291 = load i32, ptr %16, align 4, !tbaa !17
  %292 = icmp slt i32 %290, %291
  br i1 %292, label %293, label %308

293:                                              ; preds = %289
  %294 = load ptr, ptr %12, align 8, !tbaa !5
  %295 = getelementptr inbounds %class.HighsLp, ptr %294, i32 0, i32 3
  %296 = load i32, ptr %11, align 4, !tbaa !17
  %297 = sext i32 %296 to i64
  %298 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %295, i64 noundef %297) #6
  %299 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %298)
          to label %300 unwind label %62

300:                                              ; preds = %293
  br label %301

301:                                              ; preds = %300
  %302 = load i32, ptr %11, align 4, !tbaa !17
  %303 = add nsw i32 %302, 1
  store i32 %303, ptr %11, align 4, !tbaa !17
  br label %289, !llvm.loop !62

304:                                              ; preds = %278
  %305 = landingpad { ptr, i32 }
          cleanup
  %306 = extractvalue { ptr, i32 } %305, 0
  store ptr %306, ptr %13, align 8
  %307 = extractvalue { ptr, i32 } %305, 1
  store i32 %307, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #6
  br label %647

308:                                              ; preds = %289
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %309

309:                                              ; preds = %321, %308
  %310 = load i32, ptr %11, align 4, !tbaa !17
  %311 = load i32, ptr %16, align 4, !tbaa !17
  %312 = icmp slt i32 %310, %311
  br i1 %312, label %313, label %324

313:                                              ; preds = %309
  %314 = load ptr, ptr %12, align 8, !tbaa !5
  %315 = getelementptr inbounds %class.HighsLp, ptr %314, i32 0, i32 4
  %316 = load i32, ptr %11, align 4, !tbaa !17
  %317 = sext i32 %316 to i64
  %318 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %315, i64 noundef %317) #6
  %319 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %318)
          to label %320 unwind label %62

320:                                              ; preds = %313
  br label %321

321:                                              ; preds = %320
  %322 = load i32, ptr %11, align 4, !tbaa !17
  %323 = add nsw i32 %322, 1
  store i32 %323, ptr %11, align 4, !tbaa !17
  br label %309, !llvm.loop !63

324:                                              ; preds = %309
  %325 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %326 unwind label %62

326:                                              ; preds = %324
  br label %327

327:                                              ; preds = %334, %326
  %328 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %329 unwind label %62

329:                                              ; preds = %327
  %330 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %328, ptr noundef @.str.10)
          to label %331 unwind label %62

331:                                              ; preds = %329
  br i1 %330, label %332, label %335

332:                                              ; preds = %331
  %333 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %334 unwind label %62

334:                                              ; preds = %332
  br label %327, !llvm.loop !64

335:                                              ; preds = %331
  %336 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %337 unwind label %62

337:                                              ; preds = %335
  %338 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %336, ptr noundef @.str.63)
          to label %339 unwind label %62

339:                                              ; preds = %337
  br i1 %338, label %340, label %344

340:                                              ; preds = %339
  %341 = load ptr, ptr %7, align 8, !tbaa !5
  %342 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %341, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %342, i32 noundef 5, ptr noundef @.str.64)
          to label %343 unwind label %62

343:                                              ; preds = %340
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

344:                                              ; preds = %339
  %345 = load ptr, ptr %12, align 8, !tbaa !5
  %346 = getelementptr inbounds %class.HighsLp, ptr %345, i32 0, i32 5
  %347 = load i32, ptr %17, align 4, !tbaa !17
  %348 = sext i32 %347 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %346, i64 noundef %348)
          to label %349 unwind label %62

349:                                              ; preds = %344
  %350 = load ptr, ptr %12, align 8, !tbaa !5
  %351 = getelementptr inbounds %class.HighsLp, ptr %350, i32 0, i32 6
  %352 = load i32, ptr %17, align 4, !tbaa !17
  %353 = sext i32 %352 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %351, i64 noundef %353)
          to label %354 unwind label %62

354:                                              ; preds = %349
  %355 = load ptr, ptr %12, align 8, !tbaa !5
  %356 = getelementptr inbounds %class.HighsLp, ptr %355, i32 0, i32 5
  %357 = load i32, ptr %17, align 4, !tbaa !17
  %358 = sext i32 %357 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %23) #6
  store double 0xFFF0000000000000, ptr %23, align 8, !tbaa !61
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %356, i64 noundef %358, ptr noundef nonnull align 8 dereferenceable(8) %23)
          to label %359 unwind label %380

359:                                              ; preds = %354
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #6
  %360 = load ptr, ptr %12, align 8, !tbaa !5
  %361 = getelementptr inbounds %class.HighsLp, ptr %360, i32 0, i32 6
  %362 = load i32, ptr %17, align 4, !tbaa !17
  %363 = sext i32 %362 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %361, i64 noundef %363, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %364 unwind label %62

364:                                              ; preds = %359
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %365

365:                                              ; preds = %377, %364
  %366 = load i32, ptr %11, align 4, !tbaa !17
  %367 = load i32, ptr %17, align 4, !tbaa !17
  %368 = icmp slt i32 %366, %367
  br i1 %368, label %369, label %384

369:                                              ; preds = %365
  %370 = load ptr, ptr %12, align 8, !tbaa !5
  %371 = getelementptr inbounds %class.HighsLp, ptr %370, i32 0, i32 5
  %372 = load i32, ptr %11, align 4, !tbaa !17
  %373 = sext i32 %372 to i64
  %374 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %371, i64 noundef %373) #6
  %375 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %374)
          to label %376 unwind label %62

376:                                              ; preds = %369
  br label %377

377:                                              ; preds = %376
  %378 = load i32, ptr %11, align 4, !tbaa !17
  %379 = add nsw i32 %378, 1
  store i32 %379, ptr %11, align 4, !tbaa !17
  br label %365, !llvm.loop !65

380:                                              ; preds = %354
  %381 = landingpad { ptr, i32 }
          cleanup
  %382 = extractvalue { ptr, i32 } %381, 0
  store ptr %382, ptr %13, align 8
  %383 = extractvalue { ptr, i32 } %381, 1
  store i32 %383, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %23) #6
  br label %647

384:                                              ; preds = %365
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %385

385:                                              ; preds = %397, %384
  %386 = load i32, ptr %11, align 4, !tbaa !17
  %387 = load i32, ptr %17, align 4, !tbaa !17
  %388 = icmp slt i32 %386, %387
  br i1 %388, label %389, label %400

389:                                              ; preds = %385
  %390 = load ptr, ptr %12, align 8, !tbaa !5
  %391 = getelementptr inbounds %class.HighsLp, ptr %390, i32 0, i32 6
  %392 = load i32, ptr %11, align 4, !tbaa !17
  %393 = sext i32 %392 to i64
  %394 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %391, i64 noundef %393) #6
  %395 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %394)
          to label %396 unwind label %62

396:                                              ; preds = %389
  br label %397

397:                                              ; preds = %396
  %398 = load i32, ptr %11, align 4, !tbaa !17
  %399 = add nsw i32 %398, 1
  store i32 %399, ptr %11, align 4, !tbaa !17
  br label %385, !llvm.loop !66

400:                                              ; preds = %385
  %401 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %402 unwind label %62

402:                                              ; preds = %400
  br label %403

403:                                              ; preds = %410, %402
  %404 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %405 unwind label %62

405:                                              ; preds = %403
  %406 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %404, ptr noundef @.str.10)
          to label %407 unwind label %62

407:                                              ; preds = %405
  br i1 %406, label %408, label %411

408:                                              ; preds = %407
  %409 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %410 unwind label %62

410:                                              ; preds = %408
  br label %403, !llvm.loop !67

411:                                              ; preds = %407
  %412 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %413 unwind label %62

413:                                              ; preds = %411
  %414 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %412, ptr noundef @.str.65)
          to label %415 unwind label %62

415:                                              ; preds = %413
  br i1 %414, label %416, label %420

416:                                              ; preds = %415
  %417 = load ptr, ptr %7, align 8, !tbaa !5
  %418 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %417, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %418, i32 noundef 5, ptr noundef @.str.66)
          to label %419 unwind label %62

419:                                              ; preds = %416
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

420:                                              ; preds = %415
  %421 = load ptr, ptr %12, align 8, !tbaa !5
  %422 = getelementptr inbounds %class.HighsLp, ptr %421, i32 0, i32 2
  %423 = load i32, ptr %16, align 4, !tbaa !17
  %424 = sext i32 %423 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %422, i64 noundef %424)
          to label %425 unwind label %62

425:                                              ; preds = %420
  %426 = load ptr, ptr %12, align 8, !tbaa !5
  %427 = getelementptr inbounds %class.HighsLp, ptr %426, i32 0, i32 2
  %428 = load i32, ptr %16, align 4, !tbaa !17
  %429 = sext i32 %428 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  store double 0.000000e+00, ptr %24, align 8, !tbaa !61
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %427, i64 noundef %429, ptr noundef nonnull align 8 dereferenceable(8) %24)
          to label %430 unwind label %446

430:                                              ; preds = %425
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %431

431:                                              ; preds = %443, %430
  %432 = load i32, ptr %11, align 4, !tbaa !17
  %433 = load i32, ptr %16, align 4, !tbaa !17
  %434 = icmp slt i32 %432, %433
  br i1 %434, label %435, label %450

435:                                              ; preds = %431
  %436 = load ptr, ptr %12, align 8, !tbaa !5
  %437 = getelementptr inbounds %class.HighsLp, ptr %436, i32 0, i32 2
  %438 = load i32, ptr %11, align 4, !tbaa !17
  %439 = sext i32 %438 to i64
  %440 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %437, i64 noundef %439) #6
  %441 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(8) %440)
          to label %442 unwind label %62

442:                                              ; preds = %435
  br label %443

443:                                              ; preds = %442
  %444 = load i32, ptr %11, align 4, !tbaa !17
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr %11, align 4, !tbaa !17
  br label %431, !llvm.loop !68

446:                                              ; preds = %425
  %447 = landingpad { ptr, i32 }
          cleanup
  %448 = extractvalue { ptr, i32 } %447, 0
  store ptr %448, ptr %13, align 8
  %449 = extractvalue { ptr, i32 } %447, 1
  store i32 %449, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %647

450:                                              ; preds = %431
  %451 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %452 unwind label %62

452:                                              ; preds = %450
  br label %453

453:                                              ; preds = %469, %452
  %454 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %455 unwind label %62

455:                                              ; preds = %453
  %456 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %454, ptr noundef @.str.10)
          to label %457 unwind label %62

457:                                              ; preds = %455
  br i1 %456, label %458, label %465

458:                                              ; preds = %457
  %459 = load ptr, ptr %10, align 8, !tbaa !11
  %460 = getelementptr i8, ptr %459, i64 -24
  %461 = load i64, ptr %460, align 8
  %462 = getelementptr inbounds i8, ptr %10, i64 %461
  %463 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %462)
          to label %464 unwind label %62

464:                                              ; preds = %458
  br label %465

465:                                              ; preds = %464, %457
  %466 = phi i1 [ false, %457 ], [ %463, %464 ]
  br i1 %466, label %467, label %470

467:                                              ; preds = %465
  %468 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %469 unwind label %62

469:                                              ; preds = %467
  br label %453, !llvm.loop !69

470:                                              ; preds = %465
  %471 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %472 unwind label %62

472:                                              ; preds = %470
  %473 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %471, ptr noundef @.str.67)
          to label %474 unwind label %62

474:                                              ; preds = %472
  br i1 %473, label %475, label %539

475:                                              ; preds = %474
  %476 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %19)
          to label %477 unwind label %62

477:                                              ; preds = %475
  %478 = load i32, ptr %19, align 4, !tbaa !17
  %479 = icmp ne i32 %478, 0
  br i1 %479, label %480, label %518

480:                                              ; preds = %477
  %481 = load ptr, ptr %12, align 8, !tbaa !5
  %482 = getelementptr inbounds %class.HighsLp, ptr %481, i32 0, i32 16
  %483 = load ptr, ptr %12, align 8, !tbaa !5
  %484 = getelementptr inbounds %class.HighsLp, ptr %483, i32 0, i32 0
  %485 = load i32, ptr %484, align 8, !tbaa !19
  %486 = sext i32 %485 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr %25) #6
  store i8 0, ptr %25, align 1, !tbaa !70
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6resizeEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %482, i64 noundef %486, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %487 unwind label %500

487:                                              ; preds = %480
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #6
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %488

488:                                              ; preds = %514, %487
  %489 = load i32, ptr %11, align 4, !tbaa !17
  %490 = load i32, ptr %19, align 4, !tbaa !17
  %491 = icmp slt i32 %489, %490
  br i1 %491, label %492, label %517

492:                                              ; preds = %488
  %493 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 4 dereferenceable(4) %26)
          to label %494 unwind label %504

494:                                              ; preds = %492
  %495 = load i8, ptr %20, align 1, !tbaa !9, !range !55, !noundef !56
  %496 = trunc i8 %495 to i1
  br i1 %496, label %497, label %508

497:                                              ; preds = %494
  %498 = load i32, ptr %26, align 4, !tbaa !17
  %499 = add nsw i32 %498, -1
  store i32 %499, ptr %26, align 4, !tbaa !17
  br label %508

500:                                              ; preds = %480
  %501 = landingpad { ptr, i32 }
          cleanup
  %502 = extractvalue { ptr, i32 } %501, 0
  store ptr %502, ptr %13, align 8
  %503 = extractvalue { ptr, i32 } %501, 1
  store i32 %503, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %25) #6
  br label %647

504:                                              ; preds = %492
  %505 = landingpad { ptr, i32 }
          cleanup
  %506 = extractvalue { ptr, i32 } %505, 0
  store ptr %506, ptr %13, align 8
  %507 = extractvalue { ptr, i32 } %505, 1
  store i32 %507, ptr %14, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  br label %647

508:                                              ; preds = %497, %494
  %509 = load ptr, ptr %12, align 8, !tbaa !5
  %510 = getelementptr inbounds %class.HighsLp, ptr %509, i32 0, i32 16
  %511 = load i32, ptr %26, align 4, !tbaa !17
  %512 = sext i32 %511 to i64
  %513 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %510, i64 noundef %512) #6
  store i8 1, ptr %513, align 1, !tbaa !70
  br label %514

514:                                              ; preds = %508
  %515 = load i32, ptr %11, align 4, !tbaa !17
  %516 = add nsw i32 %515, 1
  store i32 %516, ptr %11, align 4, !tbaa !17
  br label %488, !llvm.loop !72

517:                                              ; preds = %488
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #6
  br label %518

518:                                              ; preds = %517, %477
  %519 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %520 unwind label %62

520:                                              ; preds = %518
  br label %521

521:                                              ; preds = %537, %520
  %522 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %523 unwind label %62

523:                                              ; preds = %521
  %524 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %522, ptr noundef @.str.10)
          to label %525 unwind label %62

525:                                              ; preds = %523
  br i1 %524, label %526, label %533

526:                                              ; preds = %525
  %527 = load ptr, ptr %10, align 8, !tbaa !11
  %528 = getelementptr i8, ptr %527, i64 -24
  %529 = load i64, ptr %528, align 8
  %530 = getelementptr inbounds i8, ptr %10, i64 %529
  %531 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %530)
          to label %532 unwind label %62

532:                                              ; preds = %526
  br label %533

533:                                              ; preds = %532, %525
  %534 = phi i1 [ false, %525 ], [ %531, %532 ]
  br i1 %534, label %535, label %538

535:                                              ; preds = %533
  %536 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %537 unwind label %62

537:                                              ; preds = %535
  br label %521, !llvm.loop !73

538:                                              ; preds = %533
  br label %539

539:                                              ; preds = %538, %474
  %540 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %541 unwind label %62

541:                                              ; preds = %539
  %542 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %540, ptr noundef @.str.68)
          to label %543 unwind label %62

543:                                              ; preds = %541
  br i1 %542, label %544, label %548

544:                                              ; preds = %543
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %10)
          to label %545 unwind label %62

545:                                              ; preds = %544
  %546 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %546)
          to label %547 unwind label %62

547:                                              ; preds = %545
  br label %548

548:                                              ; preds = %547, %543
  %549 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %550 unwind label %62

550:                                              ; preds = %548
  %551 = invoke noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %549, ptr noundef @.str.69)
          to label %552 unwind label %62

552:                                              ; preds = %550
  br i1 %551, label %553, label %628

553:                                              ; preds = %552
  %554 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %555 unwind label %62

555:                                              ; preds = %553
  %556 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %557 unwind label %62

557:                                              ; preds = %555
  %558 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %556, ptr noundef @.str.70)
          to label %559 unwind label %62

559:                                              ; preds = %557
  br i1 %558, label %560, label %563

560:                                              ; preds = %559
  %561 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %562 unwind label %62

562:                                              ; preds = %560
  br label %563

563:                                              ; preds = %562, %559
  %564 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %565 unwind label %62

565:                                              ; preds = %563
  %566 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %564, ptr noundef @.str.70)
          to label %567 unwind label %62

567:                                              ; preds = %565
  br i1 %566, label %568, label %569

568:                                              ; preds = %567
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

569:                                              ; preds = %567
  %570 = load ptr, ptr %12, align 8, !tbaa !5
  %571 = getelementptr inbounds %class.HighsLp, ptr %570, i32 0, i32 15
  %572 = load i32, ptr %17, align 4, !tbaa !17
  %573 = sext i32 %572 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %571, i64 noundef %573)
          to label %574 unwind label %62

574:                                              ; preds = %569
  %575 = load ptr, ptr %12, align 8, !tbaa !5
  %576 = getelementptr inbounds %class.HighsLp, ptr %575, i32 0, i32 14
  %577 = load i32, ptr %16, align 4, !tbaa !17
  %578 = sext i32 %577 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %576, i64 noundef %578)
          to label %579 unwind label %62

579:                                              ; preds = %574
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %580

580:                                              ; preds = %596, %579
  %581 = load i32, ptr %11, align 4, !tbaa !17
  %582 = load i32, ptr %16, align 4, !tbaa !17
  %583 = icmp slt i32 %581, %582
  br i1 %583, label %584, label %599

584:                                              ; preds = %580
  %585 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %586 unwind label %62

586:                                              ; preds = %584
  %587 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %588 unwind label %62

588:                                              ; preds = %586
  %589 = load ptr, ptr %12, align 8, !tbaa !5
  %590 = getelementptr inbounds %class.HighsLp, ptr %589, i32 0, i32 14
  %591 = load i32, ptr %11, align 4, !tbaa !17
  %592 = sext i32 %591 to i64
  %593 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %590, i64 noundef %592) #6
  %594 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %593, ptr noundef nonnull align 8 dereferenceable(32) %587)
          to label %595 unwind label %62

595:                                              ; preds = %588
  br label %596

596:                                              ; preds = %595
  %597 = load i32, ptr %11, align 4, !tbaa !17
  %598 = add nsw i32 %597, 1
  store i32 %598, ptr %11, align 4, !tbaa !17
  br label %580, !llvm.loop !74

599:                                              ; preds = %580
  %600 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %601 unwind label %62

601:                                              ; preds = %599
  %602 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %603 unwind label %62

603:                                              ; preds = %601
  %604 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %602, ptr noundef @.str.71)
          to label %605 unwind label %62

605:                                              ; preds = %603
  br i1 %604, label %606, label %607

606:                                              ; preds = %605
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

607:                                              ; preds = %605
  store i32 0, ptr %11, align 4, !tbaa !17
  br label %608

608:                                              ; preds = %624, %607
  %609 = load i32, ptr %11, align 4, !tbaa !17
  %610 = load i32, ptr %17, align 4, !tbaa !17
  %611 = icmp slt i32 %609, %610
  br i1 %611, label %612, label %627

612:                                              ; preds = %608
  %613 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %10, ptr noundef nonnull align 8 dereferenceable(32) %15)
          to label %614 unwind label %62

614:                                              ; preds = %612
  %615 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %616 unwind label %62

616:                                              ; preds = %614
  %617 = load ptr, ptr %12, align 8, !tbaa !5
  %618 = getelementptr inbounds %class.HighsLp, ptr %617, i32 0, i32 15
  %619 = load i32, ptr %11, align 4, !tbaa !17
  %620 = sext i32 %619 to i64
  %621 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %618, i64 noundef %620) #6
  %622 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %621, ptr noundef nonnull align 8 dereferenceable(32) %615)
          to label %623 unwind label %62

623:                                              ; preds = %616
  br label %624

624:                                              ; preds = %623
  %625 = load i32, ptr %11, align 4, !tbaa !17
  %626 = add nsw i32 %625, 1
  store i32 %626, ptr %11, align 4, !tbaa !17
  br label %608, !llvm.loop !75

627:                                              ; preds = %608
  br label %642

628:                                              ; preds = %552
  %629 = load ptr, ptr %10, align 8, !tbaa !11
  %630 = getelementptr i8, ptr %629, i64 -24
  %631 = load i64, ptr %630, align 8
  %632 = getelementptr inbounds i8, ptr %10, i64 %631
  %633 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %632)
          to label %634 unwind label %62

634:                                              ; preds = %628
  br i1 %633, label %635, label %638

635:                                              ; preds = %634
  %636 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %636)
          to label %637 unwind label %62

637:                                              ; preds = %635
  br label %638

638:                                              ; preds = %637, %634
  %639 = load ptr, ptr %7, align 8, !tbaa !5
  %640 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %639, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %640, i32 noundef 5, ptr noundef @.str.72)
          to label %641 unwind label %62

641:                                              ; preds = %638
  store i32 3, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %644

642:                                              ; preds = %627
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %10)
          to label %643 unwind label %62

643:                                              ; preds = %642
  store i32 0, ptr %21, align 4
  br label %644

644:                                              ; preds = %643, %641, %606, %568, %419, %343, %267, %149, %121, %99, %77
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  %645 = load i32, ptr %21, align 4
  switch i32 %645, label %655 [
    i32 0, label %646
  ]

646:                                              ; preds = %644
  br label %652

647:                                              ; preds = %504, %500, %446, %380, %304, %62
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr %15) #6
  br label %657

648:                                              ; preds = %32
  %649 = load ptr, ptr %7, align 8, !tbaa !5
  %650 = getelementptr inbounds %struct.HighsOptionsStruct, ptr %649, i32 0, i32 130
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %650, i32 noundef 5, ptr noundef @.str.73)
          to label %651 unwind label %58

651:                                              ; preds = %648
  store i32 2, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %655

652:                                              ; preds = %646
  %653 = load ptr, ptr %12, align 8, !tbaa !5
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %653)
          to label %654 unwind label %58

654:                                              ; preds = %652
  store i32 0, ptr %5, align 4
  store i32 1, ptr %21, align 4
  br label %655

655:                                              ; preds = %654, %651, %644
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %10) #6
  call void @llvm.lifetime.end.p0(i64 520, ptr %10) #6
  %656 = load i32, ptr %5, align 4
  ret i32 %656

657:                                              ; preds = %647, %58
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #6
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %10) #6
  call void @llvm.lifetime.end.p0(i64 520, ptr %10) #6
  br label %658

658:                                              ; preds = %657
  %659 = load ptr, ptr %13, align 8
  %660 = load i32, ptr %14, align 4
  %661 = insertvalue { ptr, i32 } poison, ptr %659, 0
  %662 = insertvalue { ptr, i32 } %661, i32 %660, 1
  resume { ptr, i32 } %662
}

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264)) #2 align 2

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) #2 align 2

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) #4

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) #2 align 2

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

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

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"bool", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"vtable pointer", !8, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = !{!18, !18, i64 0}
!18 = !{!"int", !7, i64 0}
!19 = !{!20, !18, i64 0}
!20 = !{!"_ZTS7HighsLp", !18, i64 0, !18, i64 4, !21, i64 8, !21, i64 32, !21, i64 56, !21, i64 80, !21, i64 104, !25, i64 128, !31, i64 240, !32, i64 248, !33, i64 256, !33, i64 288, !18, i64 320, !18, i64 324, !36, i64 328, !36, i64 352, !40, i64 376, !44, i64 400, !44, i64 456, !18, i64 512, !18, i64 516, !50, i64 520, !10, i64 592, !10, i64 593, !18, i64 596, !10, i64 600, !51, i64 608}
!21 = !{!"_ZTSSt6vectorIdSaIdEE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!25 = !{!"_ZTS17HighsSparseMatrix", !26, i64 0, !18, i64 4, !18, i64 8, !27, i64 16, !27, i64 40, !27, i64 64, !21, i64 88}
!26 = !{!"_ZTS12MatrixFormat", !7, i64 0}
!27 = !{!"_ZTSSt6vectorIiSaIiEE", !28, i64 0}
!28 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !29, i64 0}
!29 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !30, i64 0}
!30 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!31 = !{!"_ZTS8ObjSense", !7, i64 0}
!32 = !{!"double", !7, i64 0}
!33 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !34, i64 0, !35, i64 8, !7, i64 16}
!34 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !6, i64 0}
!35 = !{!"long", !7, i64 0}
!36 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !37, i64 0}
!37 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !38, i64 0}
!38 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!40 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !41, i64 0}
!41 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !42, i64 0}
!42 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !43, i64 0}
!43 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!44 = !{!"_ZTS13HighsNameHash", !45, i64 0}
!45 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !46, i64 0}
!46 = !{!"_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, !35, i64 8, !47, i64 16, !35, i64 24, !48, i64 32, !6, i64 48}
!47 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !6, i64 0}
!48 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !49, i64 0, !35, i64 8}
!49 = !{!"float", !7, i64 0}
!50 = !{!"_ZTS10HighsScale", !18, i64 0, !10, i64 4, !18, i64 8, !18, i64 12, !32, i64 16, !21, i64 24, !21, i64 48}
!51 = !{!"_ZTS11HighsLpMods", !27, i64 0, !27, i64 24, !21, i64 48, !21, i64 72, !40, i64 96, !27, i64 120, !21, i64 144, !27, i64 168, !21, i64 192, !27, i64 216, !21, i64 240, !21, i64 264, !21, i64 288}
!52 = !{!20, !18, i64 4}
!53 = distinct !{!53, !14}
!54 = !{!20, !26, i64 128}
!55 = !{i8 0, i8 2}
!56 = !{}
!57 = distinct !{!57, !14}
!58 = distinct !{!58, !14}
!59 = distinct !{!59, !14}
!60 = distinct !{!60, !14}
!61 = !{!32, !32, i64 0}
!62 = distinct !{!62, !14}
!63 = distinct !{!63, !14}
!64 = distinct !{!64, !14}
!65 = distinct !{!65, !14}
!66 = distinct !{!66, !14}
!67 = distinct !{!67, !14}
!68 = distinct !{!68, !14}
!69 = distinct !{!69, !14}
!70 = !{!71, !71, i64 0}
!71 = !{!"_ZTS12HighsVarType", !7, i64 0}
!72 = distinct !{!72, !14}
!73 = distinct !{!73, !14}
!74 = distinct !{!74, !14}
!75 = distinct !{!75, !14}


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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::basic_ifstream" = type { %"class.std::basic_istream.base", %"class.std::basic_filebuf", %"class.std::basic_ios" }
%"class.std::basic_istream.base" = type { ptr, i64 }
%"class.std::basic_filebuf" = type { %"class.std::basic_streambuf", %union.pthread_mutex_t, %"class.std::__basic_file", i32, %struct.__mbstate_t, %struct.__mbstate_t, %struct.__mbstate_t, ptr, i64, i8, i8, i8, i8, ptr, ptr, i8, ptr, ptr, i64, ptr, ptr }
%"class.std::basic_streambuf" = type { ptr, ptr, ptr, ptr, ptr, ptr, ptr, %"class.std::locale" }
%"class.std::locale" = type { ptr }
%union.pthread_mutex_t = type { %struct.__pthread_mutex_s }
%struct.__pthread_mutex_s = type { i32, i32, i32, i32, i32, i16, i16, %struct.__pthread_internal_list }
%struct.__pthread_internal_list = type { ptr, ptr }
%"class.std::__basic_file" = type <{ ptr, i8, [7 x i8] }>
%struct.__mbstate_t = type { i32, %union.anon.0 }
%union.anon.0 = type { i32 }
%"class.std::basic_ios" = type { %"class.std::ios_base", ptr, i8, i8, ptr, ptr, ptr, ptr }
%"class.std::ios_base" = type { ptr, i64, i64, i32, i32, i32, ptr, %"struct.std::ios_base::_Words", [8 x %"struct.std::ios_base::_Words"], i32, ptr, %"class.std::locale" }
%"struct.std::ios_base::_Words" = type { ptr, i64 }

@.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.53 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [37 x i8], align 1
@_ZL9kHighsInf = external hidden constant double, align 8
@.str.63 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [16 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [20 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

; Function Attrs: mustprogress uwtable
define dso_local noundef range(i32 0, 4) i32 @_ZN13FilereaderEms17readModelFromFileERK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEER10HighsModel(ptr nocapture noundef nonnull readnone align 8 dereferenceable(8) %0, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef %2, ptr noundef nonnull align 8 dereferenceable(1000) %3) unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %5 = alloca %"class.std::basic_ifstream", align 8
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca double, align 8
  %12 = alloca double, align 8
  %13 = alloca double, align 8
  %14 = alloca i8, align 1
  %15 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 520, ptr nonnull %5) #6
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEEC1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5)
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE4openERKNSt7__cxx1112basic_stringIcS1_SaIcEEESt13_Ios_Openmode(ptr noundef nonnull align 8 dereferenceable(256) %5, ptr noundef nonnull align 8 dereferenceable(32) %2, i32 noundef 8)
          to label %16 unwind label %38

16:                                               ; preds = %4
  %17 = call noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256) %5)
  br i1 %17, label %18, label %377

18:                                               ; preds = %16
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %8) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #6
  %19 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %20 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

20:                                               ; preds = %18
  %21 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %22 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

22:                                               ; preds = %20
  %23 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.53)
          to label %24 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

24:                                               ; preds = %22
  br i1 %23, label %.preheader163, label %.critedge

.preheader163:                                    ; preds = %24, %36
  %25 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %26 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

26:                                               ; preds = %.preheader163
  %27 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.53)
          to label %28 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

28:                                               ; preds = %26
  br i1 %27, label %29, label %.critedge

29:                                               ; preds = %28
  %30 = load ptr, ptr %5, align 8, !tbaa !5
  %31 = getelementptr i8, ptr %30, i64 -24
  %32 = load i64, ptr %31, align 8
  %33 = getelementptr inbounds i8, ptr %5, i64 %32
  %34 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %33)
          to label %35 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

35:                                               ; preds = %29
  br i1 %34, label %36, label %.critedge

36:                                               ; preds = %35
  %37 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader163 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !8

38:                                               ; preds = %376, %377, %4
  %39 = landingpad { ptr, i32 }
          cleanup
  br label %380

.loopexit:                                        ; preds = %.lr.ph194, %359, %361
  %lpad.loopexit = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit:                      ; preds = %343, %341, %.lr.ph191
  %lpad.loopexit105 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit:    ; preds = %.preheader108, %298, %305
  %lpad.loopexit109 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %262, %255, %.preheader111
  %lpad.loopexit112 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit: ; preds = %.preheader163, %26, %29, %36
  %lpad.loopexit164 = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp: ; preds = %.invoke, %18, %20, %22, %.critedge, %48, %50, %57, %59, %62, %64, %71, %73, %76, %78, %88, %90, %93, %99, %103, %._crit_edge, %144, %146, %149, %153, %160, %._crit_edge176, %186, %188, %191, %195, %202, %._crit_edge181, %228, %230, %233, %._crit_edge185, %.critedge2, %267, %293, %.critedge4, %310, %311, %312, %316, %318, %320, %323, %325, %327, %330, %334, %._crit_edge192, %351, %353, %368, %375, %._crit_edge195
  %lpad.loopexit.split-lp = landingpad { ptr, i32 }
          cleanup
  br label %.loopexit.split-lp

.critedge:                                        ; preds = %35, %28, %24
  %40 = load ptr, ptr %5, align 8, !tbaa !5
  %41 = getelementptr i8, ptr %40, i64 -24
  %42 = load i64, ptr %41, align 8
  %43 = getelementptr inbounds i8, ptr %5, i64 %42
  %44 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %43)
          to label %45 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

45:                                               ; preds = %.critedge
  br i1 %44, label %.invoke, label %48

.invoke:                                          ; preds = %45, %374, %375, %232, %190, %148, %92, %75, %61
  %46 = phi ptr [ @.str.56, %61 ], [ @.str.58, %75 ], [ @.str.60, %92 ], [ @.str.62, %148 ], [ @.str.64, %190 ], [ @.str.66, %232 ], [ @.str.72, %375 ], [ @.str.72, %374 ], [ @.str.54, %45 ]
  %47 = getelementptr inbounds i8, ptr %1, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %47, i32 noundef 5, ptr noundef nonnull %46)
          to label %.critedge103 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

48:                                               ; preds = %45
  %49 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %8)
          to label %50 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

50:                                               ; preds = %48
  %51 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader159 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader159:                                    ; preds = %50, %55
  %52 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %53 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

53:                                               ; preds = %.preheader159
  %54 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %52, ptr noundef nonnull @.str.10)
  br i1 %54, label %55, label %57

55:                                               ; preds = %53
  %56 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader159 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !10

57:                                               ; preds = %53
  %58 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %59 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

59:                                               ; preds = %57
  %60 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull @.str.55)
          to label %61 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

61:                                               ; preds = %59
  br i1 %60, label %.invoke, label %62

62:                                               ; preds = %61
  %63 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %7)
          to label %64 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

64:                                               ; preds = %62
  %65 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader156 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader156:                                    ; preds = %64, %69
  %66 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %67 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

67:                                               ; preds = %.preheader156
  %68 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %66, ptr noundef nonnull @.str.10)
  br i1 %68, label %69, label %71

69:                                               ; preds = %67
  %70 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader156 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !11

71:                                               ; preds = %67
  %72 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %73 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

73:                                               ; preds = %71
  %74 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull @.str.57)
          to label %75 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

75:                                               ; preds = %73
  br i1 %74, label %.invoke, label %76

76:                                               ; preds = %75
  %77 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %9)
          to label %78 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

78:                                               ; preds = %76
  %79 = load i32, ptr %7, align 4, !tbaa !12
  store i32 %79, ptr %3, align 8, !tbaa !15
  %80 = load i32, ptr %8, align 4, !tbaa !12
  %81 = getelementptr inbounds i8, ptr %3, i64 4
  store i32 %80, ptr %81, align 4, !tbaa !50
  %82 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader152 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader152:                                    ; preds = %78, %86
  %83 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %84 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

84:                                               ; preds = %.preheader152
  %85 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %83, ptr noundef nonnull @.str.10)
  br i1 %85, label %86, label %88

86:                                               ; preds = %84
  %87 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader152 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !51

88:                                               ; preds = %84
  %89 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %90 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

90:                                               ; preds = %88
  %91 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %89, ptr noundef nonnull @.str.59)
          to label %92 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

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

93:                                               ; preds = %92
  %94 = getelementptr inbounds i8, ptr %3, i64 128
  store i32 1, ptr %94, align 8, !tbaa !52
  %95 = getelementptr inbounds i8, ptr %3, i64 144
  %96 = load i32, ptr %7, align 4, !tbaa !12
  %97 = add nsw i32 %96, 1
  %98 = sext i32 %97 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %98)
          to label %99 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

99:                                               ; preds = %93
  %100 = getelementptr inbounds i8, ptr %3, i64 192
  %101 = load i32, ptr %9, align 4, !tbaa !12
  %102 = sext i32 %101 to i64
  invoke void @_ZNSt6vectorIiSaIiEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %102)
          to label %103 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

103:                                              ; preds = %99
  %104 = getelementptr inbounds i8, ptr %3, i64 216
  %105 = load i32, ptr %9, align 4, !tbaa !12
  %106 = sext i32 %105 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %106)
          to label %.preheader149 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader149:                                    ; preds = %103
  %107 = load i32, ptr %7, align 4, !tbaa !12
  %.not166 = icmp slt i32 %107, 0
  br i1 %.not166, label %.preheader145, label %.lr.ph

.preheader145:                                    ; preds = %117, %.preheader149
  %108 = load i32, ptr %9, align 4, !tbaa !12
  %109 = icmp sgt i32 %108, 0
  br i1 %109, label %.lr.ph169, label %._crit_edge

.lr.ph:                                           ; preds = %.preheader149, %117
  %indvars.iv = phi i64 [ %indvars.iv.next, %117 ], [ 0, %.preheader149 ]
  %110 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %indvars.iv) #6
  %111 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %110)
          to label %112 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

112:                                              ; preds = %.lr.ph
  br i1 %23, label %113, label %117

113:                                              ; preds = %112
  %114 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %95, i64 noundef %indvars.iv) #6
  %115 = load i32, ptr %114, align 4, !tbaa !12
  %116 = add nsw i32 %115, -1
  store i32 %116, ptr %114, align 4, !tbaa !12
  br label %117

117:                                              ; preds = %112, %113
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %118 = load i32, ptr %7, align 4, !tbaa !12
  %119 = sext i32 %118 to i64
  %.not.not = icmp slt i64 %indvars.iv, %119
  br i1 %.not.not, label %.lr.ph, label %.preheader145, !llvm.loop !53

.preheader142:                                    ; preds = %128
  %120 = icmp sgt i32 %129, 0
  br i1 %120, label %.lr.ph171, label %._crit_edge

.lr.ph169:                                        ; preds = %.preheader145, %128
  %indvars.iv197 = phi i64 [ %indvars.iv.next198, %128 ], [ 0, %.preheader145 ]
  %121 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %indvars.iv197) #6
  %122 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %121)
          to label %123 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

123:                                              ; preds = %.lr.ph169
  br i1 %23, label %124, label %128

124:                                              ; preds = %123
  %125 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZNSt6vectorIiSaIiEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %100, i64 noundef %indvars.iv197) #6
  %126 = load i32, ptr %125, align 4, !tbaa !12
  %127 = add nsw i32 %126, -1
  store i32 %127, ptr %125, align 4, !tbaa !12
  br label %128

128:                                              ; preds = %123, %124
  %indvars.iv.next198 = add nuw nsw i64 %indvars.iv197, 1
  %129 = load i32, ptr %9, align 4, !tbaa !12
  %130 = sext i32 %129 to i64
  %131 = icmp slt i64 %indvars.iv.next198, %130
  br i1 %131, label %.lr.ph169, label %.preheader142, !llvm.loop !54

.lr.ph171:                                        ; preds = %.preheader142, %134
  %indvars.iv200 = phi i64 [ %indvars.iv.next201, %134 ], [ 0, %.preheader142 ]
  %132 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %104, i64 noundef %indvars.iv200) #6
  %133 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %132)
          to label %134 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

134:                                              ; preds = %.lr.ph171
  %indvars.iv.next201 = add nuw nsw i64 %indvars.iv200, 1
  %135 = load i32, ptr %9, align 4, !tbaa !12
  %136 = sext i32 %135 to i64
  %137 = icmp slt i64 %indvars.iv.next201, %136
  br i1 %137, label %.lr.ph171, label %._crit_edge, !llvm.loop !55

._crit_edge:                                      ; preds = %134, %.preheader145, %.preheader142
  %138 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader138 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader138:                                    ; preds = %._crit_edge, %142
  %139 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %140 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

140:                                              ; preds = %.preheader138
  %141 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %139, ptr noundef nonnull @.str.10)
  br i1 %141, label %142, label %144

142:                                              ; preds = %140
  %143 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader138 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !56

144:                                              ; preds = %140
  %145 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %146 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

146:                                              ; preds = %144
  %147 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %145, ptr noundef nonnull @.str.61)
          to label %148 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

148:                                              ; preds = %146
  br i1 %147, label %.invoke, label %149

149:                                              ; preds = %148
  %150 = getelementptr inbounds i8, ptr %3, i64 32
  %151 = load i32, ptr %7, align 4, !tbaa !12
  %152 = sext i32 %151 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %150, i64 noundef %152)
          to label %153 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

153:                                              ; preds = %149
  %154 = getelementptr inbounds i8, ptr %3, i64 56
  %155 = load i32, ptr %7, align 4, !tbaa !12
  %156 = sext i32 %155 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef %156)
          to label %157 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

157:                                              ; preds = %153
  %158 = load i32, ptr %7, align 4, !tbaa !12
  %159 = sext i32 %158 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #6
  store double 0xFFF0000000000000, ptr %11, align 8, !tbaa !57
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %150, i64 noundef %159, ptr noundef nonnull align 8 dereferenceable(8) %11)
          to label %160 unwind label %172

160:                                              ; preds = %157
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  %161 = load i32, ptr %7, align 4, !tbaa !12
  %162 = sext i32 %161 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef %162, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %.preheader135 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader135:                                    ; preds = %160
  %163 = load i32, ptr %7, align 4, !tbaa !12
  %164 = icmp sgt i32 %163, 0
  br i1 %164, label %.lr.ph173, label %._crit_edge176

.preheader131:                                    ; preds = %168
  %165 = icmp sgt i32 %169, 0
  br i1 %165, label %.lr.ph175, label %._crit_edge176

.lr.ph173:                                        ; preds = %.preheader135, %168
  %indvars.iv203 = phi i64 [ %indvars.iv.next204, %168 ], [ 0, %.preheader135 ]
  %166 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %150, i64 noundef %indvars.iv203) #6
  %167 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %166)
          to label %168 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

168:                                              ; preds = %.lr.ph173
  %indvars.iv.next204 = add nuw nsw i64 %indvars.iv203, 1
  %169 = load i32, ptr %7, align 4, !tbaa !12
  %170 = sext i32 %169 to i64
  %171 = icmp slt i64 %indvars.iv.next204, %170
  br i1 %171, label %.lr.ph173, label %.preheader131, !llvm.loop !58

172:                                              ; preds = %157
  %173 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #6
  br label %.loopexit.split-lp

.lr.ph175:                                        ; preds = %.preheader131, %176
  %indvars.iv206 = phi i64 [ %indvars.iv.next207, %176 ], [ 0, %.preheader131 ]
  %174 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %154, i64 noundef %indvars.iv206) #6
  %175 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %174)
          to label %176 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

176:                                              ; preds = %.lr.ph175
  %indvars.iv.next207 = add nuw nsw i64 %indvars.iv206, 1
  %177 = load i32, ptr %7, align 4, !tbaa !12
  %178 = sext i32 %177 to i64
  %179 = icmp slt i64 %indvars.iv.next207, %178
  br i1 %179, label %.lr.ph175, label %._crit_edge176, !llvm.loop !59

._crit_edge176:                                   ; preds = %176, %.preheader135, %.preheader131
  %180 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader128 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader128:                                    ; preds = %._crit_edge176, %184
  %181 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %182 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

182:                                              ; preds = %.preheader128
  %183 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %181, ptr noundef nonnull @.str.10)
  br i1 %183, label %184, label %186

184:                                              ; preds = %182
  %185 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader128 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !60

186:                                              ; preds = %182
  %187 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %188 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

188:                                              ; preds = %186
  %189 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %187, ptr noundef nonnull @.str.63)
          to label %190 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

190:                                              ; preds = %188
  br i1 %189, label %.invoke, label %191

191:                                              ; preds = %190
  %192 = getelementptr inbounds i8, ptr %3, i64 80
  %193 = load i32, ptr %8, align 4, !tbaa !12
  %194 = sext i32 %193 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %194)
          to label %195 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

195:                                              ; preds = %191
  %196 = getelementptr inbounds i8, ptr %3, i64 104
  %197 = load i32, ptr %8, align 4, !tbaa !12
  %198 = sext i32 %197 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %198)
          to label %199 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

199:                                              ; preds = %195
  %200 = load i32, ptr %8, align 4, !tbaa !12
  %201 = sext i32 %200 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #6
  store double 0xFFF0000000000000, ptr %12, align 8, !tbaa !57
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %201, ptr noundef nonnull align 8 dereferenceable(8) %12)
          to label %202 unwind label %214

202:                                              ; preds = %199
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  %203 = load i32, ptr %8, align 4, !tbaa !12
  %204 = sext i32 %203 to i64
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %204, ptr noundef nonnull align 8 dereferenceable(8) @_ZL9kHighsInf)
          to label %.preheader124 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader124:                                    ; preds = %202
  %205 = load i32, ptr %8, align 4, !tbaa !12
  %206 = icmp sgt i32 %205, 0
  br i1 %206, label %.lr.ph178, label %._crit_edge181

.preheader121:                                    ; preds = %210
  %207 = icmp sgt i32 %211, 0
  br i1 %207, label %.lr.ph180, label %._crit_edge181

.lr.ph178:                                        ; preds = %.preheader124, %210
  %indvars.iv209 = phi i64 [ %indvars.iv.next210, %210 ], [ 0, %.preheader124 ]
  %208 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %192, i64 noundef %indvars.iv209) #6
  %209 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %208)
          to label %210 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

210:                                              ; preds = %.lr.ph178
  %indvars.iv.next210 = add nuw nsw i64 %indvars.iv209, 1
  %211 = load i32, ptr %8, align 4, !tbaa !12
  %212 = sext i32 %211 to i64
  %213 = icmp slt i64 %indvars.iv.next210, %212
  br i1 %213, label %.lr.ph178, label %.preheader121, !llvm.loop !61

214:                                              ; preds = %199
  %215 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #6
  br label %.loopexit.split-lp

.lr.ph180:                                        ; preds = %.preheader121, %218
  %indvars.iv212 = phi i64 [ %indvars.iv.next213, %218 ], [ 0, %.preheader121 ]
  %216 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %196, i64 noundef %indvars.iv212) #6
  %217 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %216)
          to label %218 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

218:                                              ; preds = %.lr.ph180
  %indvars.iv.next213 = add nuw nsw i64 %indvars.iv212, 1
  %219 = load i32, ptr %8, align 4, !tbaa !12
  %220 = sext i32 %219 to i64
  %221 = icmp slt i64 %indvars.iv.next213, %220
  br i1 %221, label %.lr.ph180, label %._crit_edge181, !llvm.loop !62

._crit_edge181:                                   ; preds = %218, %.preheader124, %.preheader121
  %222 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader117 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader117:                                    ; preds = %._crit_edge181, %226
  %223 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %224 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

224:                                              ; preds = %.preheader117
  %225 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %223, ptr noundef nonnull @.str.10)
  br i1 %225, label %226, label %228

226:                                              ; preds = %224
  %227 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader117 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !63

228:                                              ; preds = %224
  %229 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %230 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

230:                                              ; preds = %228
  %231 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %229, ptr noundef nonnull @.str.65)
          to label %232 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

232:                                              ; preds = %230
  br i1 %231, label %.invoke, label %233

233:                                              ; preds = %232
  %234 = getelementptr inbounds i8, ptr %3, i64 8
  %235 = load i32, ptr %7, align 4, !tbaa !12
  %236 = sext i32 %235 to i64
  invoke void @_ZNSt6vectorIdSaIdEE7reserveEm(ptr noundef nonnull align 8 dereferenceable(24) %234, i64 noundef %236)
          to label %237 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

237:                                              ; preds = %233
  %238 = load i32, ptr %7, align 4, !tbaa !12
  %239 = sext i32 %238 to i64
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #6
  store double 0.000000e+00, ptr %13, align 8, !tbaa !57
  invoke void @_ZNSt6vectorIdSaIdEE6assignEmRKd(ptr noundef nonnull align 8 dereferenceable(24) %234, i64 noundef %239, ptr noundef nonnull align 8 dereferenceable(8) %13)
          to label %240 unwind label %249

240:                                              ; preds = %237
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  %241 = load i32, ptr %7, align 4, !tbaa !12
  %242 = icmp sgt i32 %241, 0
  br i1 %242, label %.lr.ph184, label %._crit_edge185

.lr.ph184:                                        ; preds = %240, %245
  %indvars.iv215 = phi i64 [ %indvars.iv.next216, %245 ], [ 0, %240 ]
  %243 = call noundef nonnull align 8 dereferenceable(8) ptr @_ZNSt6vectorIdSaIdEEixEm(ptr noundef nonnull align 8 dereferenceable(24) %234, i64 noundef %indvars.iv215) #6
  %244 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERd(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(8) %243)
          to label %245 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

245:                                              ; preds = %.lr.ph184
  %indvars.iv.next216 = add nuw nsw i64 %indvars.iv215, 1
  %246 = load i32, ptr %7, align 4, !tbaa !12
  %247 = sext i32 %246 to i64
  %248 = icmp slt i64 %indvars.iv.next216, %247
  br i1 %248, label %.lr.ph184, label %._crit_edge185, !llvm.loop !64

249:                                              ; preds = %237
  %250 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #6
  br label %.loopexit.split-lp

._crit_edge185:                                   ; preds = %245, %240
  %251 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader111 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader111:                                    ; preds = %._crit_edge185, %262
  %252 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %253 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

253:                                              ; preds = %.preheader111
  %254 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %252, ptr noundef nonnull @.str.10)
  br i1 %254, label %255, label %.critedge2

255:                                              ; preds = %253
  %256 = load ptr, ptr %5, align 8, !tbaa !5
  %257 = getelementptr i8, ptr %256, i64 -24
  %258 = load i64, ptr %257, align 8
  %259 = getelementptr inbounds i8, ptr %5, i64 %258
  %260 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %259)
          to label %261 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit

261:                                              ; preds = %255
  br i1 %260, label %262, label %.critedge2

262:                                              ; preds = %261
  %263 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader111 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !65

.critedge2:                                       ; preds = %253, %261
  %264 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %265 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

265:                                              ; preds = %.critedge2
  %266 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %264, ptr noundef nonnull @.str.67)
  br i1 %266, label %267, label %.critedge4

267:                                              ; preds = %265
  %268 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %10)
          to label %269 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

269:                                              ; preds = %267
  %270 = load i32, ptr %10, align 4, !tbaa !12
  %.not99 = icmp eq i32 %270, 0
  br i1 %.not99, label %293, label %271

271:                                              ; preds = %269
  %272 = getelementptr inbounds i8, ptr %3, i64 376
  %273 = load i32, ptr %3, align 8, !tbaa !15
  %274 = sext i32 %273 to i64
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #6
  store i8 0, ptr %14, align 1, !tbaa !66
  invoke void @_ZNSt6vectorI12HighsVarTypeSaIS0_EE6resizeEmRKS0_(ptr noundef nonnull align 8 dereferenceable(24) %272, i64 noundef %274, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %275 unwind label %282

275:                                              ; preds = %271
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #6
  %276 = load i32, ptr %10, align 4, !tbaa !12
  %277 = icmp sgt i32 %276, 0
  br i1 %277, label %.lr.ph188, label %._crit_edge189

.lr.ph188:                                        ; preds = %275, %286
  %.8186 = phi i32 [ %290, %286 ], [ 0, %275 ]
  %278 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 4 dereferenceable(4) %15)
          to label %279 unwind label %284

279:                                              ; preds = %.lr.ph188
  %.pre = load i32, ptr %15, align 4, !tbaa !12
  br i1 %23, label %280, label %286

280:                                              ; preds = %279
  %281 = add nsw i32 %.pre, -1
  store i32 %281, ptr %15, align 4, !tbaa !12
  br label %286

282:                                              ; preds = %271
  %283 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #6
  br label %.loopexit.split-lp

284:                                              ; preds = %.lr.ph188
  %285 = landingpad { ptr, i32 }
          cleanup
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  br label %.loopexit.split-lp

286:                                              ; preds = %280, %279
  %287 = phi i32 [ %281, %280 ], [ %.pre, %279 ]
  %288 = sext i32 %287 to i64
  %289 = call noundef nonnull align 1 dereferenceable(1) ptr @_ZNSt6vectorI12HighsVarTypeSaIS0_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %272, i64 noundef %288) #6
  store i8 1, ptr %289, align 1, !tbaa !66
  %290 = add nuw nsw i32 %.8186, 1
  %291 = load i32, ptr %10, align 4, !tbaa !12
  %292 = icmp slt i32 %290, %291
  br i1 %292, label %.lr.ph188, label %._crit_edge189, !llvm.loop !68

._crit_edge189:                                   ; preds = %286, %275
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #6
  br label %293

293:                                              ; preds = %._crit_edge189, %269
  %294 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader108 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader108:                                    ; preds = %293, %305
  %295 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %296 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

296:                                              ; preds = %.preheader108
  %297 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %295, ptr noundef nonnull @.str.10)
  br i1 %297, label %298, label %.critedge4

298:                                              ; preds = %296
  %299 = load ptr, ptr %5, align 8, !tbaa !5
  %300 = getelementptr i8, ptr %299, i64 -24
  %301 = load i64, ptr %300, align 8
  %302 = getelementptr inbounds i8, ptr %5, i64 %301
  %303 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264) %302)
          to label %304 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit

304:                                              ; preds = %298
  br i1 %303, label %305, label %.critedge4

305:                                              ; preds = %304
  %306 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %.preheader108 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit, !llvm.loop !69

.critedge4:                                       ; preds = %304, %296, %265
  %307 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %308 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

308:                                              ; preds = %.critedge4
  %309 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %307, ptr noundef nonnull @.str.68)
  br i1 %309, label %310, label %312

310:                                              ; preds = %308
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %5)
          to label %311 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

311:                                              ; preds = %310
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %3)
          to label %312 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

312:                                              ; preds = %311, %308
  %313 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %314 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

314:                                              ; preds = %312
  %315 = call noundef zeroext i1 @_ZSteqIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %313, ptr noundef nonnull @.str.69)
  br i1 %315, label %316, label %368

316:                                              ; preds = %314
  %317 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %318 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

318:                                              ; preds = %316
  %319 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %320 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

320:                                              ; preds = %318
  %321 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %319, ptr noundef nonnull @.str.70)
          to label %322 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

322:                                              ; preds = %320
  br i1 %321, label %323, label %325

323:                                              ; preds = %322
  %324 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %325 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

325:                                              ; preds = %323, %322
  %326 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %327 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

327:                                              ; preds = %325
  %328 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %326, ptr noundef nonnull @.str.70)
          to label %329 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

329:                                              ; preds = %327
  br i1 %328, label %.critedge103, label %330

330:                                              ; preds = %329
  %331 = getelementptr inbounds i8, ptr %3, i64 352
  %332 = load i32, ptr %8, align 4, !tbaa !12
  %333 = sext i32 %332 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %333)
          to label %334 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

334:                                              ; preds = %330
  %335 = getelementptr inbounds i8, ptr %3, i64 328
  %336 = load i32, ptr %7, align 4, !tbaa !12
  %337 = sext i32 %336 to i64
  invoke void @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE6resizeEm(ptr noundef nonnull align 8 dereferenceable(24) %335, i64 noundef %337)
          to label %.preheader104 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

.preheader104:                                    ; preds = %334
  %338 = load i32, ptr %7, align 4, !tbaa !12
  %339 = icmp sgt i32 %338, 0
  br i1 %339, label %.lr.ph191, label %._crit_edge192

.lr.ph191:                                        ; preds = %.preheader104, %346
  %indvars.iv218 = phi i64 [ %indvars.iv.next219, %346 ], [ 0, %.preheader104 ]
  %340 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %341 unwind label %.loopexit.split-lp.loopexit

341:                                              ; preds = %.lr.ph191
  %342 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %343 unwind label %.loopexit.split-lp.loopexit

343:                                              ; preds = %341
  %344 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %335, i64 noundef %indvars.iv218) #6
  %345 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %344, ptr noundef nonnull align 8 dereferenceable(32) %342)
          to label %346 unwind label %.loopexit.split-lp.loopexit

346:                                              ; preds = %343
  %indvars.iv.next219 = add nuw nsw i64 %indvars.iv218, 1
  %347 = load i32, ptr %7, align 4, !tbaa !12
  %348 = sext i32 %347 to i64
  %349 = icmp slt i64 %indvars.iv.next219, %348
  br i1 %349, label %.lr.ph191, label %._crit_edge192, !llvm.loop !70

._crit_edge192:                                   ; preds = %346, %.preheader104
  %350 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %351 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

351:                                              ; preds = %._crit_edge192
  %352 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %353 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

353:                                              ; preds = %351
  %354 = invoke noundef zeroext i1 @_ZStneIcSt11char_traitsIcESaIcEEbRKNSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_(ptr noundef nonnull align 8 dereferenceable(32) %352, ptr noundef nonnull @.str.71)
          to label %355 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

355:                                              ; preds = %353
  br i1 %354, label %.critedge103, label %.preheader

.preheader:                                       ; preds = %355
  %356 = load i32, ptr %8, align 4, !tbaa !12
  %357 = icmp sgt i32 %356, 0
  br i1 %357, label %.lr.ph194, label %._crit_edge195

.lr.ph194:                                        ; preds = %.preheader, %364
  %indvars.iv221 = phi i64 [ %indvars.iv.next222, %364 ], [ 0, %.preheader ]
  %358 = invoke noundef nonnull align 8 dereferenceable(16) ptr @_ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE(ptr noundef nonnull align 8 dereferenceable(16) %5, ptr noundef nonnull align 8 dereferenceable(32) %6)
          to label %359 unwind label %.loopexit

359:                                              ; preds = %.lr.ph194
  %360 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_Z4trimRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef nonnull align 8 dereferenceable(32) @_ZL17default_non_charsB5cxx11)
          to label %361 unwind label %.loopexit

361:                                              ; preds = %359
  %362 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEixEm(ptr noundef nonnull align 8 dereferenceable(24) %331, i64 noundef %indvars.iv221) #6
  %363 = invoke noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEaSERKS4_(ptr noundef nonnull align 8 dereferenceable(32) %362, ptr noundef nonnull align 8 dereferenceable(32) %360)
          to label %364 unwind label %.loopexit

364:                                              ; preds = %361
  %indvars.iv.next222 = add nuw nsw i64 %indvars.iv221, 1
  %365 = load i32, ptr %8, align 4, !tbaa !12
  %366 = sext i32 %365 to i64
  %367 = icmp slt i64 %indvars.iv.next222, %366
  br i1 %367, label %.lr.ph194, label %._crit_edge195, !llvm.loop !71

368:                                              ; preds = %314
  %369 = load ptr, ptr %5, align 8, !tbaa !5
  %370 = getelementptr i8, ptr %369, i64 -24
  %371 = load i64, ptr %370, align 8
  %372 = getelementptr inbounds i8, ptr %5, i64 %371
  %373 = invoke noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264) %372)
          to label %374 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

374:                                              ; preds = %368
  br i1 %373, label %375, label %.invoke

375:                                              ; preds = %374
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %3)
          to label %.invoke unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

._crit_edge195:                                   ; preds = %364, %.preheader
  invoke void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256) %5)
          to label %376 unwind label %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp

376:                                              ; preds = %._crit_edge195
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  invoke void @_ZN7HighsLp13ensureColwiseEv(ptr noundef nonnull align 8 dereferenceable(920) %3)
          to label %379 unwind label %38

.loopexit.split-lp:                               ; preds = %.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit, %.loopexit.split-lp.loopexit, %284, %282, %249, %214, %172
  %.pn = phi { ptr, i32 } [ %285, %284 ], [ %283, %282 ], [ %250, %249 ], [ %215, %214 ], [ %173, %172 ], [ %lpad.loopexit, %.loopexit ], [ %lpad.loopexit105, %.loopexit.split-lp.loopexit ], [ %lpad.loopexit109, %.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit112, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit115, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit118, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit122, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit125, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit129, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit132, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit136, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit139, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit143, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit146, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit150, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit153, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit157, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit160, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit164, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit ], [ %lpad.loopexit.split-lp, %.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp.loopexit.split-lp ]
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %380

377:                                              ; preds = %16
  %378 = getelementptr inbounds i8, ptr %1, i64 896
  invoke void (ptr, i32, ptr, ...) @_Z12highsLogUserRK15HighsLogOptions12HighsLogTypePKcz(ptr noundef nonnull align 8 dereferenceable(89) %378, i32 noundef 5, ptr noundef nonnull @.str.73)
          to label %379 unwind label %38

.critedge103:                                     ; preds = %.invoke, %355, %329
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %8) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #6
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #6
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #6
  br label %379

379:                                              ; preds = %376, %377, %.critedge103
  %.196 = phi i32 [ 3, %.critedge103 ], [ 2, %377 ], [ 0, %376 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #6
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #6
  ret i32 %.196

380:                                              ; preds = %.loopexit.split-lp, %38
  %.pn.pn = phi { ptr, i32 } [ %.pn, %.loopexit.split-lp ], [ %39, %38 ]
  call void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEED1Ev(ptr noundef nonnull align 8 dereferenceable(256) %5) #6
  call void @llvm.lifetime.end.p0(i64 520, ptr nonnull %5) #6
  resume { ptr, i32 } %.pn.pn
}

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

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

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE7is_openEv(ptr noundef nonnull align 8 dereferenceable(256)) 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

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

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

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

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEcvbEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare noundef zeroext i1 @_ZNKSt9basic_iosIcSt11char_traitsIcEEntEv(ptr noundef nonnull align 8 dereferenceable(264)) local_unnamed_addr #2 align 2

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

declare noundef nonnull align 8 dereferenceable(16) ptr @_ZNSirsERi(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 4 dereferenceable(4)) local_unnamed_addr #4

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

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

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

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

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

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

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

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

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

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

; Function Attrs: mustprogress uwtable
declare void @_ZNSt14basic_ifstreamIcSt11char_traitsIcEE5closeEv(ptr noundef nonnull align 8 dereferenceable(256)) local_unnamed_addr #2 align 2

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

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

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

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

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

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

!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 = !{!"vtable pointer", !7, i64 0}
!7 = !{!"Simple C++ TBAA"}
!8 = distinct !{!8, !9}
!9 = !{!"llvm.loop.mustprogress"}
!10 = distinct !{!10, !9}
!11 = distinct !{!11, !9}
!12 = !{!13, !13, i64 0}
!13 = !{!"int", !14, i64 0}
!14 = !{!"omnipotent char", !7, i64 0}
!15 = !{!16, !13, i64 0}
!16 = !{!"_ZTS7HighsLp", !13, i64 0, !13, i64 4, !17, i64 8, !17, i64 32, !17, i64 56, !17, i64 80, !17, i64 104, !22, i64 128, !28, i64 240, !29, i64 248, !30, i64 256, !30, i64 288, !13, i64 320, !13, i64 324, !33, i64 328, !33, i64 352, !37, i64 376, !41, i64 400, !41, i64 456, !13, i64 512, !13, i64 516, !47, i64 520, !48, i64 592, !48, i64 593, !13, i64 596, !48, i64 600, !49, i64 608}
!17 = !{!"_ZTSSt6vectorIdSaIdEE", !18, i64 0}
!18 = !{!"_ZTSSt12_Vector_baseIdSaIdEE", !19, i64 0}
!19 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE12_Vector_implE", !20, i64 0}
!20 = !{!"_ZTSNSt12_Vector_baseIdSaIdEE17_Vector_impl_dataE", !21, i64 0, !21, i64 8, !21, i64 16}
!21 = !{!"any pointer", !14, i64 0}
!22 = !{!"_ZTS17HighsSparseMatrix", !23, i64 0, !13, i64 4, !13, i64 8, !24, i64 16, !24, i64 40, !24, i64 64, !17, i64 88}
!23 = !{!"_ZTS12MatrixFormat", !14, i64 0}
!24 = !{!"_ZTSSt6vectorIiSaIiEE", !25, i64 0}
!25 = !{!"_ZTSSt12_Vector_baseIiSaIiEE", !26, i64 0}
!26 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE12_Vector_implE", !27, i64 0}
!27 = !{!"_ZTSNSt12_Vector_baseIiSaIiEE17_Vector_impl_dataE", !21, i64 0, !21, i64 8, !21, i64 16}
!28 = !{!"_ZTS8ObjSense", !14, i64 0}
!29 = !{!"double", !14, i64 0}
!30 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", !31, i64 0, !32, i64 8, !14, i64 16}
!31 = !{!"_ZTSNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_Alloc_hiderE", !21, i64 0}
!32 = !{!"long", !14, i64 0}
!33 = !{!"_ZTSSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !34, i64 0}
!34 = !{!"_ZTSSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE", !35, i64 0}
!35 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12_Vector_implE", !36, i64 0}
!36 = !{!"_ZTSNSt12_Vector_baseINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_Vector_impl_dataE", !21, i64 0, !21, i64 8, !21, i64 16}
!37 = !{!"_ZTSSt6vectorI12HighsVarTypeSaIS0_EE", !38, i64 0}
!38 = !{!"_ZTSSt12_Vector_baseI12HighsVarTypeSaIS0_EE", !39, i64 0}
!39 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE12_Vector_implE", !40, i64 0}
!40 = !{!"_ZTSNSt12_Vector_baseI12HighsVarTypeSaIS0_EE17_Vector_impl_dataE", !21, i64 0, !21, i64 8, !21, i64 16}
!41 = !{!"_ZTS13HighsNameHash", !42, i64 0}
!42 = !{!"_ZTSSt13unordered_mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4hashIS5_ESt8equal_toIS5_ESaISt4pairIKS5_iEEE", !43, i64 0}
!43 = !{!"_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", !21, i64 0, !32, i64 8, !44, i64 16, !32, i64 24, !45, i64 32, !21, i64 48}
!44 = !{!"_ZTSNSt8__detail15_Hash_node_baseE", !21, i64 0}
!45 = !{!"_ZTSNSt8__detail20_Prime_rehash_policyE", !46, i64 0, !32, i64 8}
!46 = !{!"float", !14, i64 0}
!47 = !{!"_ZTS10HighsScale", !13, i64 0, !48, i64 4, !13, i64 8, !13, i64 12, !29, i64 16, !17, i64 24, !17, i64 48}
!48 = !{!"bool", !14, i64 0}
!49 = !{!"_ZTS11HighsLpMods", !24, i64 0, !24, i64 24, !17, i64 48, !17, i64 72, !37, i64 96, !24, i64 120, !17, i64 144, !24, i64 168, !17, i64 192, !24, i64 216, !17, i64 240, !17, i64 264, !17, i64 288}
!50 = !{!16, !13, i64 4}
!51 = distinct !{!51, !9}
!52 = !{!16, !23, i64 128}
!53 = distinct !{!53, !9}
!54 = distinct !{!54, !9}
!55 = distinct !{!55, !9}
!56 = distinct !{!56, !9}
!57 = !{!29, !29, i64 0}
!58 = distinct !{!58, !9}
!59 = distinct !{!59, !9}
!60 = distinct !{!60, !9}
!61 = distinct !{!61, !9}
!62 = distinct !{!62, !9}
!63 = distinct !{!63, !9}
!64 = distinct !{!64, !9}
!65 = distinct !{!65, !9}
!66 = !{!67, !67, i64 0}
!67 = !{!"_ZTS12HighsVarType", !14, i64 0}
!68 = distinct !{!68, !9}
!69 = distinct !{!69, !9}
!70 = distinct !{!70, !9}
!71 = distinct !{!71, !9}


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