; LLVM IR from ERGO-Code/HiGHS :: src/ipm/IpxWrapper.ll (Z22illegalIpxSolvedStatusRKN3ipx4InfoERK12HighsOptions)

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

%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<char>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<char>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::allocator" = type { i8 }
%struct.ipx_info = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, i32, i32, i32, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, double, i32, i32, i32, i32, double, double, double, double }

@.str.93 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [56 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext, ptr noundef nonnull align 8 dereferenceable(1020), ptr noundef, i32 noundef) #2

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z22illegalIpxSolvedStatusRKN3ipx4InfoERK12HighsOptions(ptr noundef nonnull align 8 dereferenceable(464) %0, ptr noundef nonnull align 8 dereferenceable(1020) %1) #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca i8, align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::allocator", align 1
  %8 = alloca i1, align 1
  %9 = alloca i1, align 1
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca i1, align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca i1, align 1
  %16 = alloca i1, align 1
  %17 = alloca i1, align 1
  %18 = alloca %"class.std::__cxx11::basic_string", align 8
  %19 = alloca %"class.std::allocator", align 1
  %20 = alloca i1, align 1
  %21 = alloca i1, align 1
  %22 = alloca i1, align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca i1, align 1
  %26 = alloca i1, align 1
  %27 = alloca i1, align 1
  %28 = alloca %"class.std::__cxx11::basic_string", align 8
  %29 = alloca %"class.std::allocator", align 1
  %30 = alloca i1, align 1
  %31 = alloca i1, align 1
  %32 = alloca i1, align 1
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %"class.std::allocator", align 1
  %35 = alloca i1, align 1
  %36 = alloca i1, align 1
  %37 = alloca i1, align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::allocator", align 1
  %40 = alloca i1, align 1
  %41 = alloca i1, align 1
  %42 = alloca i1, align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::allocator", align 1
  %45 = alloca i1, align 1
  %46 = alloca i1, align 1
  %47 = alloca i1, align 1
  %48 = alloca %"class.std::__cxx11::basic_string", align 8
  %49 = alloca %"class.std::allocator", align 1
  %50 = alloca i1, align 1
  %51 = alloca i1, align 1
  %52 = alloca i1, align 1
  %53 = alloca %"class.std::__cxx11::basic_string", align 8
  %54 = alloca %"class.std::allocator", align 1
  %55 = alloca i1, align 1
  %56 = alloca i1, align 1
  %57 = alloca i1, align 1
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::allocator", align 1
  %60 = alloca i1, align 1
  %61 = alloca i1, align 1
  %62 = alloca i1, align 1
  %63 = alloca %"class.std::__cxx11::basic_string", align 8
  %64 = alloca %"class.std::allocator", align 1
  %65 = alloca i1, align 1
  %66 = alloca i1, align 1
  %67 = alloca i1, align 1
  store ptr %0, ptr %3, align 8, !tbaa !5
  store ptr %1, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %5) #3
  store i8 0, ptr %5, align 1, !tbaa !9
  %68 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %69 = trunc i8 %68 to i1
  store i1 false, ptr %8, align 1
  store i1 false, ptr %9, align 1
  store i1 false, ptr %12, align 1
  br i1 %69, label %79, label %70

70:                                               ; preds = %2
  %71 = load ptr, ptr %3, align 8, !tbaa !5
  %72 = getelementptr inbounds %struct.ipx_info, ptr %71, i32 0, i32 1
  %73 = load i32, ptr %72, align 4, !tbaa !13
  %74 = icmp eq i32 %73, 6
  %75 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #3
  store i1 true, ptr %8, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  store i1 true, ptr %9, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %6, ptr noundef @.str.93, ptr noundef nonnull align 1 dereferenceable(1) %7)
          to label %76 unwind label %346

76:                                               ; preds = %70
  store i1 true, ptr %12, align 1
  %77 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %74, ptr noundef nonnull align 8 dereferenceable(1020) %75, ptr noundef %6, i32 noundef -1)
          to label %78 unwind label %350

78:                                               ; preds = %76
  br label %79

79:                                               ; preds = %78, %2
  %80 = phi i1 [ true, %2 ], [ %77, %78 ]
  %81 = zext i1 %80 to i8
  store i8 %81, ptr %5, align 1, !tbaa !9
  %82 = load i1, ptr %12, align 1
  br i1 %82, label %83, label %84

83:                                               ; preds = %79
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #3
  br label %84

84:                                               ; preds = %83, %79
  %85 = load i1, ptr %9, align 1
  br i1 %85, label %86, label %87

86:                                               ; preds = %84
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  br label %87

87:                                               ; preds = %86, %84
  %88 = load i1, ptr %8, align 1
  br i1 %88, label %89, label %90

89:                                               ; preds = %87
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #3
  br label %90

90:                                               ; preds = %89, %87
  %91 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %92 = trunc i8 %91 to i1
  store i1 false, ptr %15, align 1
  store i1 false, ptr %16, align 1
  store i1 false, ptr %17, align 1
  br i1 %92, label %102, label %93

93:                                               ; preds = %90
  %94 = load ptr, ptr %3, align 8, !tbaa !5
  %95 = getelementptr inbounds %struct.ipx_info, ptr %94, i32 0, i32 1
  %96 = load i32, ptr %95, align 4, !tbaa !13
  %97 = icmp eq i32 %96, 7
  %98 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #3
  store i1 true, ptr %15, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  store i1 true, ptr %16, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %99 unwind label %364

99:                                               ; preds = %93
  store i1 true, ptr %17, align 1
  %100 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %97, ptr noundef nonnull align 8 dereferenceable(1020) %98, ptr noundef %13, i32 noundef -1)
          to label %101 unwind label %368

101:                                              ; preds = %99
  br label %102

102:                                              ; preds = %101, %90
  %103 = phi i1 [ true, %90 ], [ %100, %101 ]
  %104 = zext i1 %103 to i8
  store i8 %104, ptr %5, align 1, !tbaa !9
  %105 = load i1, ptr %17, align 1
  br i1 %105, label %106, label %107

106:                                              ; preds = %102
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #3
  br label %107

107:                                              ; preds = %106, %102
  %108 = load i1, ptr %16, align 1
  br i1 %108, label %109, label %110

109:                                              ; preds = %107
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  br label %110

110:                                              ; preds = %109, %107
  %111 = load i1, ptr %15, align 1
  br i1 %111, label %112, label %113

112:                                              ; preds = %110
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #3
  br label %113

113:                                              ; preds = %112, %110
  %114 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %115 = trunc i8 %114 to i1
  store i1 false, ptr %20, align 1
  store i1 false, ptr %21, align 1
  store i1 false, ptr %22, align 1
  br i1 %115, label %125, label %116

116:                                              ; preds = %113
  %117 = load ptr, ptr %3, align 8, !tbaa !5
  %118 = getelementptr inbounds %struct.ipx_info, ptr %117, i32 0, i32 1
  %119 = load i32, ptr %118, align 4, !tbaa !13
  %120 = icmp eq i32 %119, 8
  %121 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #3
  store i1 true, ptr %20, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #3
  store i1 true, ptr %21, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %18, ptr noundef @.str.95, ptr noundef nonnull align 1 dereferenceable(1) %19)
          to label %122 unwind label %382

122:                                              ; preds = %116
  store i1 true, ptr %22, align 1
  %123 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %120, ptr noundef nonnull align 8 dereferenceable(1020) %121, ptr noundef %18, i32 noundef -1)
          to label %124 unwind label %386

124:                                              ; preds = %122
  br label %125

125:                                              ; preds = %124, %113
  %126 = phi i1 [ true, %113 ], [ %123, %124 ]
  %127 = zext i1 %126 to i8
  store i8 %127, ptr %5, align 1, !tbaa !9
  %128 = load i1, ptr %22, align 1
  br i1 %128, label %129, label %130

129:                                              ; preds = %125
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #3
  br label %130

130:                                              ; preds = %129, %125
  %131 = load i1, ptr %21, align 1
  br i1 %131, label %132, label %133

132:                                              ; preds = %130
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #3
  br label %133

133:                                              ; preds = %132, %130
  %134 = load i1, ptr %20, align 1
  br i1 %134, label %135, label %136

135:                                              ; preds = %133
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #3
  br label %136

136:                                              ; preds = %135, %133
  %137 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %138 = trunc i8 %137 to i1
  store i1 false, ptr %25, align 1
  store i1 false, ptr %26, align 1
  store i1 false, ptr %27, align 1
  br i1 %138, label %148, label %139

139:                                              ; preds = %136
  %140 = load ptr, ptr %3, align 8, !tbaa !5
  %141 = getelementptr inbounds %struct.ipx_info, ptr %140, i32 0, i32 1
  %142 = load i32, ptr %141, align 4, !tbaa !13
  %143 = icmp eq i32 %142, 9
  %144 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #3
  store i1 true, ptr %25, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  store i1 true, ptr %26, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %145 unwind label %400

145:                                              ; preds = %139
  store i1 true, ptr %27, align 1
  %146 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %143, ptr noundef nonnull align 8 dereferenceable(1020) %144, ptr noundef %23, i32 noundef -1)
          to label %147 unwind label %404

147:                                              ; preds = %145
  br label %148

148:                                              ; preds = %147, %136
  %149 = phi i1 [ true, %136 ], [ %146, %147 ]
  %150 = zext i1 %149 to i8
  store i8 %150, ptr %5, align 1, !tbaa !9
  %151 = load i1, ptr %27, align 1
  br i1 %151, label %152, label %153

152:                                              ; preds = %148
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #3
  br label %153

153:                                              ; preds = %152, %148
  %154 = load i1, ptr %26, align 1
  br i1 %154, label %155, label %156

155:                                              ; preds = %153
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  br label %156

156:                                              ; preds = %155, %153
  %157 = load i1, ptr %25, align 1
  br i1 %157, label %158, label %159

158:                                              ; preds = %156
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #3
  br label %159

159:                                              ; preds = %158, %156
  %160 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %161 = trunc i8 %160 to i1
  store i1 false, ptr %30, align 1
  store i1 false, ptr %31, align 1
  store i1 false, ptr %32, align 1
  br i1 %161, label %171, label %162

162:                                              ; preds = %159
  %163 = load ptr, ptr %3, align 8, !tbaa !5
  %164 = getelementptr inbounds %struct.ipx_info, ptr %163, i32 0, i32 1
  %165 = load i32, ptr %164, align 4, !tbaa !13
  %166 = icmp eq i32 %165, 10
  %167 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %29) #3
  store i1 true, ptr %30, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #3
  store i1 true, ptr %31, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %28, ptr noundef @.str.97, ptr noundef nonnull align 1 dereferenceable(1) %29)
          to label %168 unwind label %418

168:                                              ; preds = %162
  store i1 true, ptr %32, align 1
  %169 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %166, ptr noundef nonnull align 8 dereferenceable(1020) %167, ptr noundef %28, i32 noundef -1)
          to label %170 unwind label %422

170:                                              ; preds = %168
  br label %171

171:                                              ; preds = %170, %159
  %172 = phi i1 [ true, %159 ], [ %169, %170 ]
  %173 = zext i1 %172 to i8
  store i8 %173, ptr %5, align 1, !tbaa !9
  %174 = load i1, ptr %32, align 1
  br i1 %174, label %175, label %176

175:                                              ; preds = %171
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #3
  br label %176

176:                                              ; preds = %175, %171
  %177 = load i1, ptr %31, align 1
  br i1 %177, label %178, label %179

178:                                              ; preds = %176
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #3
  br label %179

179:                                              ; preds = %178, %176
  %180 = load i1, ptr %30, align 1
  br i1 %180, label %181, label %182

181:                                              ; preds = %179
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #3
  br label %182

182:                                              ; preds = %181, %179
  %183 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %184 = trunc i8 %183 to i1
  store i1 false, ptr %35, align 1
  store i1 false, ptr %36, align 1
  store i1 false, ptr %37, align 1
  br i1 %184, label %194, label %185

185:                                              ; preds = %182
  %186 = load ptr, ptr %3, align 8, !tbaa !5
  %187 = getelementptr inbounds %struct.ipx_info, ptr %186, i32 0, i32 2
  %188 = load i32, ptr %187, align 8, !tbaa !17
  %189 = icmp eq i32 %188, 3
  %190 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #3
  store i1 true, ptr %35, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #3
  store i1 true, ptr %36, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %33, ptr noundef @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %34)
          to label %191 unwind label %436

191:                                              ; preds = %185
  store i1 true, ptr %37, align 1
  %192 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %189, ptr noundef nonnull align 8 dereferenceable(1020) %190, ptr noundef %33, i32 noundef -1)
          to label %193 unwind label %440

193:                                              ; preds = %191
  br label %194

194:                                              ; preds = %193, %182
  %195 = phi i1 [ true, %182 ], [ %192, %193 ]
  %196 = zext i1 %195 to i8
  store i8 %196, ptr %5, align 1, !tbaa !9
  %197 = load i1, ptr %37, align 1
  br i1 %197, label %198, label %199

198:                                              ; preds = %194
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #3
  br label %199

199:                                              ; preds = %198, %194
  %200 = load i1, ptr %36, align 1
  br i1 %200, label %201, label %202

201:                                              ; preds = %199
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #3
  br label %202

202:                                              ; preds = %201, %199
  %203 = load i1, ptr %35, align 1
  br i1 %203, label %204, label %205

204:                                              ; preds = %202
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #3
  br label %205

205:                                              ; preds = %204, %202
  %206 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %207 = trunc i8 %206 to i1
  store i1 false, ptr %40, align 1
  store i1 false, ptr %41, align 1
  store i1 false, ptr %42, align 1
  br i1 %207, label %217, label %208

208:                                              ; preds = %205
  %209 = load ptr, ptr %3, align 8, !tbaa !5
  %210 = getelementptr inbounds %struct.ipx_info, ptr %209, i32 0, i32 2
  %211 = load i32, ptr %210, align 8, !tbaa !17
  %212 = icmp eq i32 %211, 4
  %213 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #3
  store i1 true, ptr %40, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  store i1 true, ptr %41, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %38, ptr noundef @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %39)
          to label %214 unwind label %454

214:                                              ; preds = %208
  store i1 true, ptr %42, align 1
  %215 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %212, ptr noundef nonnull align 8 dereferenceable(1020) %213, ptr noundef %38, i32 noundef -1)
          to label %216 unwind label %458

216:                                              ; preds = %214
  br label %217

217:                                              ; preds = %216, %205
  %218 = phi i1 [ true, %205 ], [ %215, %216 ]
  %219 = zext i1 %218 to i8
  store i8 %219, ptr %5, align 1, !tbaa !9
  %220 = load i1, ptr %42, align 1
  br i1 %220, label %221, label %222

221:                                              ; preds = %217
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #3
  br label %222

222:                                              ; preds = %221, %217
  %223 = load i1, ptr %41, align 1
  br i1 %223, label %224, label %225

224:                                              ; preds = %222
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  br label %225

225:                                              ; preds = %224, %222
  %226 = load i1, ptr %40, align 1
  br i1 %226, label %227, label %228

227:                                              ; preds = %225
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #3
  br label %228

228:                                              ; preds = %227, %225
  %229 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %230 = trunc i8 %229 to i1
  store i1 false, ptr %45, align 1
  store i1 false, ptr %46, align 1
  store i1 false, ptr %47, align 1
  br i1 %230, label %240, label %231

231:                                              ; preds = %228
  %232 = load ptr, ptr %3, align 8, !tbaa !5
  %233 = getelementptr inbounds %struct.ipx_info, ptr %232, i32 0, i32 2
  %234 = load i32, ptr %233, align 8, !tbaa !17
  %235 = icmp eq i32 %234, 6
  %236 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %44) #3
  store i1 true, ptr %45, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #3
  store i1 true, ptr %46, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef @.str.100, ptr noundef nonnull align 1 dereferenceable(1) %44)
          to label %237 unwind label %472

237:                                              ; preds = %231
  store i1 true, ptr %47, align 1
  %238 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %235, ptr noundef nonnull align 8 dereferenceable(1020) %236, ptr noundef %43, i32 noundef -1)
          to label %239 unwind label %476

239:                                              ; preds = %237
  br label %240

240:                                              ; preds = %239, %228
  %241 = phi i1 [ true, %228 ], [ %238, %239 ]
  %242 = zext i1 %241 to i8
  store i8 %242, ptr %5, align 1, !tbaa !9
  %243 = load i1, ptr %47, align 1
  br i1 %243, label %244, label %245

244:                                              ; preds = %240
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #3
  br label %245

245:                                              ; preds = %244, %240
  %246 = load i1, ptr %46, align 1
  br i1 %246, label %247, label %248

247:                                              ; preds = %245
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #3
  br label %248

248:                                              ; preds = %247, %245
  %249 = load i1, ptr %45, align 1
  br i1 %249, label %250, label %251

250:                                              ; preds = %248
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #3
  br label %251

251:                                              ; preds = %250, %248
  %252 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %253 = trunc i8 %252 to i1
  store i1 false, ptr %50, align 1
  store i1 false, ptr %51, align 1
  store i1 false, ptr %52, align 1
  br i1 %253, label %263, label %254

254:                                              ; preds = %251
  %255 = load ptr, ptr %3, align 8, !tbaa !5
  %256 = getelementptr inbounds %struct.ipx_info, ptr %255, i32 0, i32 2
  %257 = load i32, ptr %256, align 8, !tbaa !17
  %258 = icmp eq i32 %257, 7
  %259 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %49) #3
  store i1 true, ptr %50, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #3
  store i1 true, ptr %51, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %48, ptr noundef @.str.101, ptr noundef nonnull align 1 dereferenceable(1) %49)
          to label %260 unwind label %490

260:                                              ; preds = %254
  store i1 true, ptr %52, align 1
  %261 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %258, ptr noundef nonnull align 8 dereferenceable(1020) %259, ptr noundef %48, i32 noundef -1)
          to label %262 unwind label %494

262:                                              ; preds = %260
  br label %263

263:                                              ; preds = %262, %251
  %264 = phi i1 [ true, %251 ], [ %261, %262 ]
  %265 = zext i1 %264 to i8
  store i8 %265, ptr %5, align 1, !tbaa !9
  %266 = load i1, ptr %52, align 1
  br i1 %266, label %267, label %268

267:                                              ; preds = %263
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #3
  br label %268

268:                                              ; preds = %267, %263
  %269 = load i1, ptr %51, align 1
  br i1 %269, label %270, label %271

270:                                              ; preds = %268
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #3
  br label %271

271:                                              ; preds = %270, %268
  %272 = load i1, ptr %50, align 1
  br i1 %272, label %273, label %274

273:                                              ; preds = %271
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #3
  br label %274

274:                                              ; preds = %273, %271
  %275 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %276 = trunc i8 %275 to i1
  store i1 false, ptr %55, align 1
  store i1 false, ptr %56, align 1
  store i1 false, ptr %57, align 1
  br i1 %276, label %286, label %277

277:                                              ; preds = %274
  %278 = load ptr, ptr %3, align 8, !tbaa !5
  %279 = getelementptr inbounds %struct.ipx_info, ptr %278, i32 0, i32 2
  %280 = load i32, ptr %279, align 8, !tbaa !17
  %281 = icmp eq i32 %280, 8
  %282 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #3
  store i1 true, ptr %55, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  store i1 true, ptr %56, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %53, ptr noundef @.str.102, ptr noundef nonnull align 1 dereferenceable(1) %54)
          to label %283 unwind label %508

283:                                              ; preds = %277
  store i1 true, ptr %57, align 1
  %284 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %281, ptr noundef nonnull align 8 dereferenceable(1020) %282, ptr noundef %53, i32 noundef -1)
          to label %285 unwind label %512

285:                                              ; preds = %283
  br label %286

286:                                              ; preds = %285, %274
  %287 = phi i1 [ true, %274 ], [ %284, %285 ]
  %288 = zext i1 %287 to i8
  store i8 %288, ptr %5, align 1, !tbaa !9
  %289 = load i1, ptr %57, align 1
  br i1 %289, label %290, label %291

290:                                              ; preds = %286
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #3
  br label %291

291:                                              ; preds = %290, %286
  %292 = load i1, ptr %56, align 1
  br i1 %292, label %293, label %294

293:                                              ; preds = %291
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  br label %294

294:                                              ; preds = %293, %291
  %295 = load i1, ptr %55, align 1
  br i1 %295, label %296, label %297

296:                                              ; preds = %294
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #3
  br label %297

297:                                              ; preds = %296, %294
  %298 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %299 = trunc i8 %298 to i1
  store i1 false, ptr %60, align 1
  store i1 false, ptr %61, align 1
  store i1 false, ptr %62, align 1
  br i1 %299, label %309, label %300

300:                                              ; preds = %297
  %301 = load ptr, ptr %3, align 8, !tbaa !5
  %302 = getelementptr inbounds %struct.ipx_info, ptr %301, i32 0, i32 2
  %303 = load i32, ptr %302, align 8, !tbaa !17
  %304 = icmp eq i32 %303, 9
  %305 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #3
  store i1 true, ptr %60, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #3
  store i1 true, ptr %61, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef @.str.103, ptr noundef nonnull align 1 dereferenceable(1) %59)
          to label %306 unwind label %526

306:                                              ; preds = %300
  store i1 true, ptr %62, align 1
  %307 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %304, ptr noundef nonnull align 8 dereferenceable(1020) %305, ptr noundef %58, i32 noundef -1)
          to label %308 unwind label %530

308:                                              ; preds = %306
  br label %309

309:                                              ; preds = %308, %297
  %310 = phi i1 [ true, %297 ], [ %307, %308 ]
  %311 = zext i1 %310 to i8
  store i8 %311, ptr %5, align 1, !tbaa !9
  %312 = load i1, ptr %62, align 1
  br i1 %312, label %313, label %314

313:                                              ; preds = %309
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #3
  br label %314

314:                                              ; preds = %313, %309
  %315 = load i1, ptr %61, align 1
  br i1 %315, label %316, label %317

316:                                              ; preds = %314
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #3
  br label %317

317:                                              ; preds = %316, %314
  %318 = load i1, ptr %60, align 1
  br i1 %318, label %319, label %320

319:                                              ; preds = %317
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #3
  br label %320

320:                                              ; preds = %319, %317
  %321 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %322 = trunc i8 %321 to i1
  store i1 false, ptr %65, align 1
  store i1 false, ptr %66, align 1
  store i1 false, ptr %67, align 1
  br i1 %322, label %332, label %323

323:                                              ; preds = %320
  %324 = load ptr, ptr %3, align 8, !tbaa !5
  %325 = getelementptr inbounds %struct.ipx_info, ptr %324, i32 0, i32 2
  %326 = load i32, ptr %325, align 8, !tbaa !17
  %327 = icmp eq i32 %326, 10
  %328 = load ptr, ptr %4, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #3
  store i1 true, ptr %65, align 1
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #3
  store i1 true, ptr %66, align 1
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %63, ptr noundef @.str.104, ptr noundef nonnull align 1 dereferenceable(1) %64)
          to label %329 unwind label %544

329:                                              ; preds = %323
  store i1 true, ptr %67, align 1
  %330 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %327, ptr noundef nonnull align 8 dereferenceable(1020) %328, ptr noundef %63, i32 noundef -1)
          to label %331 unwind label %548

331:                                              ; preds = %329
  br label %332

332:                                              ; preds = %331, %320
  %333 = phi i1 [ true, %320 ], [ %330, %331 ]
  %334 = zext i1 %333 to i8
  store i8 %334, ptr %5, align 1, !tbaa !9
  %335 = load i1, ptr %67, align 1
  br i1 %335, label %336, label %337

336:                                              ; preds = %332
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #3
  br label %337

337:                                              ; preds = %336, %332
  %338 = load i1, ptr %66, align 1
  br i1 %338, label %339, label %340

339:                                              ; preds = %337
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #3
  br label %340

340:                                              ; preds = %339, %337
  %341 = load i1, ptr %65, align 1
  br i1 %341, label %342, label %343

342:                                              ; preds = %340
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #3
  br label %343

343:                                              ; preds = %342, %340
  %344 = load i8, ptr %5, align 1, !tbaa !9, !range !11, !noundef !12
  %345 = trunc i8 %344 to i1
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #3
  ret i1 %345

346:                                              ; preds = %70
  %347 = landingpad { ptr, i32 }
          cleanup
  %348 = extractvalue { ptr, i32 } %347, 0
  store ptr %348, ptr %10, align 8
  %349 = extractvalue { ptr, i32 } %347, 1
  store i32 %349, ptr %11, align 4
  br label %357

350:                                              ; preds = %76
  %351 = landingpad { ptr, i32 }
          cleanup
  %352 = extractvalue { ptr, i32 } %351, 0
  store ptr %352, ptr %10, align 8
  %353 = extractvalue { ptr, i32 } %351, 1
  store i32 %353, ptr %11, align 4
  %354 = load i1, ptr %12, align 1
  br i1 %354, label %355, label %356

355:                                              ; preds = %350
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #3
  br label %356

356:                                              ; preds = %355, %350
  br label %357

357:                                              ; preds = %356, %346
  %358 = load i1, ptr %9, align 1
  br i1 %358, label %359, label %360

359:                                              ; preds = %357
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %7) #3
  br label %360

360:                                              ; preds = %359, %357
  %361 = load i1, ptr %8, align 1
  br i1 %361, label %362, label %363

362:                                              ; preds = %360
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #3
  br label %363

363:                                              ; preds = %362, %360
  br label %562

364:                                              ; preds = %93
  %365 = landingpad { ptr, i32 }
          cleanup
  %366 = extractvalue { ptr, i32 } %365, 0
  store ptr %366, ptr %10, align 8
  %367 = extractvalue { ptr, i32 } %365, 1
  store i32 %367, ptr %11, align 4
  br label %375

368:                                              ; preds = %99
  %369 = landingpad { ptr, i32 }
          cleanup
  %370 = extractvalue { ptr, i32 } %369, 0
  store ptr %370, ptr %10, align 8
  %371 = extractvalue { ptr, i32 } %369, 1
  store i32 %371, ptr %11, align 4
  %372 = load i1, ptr %17, align 1
  br i1 %372, label %373, label %374

373:                                              ; preds = %368
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #3
  br label %374

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

375:                                              ; preds = %374, %364
  %376 = load i1, ptr %16, align 1
  br i1 %376, label %377, label %378

377:                                              ; preds = %375
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  br label %378

378:                                              ; preds = %377, %375
  %379 = load i1, ptr %15, align 1
  br i1 %379, label %380, label %381

380:                                              ; preds = %378
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #3
  br label %381

381:                                              ; preds = %380, %378
  br label %562

382:                                              ; preds = %116
  %383 = landingpad { ptr, i32 }
          cleanup
  %384 = extractvalue { ptr, i32 } %383, 0
  store ptr %384, ptr %10, align 8
  %385 = extractvalue { ptr, i32 } %383, 1
  store i32 %385, ptr %11, align 4
  br label %393

386:                                              ; preds = %122
  %387 = landingpad { ptr, i32 }
          cleanup
  %388 = extractvalue { ptr, i32 } %387, 0
  store ptr %388, ptr %10, align 8
  %389 = extractvalue { ptr, i32 } %387, 1
  store i32 %389, ptr %11, align 4
  %390 = load i1, ptr %22, align 1
  br i1 %390, label %391, label %392

391:                                              ; preds = %386
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %18) #3
  br label %392

392:                                              ; preds = %391, %386
  br label %393

393:                                              ; preds = %392, %382
  %394 = load i1, ptr %21, align 1
  br i1 %394, label %395, label %396

395:                                              ; preds = %393
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %19) #3
  br label %396

396:                                              ; preds = %395, %393
  %397 = load i1, ptr %20, align 1
  br i1 %397, label %398, label %399

398:                                              ; preds = %396
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #3
  br label %399

399:                                              ; preds = %398, %396
  br label %562

400:                                              ; preds = %139
  %401 = landingpad { ptr, i32 }
          cleanup
  %402 = extractvalue { ptr, i32 } %401, 0
  store ptr %402, ptr %10, align 8
  %403 = extractvalue { ptr, i32 } %401, 1
  store i32 %403, ptr %11, align 4
  br label %411

404:                                              ; preds = %145
  %405 = landingpad { ptr, i32 }
          cleanup
  %406 = extractvalue { ptr, i32 } %405, 0
  store ptr %406, ptr %10, align 8
  %407 = extractvalue { ptr, i32 } %405, 1
  store i32 %407, ptr %11, align 4
  %408 = load i1, ptr %27, align 1
  br i1 %408, label %409, label %410

409:                                              ; preds = %404
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #3
  br label %410

410:                                              ; preds = %409, %404
  br label %411

411:                                              ; preds = %410, %400
  %412 = load i1, ptr %26, align 1
  br i1 %412, label %413, label %414

413:                                              ; preds = %411
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  br label %414

414:                                              ; preds = %413, %411
  %415 = load i1, ptr %25, align 1
  br i1 %415, label %416, label %417

416:                                              ; preds = %414
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #3
  br label %417

417:                                              ; preds = %416, %414
  br label %562

418:                                              ; preds = %162
  %419 = landingpad { ptr, i32 }
          cleanup
  %420 = extractvalue { ptr, i32 } %419, 0
  store ptr %420, ptr %10, align 8
  %421 = extractvalue { ptr, i32 } %419, 1
  store i32 %421, ptr %11, align 4
  br label %429

422:                                              ; preds = %168
  %423 = landingpad { ptr, i32 }
          cleanup
  %424 = extractvalue { ptr, i32 } %423, 0
  store ptr %424, ptr %10, align 8
  %425 = extractvalue { ptr, i32 } %423, 1
  store i32 %425, ptr %11, align 4
  %426 = load i1, ptr %32, align 1
  br i1 %426, label %427, label %428

427:                                              ; preds = %422
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %28) #3
  br label %428

428:                                              ; preds = %427, %422
  br label %429

429:                                              ; preds = %428, %418
  %430 = load i1, ptr %31, align 1
  br i1 %430, label %431, label %432

431:                                              ; preds = %429
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %29) #3
  br label %432

432:                                              ; preds = %431, %429
  %433 = load i1, ptr %30, align 1
  br i1 %433, label %434, label %435

434:                                              ; preds = %432
  call void @llvm.lifetime.end.p0(i64 1, ptr %29) #3
  br label %435

435:                                              ; preds = %434, %432
  br label %562

436:                                              ; preds = %185
  %437 = landingpad { ptr, i32 }
          cleanup
  %438 = extractvalue { ptr, i32 } %437, 0
  store ptr %438, ptr %10, align 8
  %439 = extractvalue { ptr, i32 } %437, 1
  store i32 %439, ptr %11, align 4
  br label %447

440:                                              ; preds = %191
  %441 = landingpad { ptr, i32 }
          cleanup
  %442 = extractvalue { ptr, i32 } %441, 0
  store ptr %442, ptr %10, align 8
  %443 = extractvalue { ptr, i32 } %441, 1
  store i32 %443, ptr %11, align 4
  %444 = load i1, ptr %37, align 1
  br i1 %444, label %445, label %446

445:                                              ; preds = %440
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #3
  br label %446

446:                                              ; preds = %445, %440
  br label %447

447:                                              ; preds = %446, %436
  %448 = load i1, ptr %36, align 1
  br i1 %448, label %449, label %450

449:                                              ; preds = %447
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %34) #3
  br label %450

450:                                              ; preds = %449, %447
  %451 = load i1, ptr %35, align 1
  br i1 %451, label %452, label %453

452:                                              ; preds = %450
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #3
  br label %453

453:                                              ; preds = %452, %450
  br label %562

454:                                              ; preds = %208
  %455 = landingpad { ptr, i32 }
          cleanup
  %456 = extractvalue { ptr, i32 } %455, 0
  store ptr %456, ptr %10, align 8
  %457 = extractvalue { ptr, i32 } %455, 1
  store i32 %457, ptr %11, align 4
  br label %465

458:                                              ; preds = %214
  %459 = landingpad { ptr, i32 }
          cleanup
  %460 = extractvalue { ptr, i32 } %459, 0
  store ptr %460, ptr %10, align 8
  %461 = extractvalue { ptr, i32 } %459, 1
  store i32 %461, ptr %11, align 4
  %462 = load i1, ptr %42, align 1
  br i1 %462, label %463, label %464

463:                                              ; preds = %458
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #3
  br label %464

464:                                              ; preds = %463, %458
  br label %465

465:                                              ; preds = %464, %454
  %466 = load i1, ptr %41, align 1
  br i1 %466, label %467, label %468

467:                                              ; preds = %465
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %39) #3
  br label %468

468:                                              ; preds = %467, %465
  %469 = load i1, ptr %40, align 1
  br i1 %469, label %470, label %471

470:                                              ; preds = %468
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #3
  br label %471

471:                                              ; preds = %470, %468
  br label %562

472:                                              ; preds = %231
  %473 = landingpad { ptr, i32 }
          cleanup
  %474 = extractvalue { ptr, i32 } %473, 0
  store ptr %474, ptr %10, align 8
  %475 = extractvalue { ptr, i32 } %473, 1
  store i32 %475, ptr %11, align 4
  br label %483

476:                                              ; preds = %237
  %477 = landingpad { ptr, i32 }
          cleanup
  %478 = extractvalue { ptr, i32 } %477, 0
  store ptr %478, ptr %10, align 8
  %479 = extractvalue { ptr, i32 } %477, 1
  store i32 %479, ptr %11, align 4
  %480 = load i1, ptr %47, align 1
  br i1 %480, label %481, label %482

481:                                              ; preds = %476
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #3
  br label %482

482:                                              ; preds = %481, %476
  br label %483

483:                                              ; preds = %482, %472
  %484 = load i1, ptr %46, align 1
  br i1 %484, label %485, label %486

485:                                              ; preds = %483
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %44) #3
  br label %486

486:                                              ; preds = %485, %483
  %487 = load i1, ptr %45, align 1
  br i1 %487, label %488, label %489

488:                                              ; preds = %486
  call void @llvm.lifetime.end.p0(i64 1, ptr %44) #3
  br label %489

489:                                              ; preds = %488, %486
  br label %562

490:                                              ; preds = %254
  %491 = landingpad { ptr, i32 }
          cleanup
  %492 = extractvalue { ptr, i32 } %491, 0
  store ptr %492, ptr %10, align 8
  %493 = extractvalue { ptr, i32 } %491, 1
  store i32 %493, ptr %11, align 4
  br label %501

494:                                              ; preds = %260
  %495 = landingpad { ptr, i32 }
          cleanup
  %496 = extractvalue { ptr, i32 } %495, 0
  store ptr %496, ptr %10, align 8
  %497 = extractvalue { ptr, i32 } %495, 1
  store i32 %497, ptr %11, align 4
  %498 = load i1, ptr %52, align 1
  br i1 %498, label %499, label %500

499:                                              ; preds = %494
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %48) #3
  br label %500

500:                                              ; preds = %499, %494
  br label %501

501:                                              ; preds = %500, %490
  %502 = load i1, ptr %51, align 1
  br i1 %502, label %503, label %504

503:                                              ; preds = %501
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %49) #3
  br label %504

504:                                              ; preds = %503, %501
  %505 = load i1, ptr %50, align 1
  br i1 %505, label %506, label %507

506:                                              ; preds = %504
  call void @llvm.lifetime.end.p0(i64 1, ptr %49) #3
  br label %507

507:                                              ; preds = %506, %504
  br label %562

508:                                              ; preds = %277
  %509 = landingpad { ptr, i32 }
          cleanup
  %510 = extractvalue { ptr, i32 } %509, 0
  store ptr %510, ptr %10, align 8
  %511 = extractvalue { ptr, i32 } %509, 1
  store i32 %511, ptr %11, align 4
  br label %519

512:                                              ; preds = %283
  %513 = landingpad { ptr, i32 }
          cleanup
  %514 = extractvalue { ptr, i32 } %513, 0
  store ptr %514, ptr %10, align 8
  %515 = extractvalue { ptr, i32 } %513, 1
  store i32 %515, ptr %11, align 4
  %516 = load i1, ptr %57, align 1
  br i1 %516, label %517, label %518

517:                                              ; preds = %512
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %53) #3
  br label %518

518:                                              ; preds = %517, %512
  br label %519

519:                                              ; preds = %518, %508
  %520 = load i1, ptr %56, align 1
  br i1 %520, label %521, label %522

521:                                              ; preds = %519
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %54) #3
  br label %522

522:                                              ; preds = %521, %519
  %523 = load i1, ptr %55, align 1
  br i1 %523, label %524, label %525

524:                                              ; preds = %522
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #3
  br label %525

525:                                              ; preds = %524, %522
  br label %562

526:                                              ; preds = %300
  %527 = landingpad { ptr, i32 }
          cleanup
  %528 = extractvalue { ptr, i32 } %527, 0
  store ptr %528, ptr %10, align 8
  %529 = extractvalue { ptr, i32 } %527, 1
  store i32 %529, ptr %11, align 4
  br label %537

530:                                              ; preds = %306
  %531 = landingpad { ptr, i32 }
          cleanup
  %532 = extractvalue { ptr, i32 } %531, 0
  store ptr %532, ptr %10, align 8
  %533 = extractvalue { ptr, i32 } %531, 1
  store i32 %533, ptr %11, align 4
  %534 = load i1, ptr %62, align 1
  br i1 %534, label %535, label %536

535:                                              ; preds = %530
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #3
  br label %536

536:                                              ; preds = %535, %530
  br label %537

537:                                              ; preds = %536, %526
  %538 = load i1, ptr %61, align 1
  br i1 %538, label %539, label %540

539:                                              ; preds = %537
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %59) #3
  br label %540

540:                                              ; preds = %539, %537
  %541 = load i1, ptr %60, align 1
  br i1 %541, label %542, label %543

542:                                              ; preds = %540
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #3
  br label %543

543:                                              ; preds = %542, %540
  br label %562

544:                                              ; preds = %323
  %545 = landingpad { ptr, i32 }
          cleanup
  %546 = extractvalue { ptr, i32 } %545, 0
  store ptr %546, ptr %10, align 8
  %547 = extractvalue { ptr, i32 } %545, 1
  store i32 %547, ptr %11, align 4
  br label %555

548:                                              ; preds = %329
  %549 = landingpad { ptr, i32 }
          cleanup
  %550 = extractvalue { ptr, i32 } %549, 0
  store ptr %550, ptr %10, align 8
  %551 = extractvalue { ptr, i32 } %549, 1
  store i32 %551, ptr %11, align 4
  %552 = load i1, ptr %67, align 1
  br i1 %552, label %553, label %554

553:                                              ; preds = %548
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %63) #3
  br label %554

554:                                              ; preds = %553, %548
  br label %555

555:                                              ; preds = %554, %544
  %556 = load i1, ptr %66, align 1
  br i1 %556, label %557, label %558

557:                                              ; preds = %555
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %64) #3
  br label %558

558:                                              ; preds = %557, %555
  %559 = load i1, ptr %65, align 1
  br i1 %559, label %560, label %561

560:                                              ; preds = %558
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #3
  br label %561

561:                                              ; preds = %560, %558
  br label %562

562:                                              ; preds = %561, %543, %525, %507, %489, %471, %453, %435, %417, %399, %381, %363
  call void @llvm.lifetime.end.p0(i64 1, ptr %5) #3
  br label %563

563:                                              ; preds = %562
  %564 = load ptr, ptr %10, align 8
  %565 = load i32, ptr %11, align 4
  %566 = insertvalue { ptr, i32 } poison, ptr %564, 0
  %567 = insertvalue { ptr, i32 } %566, i32 %565, 1
  resume { ptr, i32 } %567
}

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

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { 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 = !{i8 0, i8 2}
!12 = !{}
!13 = !{!14, !15, i64 4}
!14 = !{!"_ZTS8ipx_info", !15, i64 0, !15, i64 4, !15, i64 8, !15, i64 12, !15, i64 16, !15, i64 20, !15, i64 24, !15, i64 28, !15, i64 32, !15, i64 36, !15, i64 40, !15, i64 44, !15, i64 48, !15, i64 52, !15, i64 56, !15, i64 60, !15, i64 64, !15, i64 68, !15, i64 72, !15, i64 76, !16, i64 80, !16, i64 88, !16, i64 96, !16, i64 104, !16, i64 112, !16, i64 120, !16, i64 128, !16, i64 136, !16, i64 144, !16, i64 152, !16, i64 160, !16, i64 168, !16, i64 176, !16, i64 184, !15, i64 192, !15, i64 196, !15, i64 200, !15, i64 204, !15, i64 208, !15, i64 212, !15, i64 216, !16, i64 224, !16, i64 232, !16, i64 240, !16, i64 248, !16, i64 256, !16, i64 264, !16, i64 272, !16, i64 280, !16, i64 288, !16, i64 296, !16, i64 304, !16, i64 312, !16, i64 320, !16, i64 328, !16, i64 336, !16, i64 344, !16, i64 352, !16, i64 360, !16, i64 368, !16, i64 376, !16, i64 384, !16, i64 392, !16, i64 400, !16, i64 408, !15, i64 416, !15, i64 420, !15, i64 424, !15, i64 428, !16, i64 432, !16, i64 440, !16, i64 448, !16, i64 456}
!15 = !{!"int", !7, i64 0}
!16 = !{!"double", !7, i64 0}
!17 = !{!14, !15, i64 8}


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

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

@.str.93 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [56 x i8], align 1

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

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

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

declare i32 @__gxx_personality_v0(...)

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

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

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

; Function Attrs: mustprogress uwtable
define dso_local noundef zeroext i1 @_Z22illegalIpxSolvedStatusRKN3ipx4InfoERK12HighsOptions(ptr nocapture noundef nonnull readonly align 8 dereferenceable(464) %0, ptr noundef nonnull align 8 dereferenceable(1020) %1) local_unnamed_addr #2 personality ptr @__gxx_personality_v0 {
  %3 = alloca %"class.std::__cxx11::basic_string", align 8
  %4 = alloca %"class.std::allocator", align 1
  %5 = alloca %"class.std::__cxx11::basic_string", align 8
  %6 = alloca %"class.std::allocator", align 1
  %7 = alloca %"class.std::__cxx11::basic_string", align 8
  %8 = alloca %"class.std::allocator", align 1
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::allocator", align 1
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::allocator", align 1
  %15 = alloca %"class.std::__cxx11::basic_string", align 8
  %16 = alloca %"class.std::allocator", align 1
  %17 = alloca %"class.std::__cxx11::basic_string", align 8
  %18 = alloca %"class.std::allocator", align 1
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %"class.std::allocator", align 1
  %23 = alloca %"class.std::__cxx11::basic_string", align 8
  %24 = alloca %"class.std::allocator", align 1
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::allocator", align 1
  %27 = getelementptr inbounds i8, ptr %0, i64 4
  %28 = load i32, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %3, ptr noundef nonnull @.str.93, ptr noundef nonnull align 1 dereferenceable(1) %4)
          to label %29 unwind label %90

29:                                               ; preds = %2
  %30 = icmp eq i32 %28, 6
  %31 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %30, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %3, i32 noundef -1)
          to label %32 unwind label %92

32:                                               ; preds = %29
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  br i1 %31, label %.critedge213, label %33

33:                                               ; preds = %32
  %34 = load i32, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %5, ptr noundef nonnull @.str.94, ptr noundef nonnull align 1 dereferenceable(1) %6)
          to label %35 unwind label %95

35:                                               ; preds = %33
  %36 = icmp eq i32 %34, 7
  %37 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %36, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %5, i32 noundef -1)
          to label %.critedge183 unwind label %97

.critedge183:                                     ; preds = %35
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  br i1 %37, label %.critedge213, label %38

38:                                               ; preds = %.critedge183
  %39 = load i32, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %8) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %7, ptr noundef nonnull @.str.95, ptr noundef nonnull align 1 dereferenceable(1) %8)
          to label %40 unwind label %100

40:                                               ; preds = %38
  %41 = icmp eq i32 %39, 8
  %42 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %41, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %7, i32 noundef -1)
          to label %.critedge186 unwind label %102

.critedge186:                                     ; preds = %40
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #3
  br i1 %42, label %.critedge213, label %43

43:                                               ; preds = %.critedge186
  %44 = load i32, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %10) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %9, ptr noundef nonnull @.str.96, ptr noundef nonnull align 1 dereferenceable(1) %10)
          to label %45 unwind label %105

45:                                               ; preds = %43
  %46 = icmp eq i32 %44, 9
  %47 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %46, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %9, i32 noundef -1)
          to label %.critedge189 unwind label %107

.critedge189:                                     ; preds = %45
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #3
  br i1 %47, label %.critedge213, label %48

48:                                               ; preds = %.critedge189
  %49 = load i32, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef nonnull @.str.97, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %50 unwind label %110

50:                                               ; preds = %48
  %51 = icmp eq i32 %49, 10
  %52 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %51, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %11, i32 noundef -1)
          to label %.critedge192 unwind label %112

.critedge192:                                     ; preds = %50
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #3
  br i1 %52, label %.critedge213, label %53

53:                                               ; preds = %.critedge192
  %54 = getelementptr inbounds i8, ptr %0, i64 8
  %55 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %13, ptr noundef nonnull @.str.98, ptr noundef nonnull align 1 dereferenceable(1) %14)
          to label %56 unwind label %115

56:                                               ; preds = %53
  %57 = icmp eq i32 %55, 3
  %58 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %57, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %13, i32 noundef -1)
          to label %.critedge195 unwind label %117

.critedge195:                                     ; preds = %56
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #3
  br i1 %58, label %.critedge213, label %59

59:                                               ; preds = %.critedge195
  %60 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull @.str.99, ptr noundef nonnull align 1 dereferenceable(1) %16)
          to label %61 unwind label %120

61:                                               ; preds = %59
  %62 = icmp eq i32 %60, 4
  %63 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %62, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %15, i32 noundef -1)
          to label %.critedge198 unwind label %122

.critedge198:                                     ; preds = %61
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #3
  br i1 %63, label %.critedge213, label %64

64:                                               ; preds = %.critedge198
  %65 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull @.str.100, ptr noundef nonnull align 1 dereferenceable(1) %18)
          to label %66 unwind label %125

66:                                               ; preds = %64
  %67 = icmp eq i32 %65, 6
  %68 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %67, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %17, i32 noundef -1)
          to label %.critedge201 unwind label %127

.critedge201:                                     ; preds = %66
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #3
  br i1 %68, label %.critedge213, label %69

69:                                               ; preds = %.critedge201
  %70 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.101, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %71 unwind label %130

71:                                               ; preds = %69
  %72 = icmp eq i32 %70, 7
  %73 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %72, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %19, i32 noundef -1)
          to label %.critedge204 unwind label %132

.critedge204:                                     ; preds = %71
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #3
  br i1 %73, label %.critedge213, label %74

74:                                               ; preds = %.critedge204
  %75 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %22) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %21, ptr noundef nonnull @.str.102, ptr noundef nonnull align 1 dereferenceable(1) %22)
          to label %76 unwind label %135

76:                                               ; preds = %74
  %77 = icmp eq i32 %75, 8
  %78 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %77, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %21, i32 noundef -1)
          to label %.critedge207 unwind label %137

.critedge207:                                     ; preds = %76
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #3
  br i1 %78, label %.critedge213, label %79

79:                                               ; preds = %.critedge207
  %80 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %24) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %23, ptr noundef nonnull @.str.103, ptr noundef nonnull align 1 dereferenceable(1) %24)
          to label %81 unwind label %140

81:                                               ; preds = %79
  %82 = icmp eq i32 %80, 9
  %83 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %82, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %23, i32 noundef -1)
          to label %.critedge210 unwind label %142

.critedge210:                                     ; preds = %81
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #3
  br i1 %83, label %.critedge213, label %84

84:                                               ; preds = %.critedge210
  %85 = load i32, ptr %54, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #3
  call void @_ZNSaIcEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #3
  invoke void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2IS3_EEPKcRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %25, ptr noundef nonnull @.str.104, ptr noundef nonnull align 1 dereferenceable(1) %26)
          to label %86 unwind label %145

86:                                               ; preds = %84
  %87 = icmp eq i32 %85, 10
  %88 = invoke noundef zeroext i1 @_Z14ipxStatusErrorbRK12HighsOptionsNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi(i1 noundef zeroext %87, ptr noundef nonnull align 8 dereferenceable(1020) %1, ptr noundef nonnull %25, i32 noundef -1)
          to label %.critedge212 unwind label %147

.critedge212:                                     ; preds = %86
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #3
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #3
  br label %.critedge213

.critedge213:                                     ; preds = %.critedge207, %.critedge201, %.critedge195, %.critedge189, %.critedge183, %32, %.critedge186, %.critedge192, %.critedge198, %.critedge204, %.critedge210, %.critedge212
  %89 = phi i1 [ %88, %.critedge212 ], [ true, %.critedge210 ], [ true, %.critedge204 ], [ true, %.critedge198 ], [ true, %.critedge192 ], [ true, %.critedge186 ], [ true, %32 ], [ true, %.critedge183 ], [ true, %.critedge189 ], [ true, %.critedge195 ], [ true, %.critedge201 ], [ true, %.critedge207 ]
  ret i1 %89

90:                                               ; preds = %2
  %91 = landingpad { ptr, i32 }
          cleanup
  br label %94

92:                                               ; preds = %29
  %93 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %3) #3
  br label %94

94:                                               ; preds = %90, %92
  %.pn = phi { ptr, i32 } [ %93, %92 ], [ %91, %90 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %4) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  br label %150

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

97:                                               ; preds = %35
  %98 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %5) #3
  br label %99

99:                                               ; preds = %95, %97
  %.pn160 = phi { ptr, i32 } [ %98, %97 ], [ %96, %95 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %6) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  br label %150

100:                                              ; preds = %38
  %101 = landingpad { ptr, i32 }
          cleanup
  br label %104

102:                                              ; preds = %40
  %103 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %7) #3
  br label %104

104:                                              ; preds = %100, %102
  %.pn162 = phi { ptr, i32 } [ %103, %102 ], [ %101, %100 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %8) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %8) #3
  br label %150

105:                                              ; preds = %43
  %106 = landingpad { ptr, i32 }
          cleanup
  br label %109

107:                                              ; preds = %45
  %108 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #3
  br label %109

109:                                              ; preds = %105, %107
  %.pn164 = phi { ptr, i32 } [ %108, %107 ], [ %106, %105 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %10) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %10) #3
  br label %150

110:                                              ; preds = %48
  %111 = landingpad { ptr, i32 }
          cleanup
  br label %114

112:                                              ; preds = %50
  %113 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #3
  br label %114

114:                                              ; preds = %110, %112
  %.pn166 = phi { ptr, i32 } [ %113, %112 ], [ %111, %110 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #3
  br label %150

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

117:                                              ; preds = %56
  %118 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #3
  br label %119

119:                                              ; preds = %115, %117
  %.pn168 = phi { ptr, i32 } [ %118, %117 ], [ %116, %115 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %14) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #3
  br label %150

120:                                              ; preds = %59
  %121 = landingpad { ptr, i32 }
          cleanup
  br label %124

122:                                              ; preds = %61
  %123 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #3
  br label %124

124:                                              ; preds = %120, %122
  %.pn170 = phi { ptr, i32 } [ %123, %122 ], [ %121, %120 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %16) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #3
  br label %150

125:                                              ; preds = %64
  %126 = landingpad { ptr, i32 }
          cleanup
  br label %129

127:                                              ; preds = %66
  %128 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #3
  br label %129

129:                                              ; preds = %125, %127
  %.pn172 = phi { ptr, i32 } [ %128, %127 ], [ %126, %125 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %18) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #3
  br label %150

130:                                              ; preds = %69
  %131 = landingpad { ptr, i32 }
          cleanup
  br label %134

132:                                              ; preds = %71
  %133 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #3
  br label %134

134:                                              ; preds = %130, %132
  %.pn174 = phi { ptr, i32 } [ %133, %132 ], [ %131, %130 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #3
  br label %150

135:                                              ; preds = %74
  %136 = landingpad { ptr, i32 }
          cleanup
  br label %139

137:                                              ; preds = %76
  %138 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #3
  br label %139

139:                                              ; preds = %135, %137
  %.pn176 = phi { ptr, i32 } [ %138, %137 ], [ %136, %135 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %22) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %22) #3
  br label %150

140:                                              ; preds = %79
  %141 = landingpad { ptr, i32 }
          cleanup
  br label %144

142:                                              ; preds = %81
  %143 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %23) #3
  br label %144

144:                                              ; preds = %140, %142
  %.pn178 = phi { ptr, i32 } [ %143, %142 ], [ %141, %140 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %24) #3
  br label %150

145:                                              ; preds = %84
  %146 = landingpad { ptr, i32 }
          cleanup
  br label %149

147:                                              ; preds = %86
  %148 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #3
  br label %149

149:                                              ; preds = %145, %147
  %.pn180 = phi { ptr, i32 } [ %148, %147 ], [ %146, %145 ]
  call void @_ZNSt15__new_allocatorIcED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %26) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #3
  br label %150

150:                                              ; preds = %149, %144, %139, %134, %129, %124, %119, %114, %109, %104, %99, %94
  %.pn180.pn = phi { ptr, i32 } [ %.pn180, %149 ], [ %.pn178, %144 ], [ %.pn176, %139 ], [ %.pn174, %134 ], [ %.pn172, %129 ], [ %.pn170, %124 ], [ %.pn168, %119 ], [ %.pn166, %114 ], [ %.pn164, %109 ], [ %.pn162, %104 ], [ %.pn160, %99 ], [ %.pn, %94 ]
  resume { ptr, i32 } %.pn180.pn
}

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !7, i64 4}
!6 = !{!"_ZTS8ipx_info", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !7, i64 16, !7, i64 20, !7, i64 24, !7, i64 28, !7, i64 32, !7, i64 36, !7, i64 40, !7, i64 44, !7, i64 48, !7, i64 52, !7, i64 56, !7, i64 60, !7, i64 64, !7, i64 68, !7, i64 72, !7, i64 76, !10, i64 80, !10, i64 88, !10, i64 96, !10, i64 104, !10, i64 112, !10, i64 120, !10, i64 128, !10, i64 136, !10, i64 144, !10, i64 152, !10, i64 160, !10, i64 168, !10, i64 176, !10, i64 184, !7, i64 192, !7, i64 196, !7, i64 200, !7, i64 204, !7, i64 208, !7, i64 212, !7, i64 216, !10, i64 224, !10, i64 232, !10, i64 240, !10, i64 248, !10, i64 256, !10, i64 264, !10, i64 272, !10, i64 280, !10, i64 288, !10, i64 296, !10, i64 304, !10, i64 312, !10, i64 320, !10, i64 328, !10, i64 336, !10, i64 344, !10, i64 352, !10, i64 360, !10, i64 368, !10, i64 376, !10, i64 384, !10, i64 392, !10, i64 400, !10, i64 408, !7, i64 416, !7, i64 420, !7, i64 424, !7, i64 428, !10, i64 432, !10, i64 440, !10, i64 448, !10, i64 456}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"double", !8, i64 0}
!11 = !{!6, !7, i64 8}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass